App Switching on iOS
I'm confident that the hard-working people at Apple are already well aware of the current short-comings of the iPad Pro, more so than most of us I hope, and working diligently towards solving them in unexpected and delightful ways. Nevertheless, when something like the iPad Pro comes around, which is not often, there is an opportunity for those of us obsessed with personal computing and interface design in particular to look at some of the things we live with day in and day out with a fresh pair of eyes.
In the case of the iPad Pro, for it to become a viable day-to-day productivity device, one of the tasks it has to carry with particular elegance, is application switching.
Moving from application to application is inherent to how we interact with our computers. Most people who have used OS X for any length of time will eventually pick up on the use of Command-Tab, which soon becomes second nature, to the point where it is all but imperceptible to the user when they move from one application to another.
Some might also pick up on the use of OS X's search interface, Spotlight (Command-Space) and use that to switch from one application to another. On OS X is very fast and dependable. On iOS it is quite the opposite (transition speed is terrible, and search results offer no keyboard support), but never mind that for now.
Once the user has spent a couple of days with Command-Tab, the notion of "email" or "Twitter" enters their mind, and the application appears before them, muscle memory having taken care of the mechanical operation of switching from the current task to the new one without much, if any mental overhead.
A lot of different things have to come together to lay the ground work for application switching to be imperceptible in the user's mind:
- The UI has to appear instantly
- As always, user input should never fail to produce the desired result
- The applications must be easily identifiable
- Applications should appear in order of most recently used, so as to minimize travel time
- While the application switching UI is open, cancelling should be easy (e.g. pressing Escape)
Beyond these basic things, the task switching interface in OS X is actually deceptively sophisticated, but more on that in a minute. For now, it's worth pointing out how in Apple's suggested iPad Pro setup—being the iPad Pro with a Smart Keyboard—despite the app switcher looking identical to OS X, you cannot in fact use your lifetime muscle memory to cancelout (unless you've inexplicably trained yourself to use Command-Shift-Tab + release to do so).
This is because once you hold down Command and press Tab on the Smart Keyboard, the app switching UI will appear (the animation is too slow, as is ever the case on iOS) and the previously used app (the second from the left) will be focused. Normally if you wanted to cancel out, while still holding down Command, you would hit Escape. But the Smart Keyboard has no Escape key, so... what are your options? While still holding Command, can hit Shift-Tab or use the left arrow key (on OS X Command-` will do the same for you, but strangely not on iOS), which will move the focus back to the currently active app; after which you'll release Command, leaving you where you started.
That's a pretty bad experience for a number of reasons. Not only is the basic operation of app switching hindered by the lack of an easy way to cancel, but the muscle memory potentially brought over from the previous system is actually broken. If you decide to cancel out of app switching when you've already moved the focus well into the ten available apps in the app switcher, you have quite a lot of keystrokes to perform to return to your previous state. Furthermore, the Command-Shift-Tab shortcut is not particularly easy to hit with a single hand (and remember, Command-` doesn't do what you might expect it to do, which is a shame, since on the Smart Keyboard, the muscle memory attempt to hit Escape hits ` instead).
Looking at the OS X application switcher again, it's worth going over some of its other functionality, such as how you can use your mouse to select an application in the UI (on iOS tapping anywhere on the screen while in app switching mode, against all expectation, does absolutely nothing), files can be dropped on application icons (which is of course not really applicable on iOS, but worth mentioning), and using the H and Q keys applications can easily be hid or quit altogether (nevermind quitting apps on iOS, but hiding would quite useful on an application currently open in a split view on iOS, so as to go fullscreen; alas that also doesn't work as might be expected).
All of these things wouldn't be so bad if it wasn't for the fact that Apple went out of its way to design an app switcher which looks on the surface exactly like the one in OS X, despite the fact that iOS already has an app switching interface of its own!
One which has undergone several iterations and improvements throughout its life and is at the heart of efficient iOS operation already! More than that, it was designed for use with touch from the beginning, so you can interact with it like you would expect, and at least in my personal estimation it would actually do well with keyboard support (alas, it currently doesn't respond to keyboard input at all).
Again, I'm sure the smart people at Apple are all over this. But nevertheless, I think it speaks to the maturity of iOS in relation to OS X as a platform, especially in the light of Apple's push to make the iPad Pro a replacement for laptops. They too of course suffer from having only spent a limited amount of time with this new paradigm, but unless the Command-Tab switcher was thrown in at the last minute to appease switchers, or somehow overlooked — which I find hard to believe, unless the Pro's objective wasn't clear from the beginning, which I also find hard to believe — someone, somewhere neglected to think through a proper design spec for this feature.
Nevertheless, as it stands it is regrettably rather unrefined, and not mindful of what has come before in either world.
Update: John Gruber rightly pointed out on his podcast recently that another paradoxical thing about the two different app switchers in iOS, is that they go in opposite directions. The keyboard-triggered on has the current app on the left-hand side of the screen, with the previously used apps resceding to the right, whereas the touch-based switcher is opposite of that. Given the introduction of the status bar back arrow and the four-finger swipe for moving between applications, this actually makes sense, just not sitting next to the keyboard switcher.
Also, as a long-time OS X user, my habits keep triggering my desire to hit Command-Q on apps like Settings whenever I see them in the keyboard switcher, which is actually quite distracting.
Update: With iOS 10 the App Switcher's right-most icon is now always the springboard, making it easier to return home using the keyboard. Unfortunately it still isn't tappable.
Update, October 2017: With iOS 11, the app switching experience has been almost completely overhauled. I guess I should update this piece.
Update, November 2017: The iPhone X and its new gesture language once again upends this topic. I really should update this piece...