Adam Engst has written an extensive article for Tidbits on multitasking for the iPhone and iPad. He mostly focused on the operating system and hardware aspects of multitasking, namely, how can the device divvy up its CPU cycles among several apps so that the user experience isn’t reduced to pleading for the machine to work?
Readers of this blog know that the iPhone OS already seems to have support for running third party apps in the background. Apple just doesn’t allow it. The question is why. The traditional answer is that multiple apps will suck the battery dry and slow the machine to a crawl.
Another part of the answer may be the user interface. How should a user indicate to an iPhone OS device that it would like to send one app to the background and bring another to the foreground? On the iPad this seems simple; if you can see both apps, you just touch the one you want in front. But this begs another question. Suppose the apps are side by side. How do you indicate which app is frontmost? Maybe a big yellow border. Maybe you dim the interface of the background app. Seems soluble, though.
On an iPhone, you probably wouldn’t be able to see more than one app at a time, so how do you switch apps? A special gesture? What if you coincidentally make that gesture during a game? Morse code with the buttons? Apple already does that with the iPod controls and half the time it doesn’t work. Maybe there needs to be a “switch” icon, but that would take up precious screen space. Whatever it is, it needs to bring up a menu so that you can pick which app to switch to because you always have several apps running at once whether you know it or not (Phone and Mail are always running).
Secondarily, if you are not required to quit an app to go to another app, how do you tell the device to quit the current app when that is, in fact, what you want? This seems to be such a huge problem with Android that one of the most popular third party apps is an app that quits other apps.