A few months ago, I have released a post in which I was highly critical of the approach to multitasking adopted by iOS 4, and later copied by bada 1 and Windows Phone 7. Said approach is basically to turn off or swap out background tasks as a default and not allow them to run from there. Exceptions exist for very specific use cases, where Apple just had to come to their sense and realize that this approach to multitasking is quite limited. The whole thing is a wonderfully hackish mess.
I think I have just found a way to understand this approach. I’ve done so by thinking not in terms of what goal Apple wanted to achieve (multitasking functionality), but in terms what they had at hand in terms of iPhone hardware and iOS UX design. Such a “bottom-up” approach is not a very good design practice, but hey… What Apple did to multitasking in iOS 4 wasn’t so good from a design standpoint either.
One-button design, meets multitasking
Since its first version, the iPhone has always had only one frontal hardware button. This design choice is a core part of the device’s visual identity, so Apple should not change it even if they wanted to. Having only one hardware button pictures Apple’s typical design choices, reducing a device’s initial learning curve at the expense of its everyday usage efficiency for experienced users.
In the old single-tasking iPhoneOS, this button served one single purpose for the ordinary user : closing the current application and going back to the application grid. It did this job well. It was a nice, clean design. But then, in order to keep the thing competitive with other OSs, Apple had to throw multitasking into the mix in iOS 4. And this is where things went wrong, because single-button design reached its limit and the right compromise was not chosen.
In mono-tasking OSs, one has to close the currently running application in order to open a new one, so we only have one “closing” interaction involved. This perfectly fits the iPhone’s one-button design. On a multi-tasking OS, on the other hand, there are two ways a user may open a new application : either by closing the current one, as before, or by keeping it opened and leaving it in the background in order to open a new one. This is why Symbian and bada phones, designed for multitasking from the start, have two buttons : one to close the current application, one to switch to something else.
But as said before, Apple couldn’t add one more button to their iPhone product, even if they wanted to. So they had to shoehorn two interactions within a one-button interaction paradigm.
Their first choice was to associate task switching with button double-clicking, which was not a bad compromise. Things went horribly wrong, however, when they decided to alter the action of a single button click so that it leaves applications opened instead of closing them. My guess is, they did so because they needed a way to start new apps in parallel with the current one, and their task switcher didn’t allow that.
Thou shalt not closeth thy apps
Leaving applications opened when the home button is clicked broke the core iPhone user experience. People who had used previous products, and new users who were taught how thing works by them, had associated the iPhone’s button with the “OK, I’m done with that for now, you may kill that app” action. When they click the iPhone button, the application goes away from their mind at the same time as it goes away from the screen : it’s not there anymore.
This, in turn, resulted in some user confusion when applications started in an unexpected messy state when they tapped their icon on the home screen (in fact, they returned to their previous state, as they were not actually closed). But more importantly, it resulted in the number of running applications growing with time as users open more and more of them while forgetting about those they leave behind. There is no such thing as a taskbar permanently showing you what’s running on iOS, because a mobile phone’s screen is too small for that.
So this single, beautifully simple flaw in iOS 4’s design would have resulted, if normal multitasking was being used, in applications piling up in the background while the user forgets about them. The active ones, like games or networked services, would still be eating up RAM and resources, resulting in bad user experience and low battery life. It didn’t help either that the iOS API design, like that of many other mobile OS, did not emphasize the prioritization of interactivity at the core.
My guess it that at this point, Apple engineers realized that they had made a mistake, but didn’t have enough time left to switch to a saner home button behaviour and cleaner multitasking. Hence their decision to castrate background apps so that they are less of a bother, basically killing the interest of their new multitasking feature to a large extent. Then they let the marketing team find out how to advertise this mess as a superior approach than the competitors’ one.
What they should have done instead (in my opinion)
Okay, so all this criticism is quite good, but it has no much use if I don’t explain how Apple could have done it better. So here’s my take on the subject : we know that…
- There are three actions associated to multitasking : closing an application and going back to the home screen, switching to the application menu or home screen (which are one and the same on iOS) without closing the currently running app in order to open a new application in parallel, and switching between opened applications.
- iOS can’t implement all three actions because three actions is too much for one-button hardware.
- Like all other mobile OSs and a growing number of desktop OSs, iOS doesn’t allow an application to be opened twice easily. Tapping the icon of an opened application on the home screen results in a task switch to the opened application.
- Single-button press should result in the current application being closed for consistency with previous versions of iPhone OS and system state cleanness preservation (it is not desirable that users leave a mess of applications opened while forgetting about it), and multitasking is not very useful if there’s no way to open new tasks.
So in my opinion, what Apple should have done is the following :
- Clicking the home button once closes the application and heads the user to the home screen, as done previously. This is what the user will want to do most of the time anyway.
- Clicking the home button twice leaves the application opened and directs the user to the home screen. Animations are being used to illustrate what’s happening, like the application visually minimizing itself to its icon (see below) :
- On the home screen itself, there’s a way to differentiate opened applications from closed ones, for quick visual search and user surprise minimization (“hey, why doesn’t this app open up normally ?”). As an example, an opened application’s icon can be lightened, or surrounded by a shining border.
- Closing applications is now the natural operation when the user is done with them, so it makes less sense to have an explicit “close” button. If there’s still a need for it (e.g. for power users who like to close apps in bulk), it can be available in an indirect way, like an additional overlay button for opened applications when their icon is pressed and held.
This way of doing things would have had several advantages over the iOS 4 solution :
- Opened apps don’t stack up in the background, as users naturally close them as soon as they aren’t needed anymore. As such, clunky “background is evil” multitasking policies aren’t much needed anymore, and regular interactivity and power management optimization policies may be used to ensure that multitasking doesn’t harm the user experience.
- There is no need for a ridiculously small and scrolling-savvy task switcher. That space at the bottom of the screen can still be used for things like orientation lock or volume control, however, and now will only do that instead of displaying an inconsistent, confusing behavior.
- Existing iPhoneOS customers have a much easier transition path.
Sole issue is that switching back and forth between apps is a bit slower if both are not on the same home screen page. But that’s the price you pay for buying a phone with only one frontal hardware button, and there’s nothing there that a bit of clever icon placement won’t fix.
Instead, Apple have chosen to introduce the world’s first broken multitasking support, and have had to officially claim that they are so happy of the result that it now has to be backported to Mac OS X 10.7, where closed apps now won’t actually be closed, but just swapped out. Clever, guys, clever…