Although this has been rumoured many times before and not been delivered, it’s something that does seem to be coming. iPhone OS already allows multitasking in a multitude of ways, but none of those are directly exposed to users.
Developers can create multi-threaded apps either using POSIX threads or Apple’s own NSThread, which is built on-top of that system. But due to the sand-boxed nature of iPhone apps delivered via the App Store, and produced using the official iPhone SDK, there is no way to have an app, or part of one, running in the background when other apps are launched. At the moment developers have to make apps save and relaunch with their current state to even appear as if they have simply been paused / “backgrounded”.
Apple’s own key processes, such as iTunes, or the phone software itself are all able to run in the background on the iPhone all of the time. And have been able to do so from day one. Key partner’s apps also have that functionality if Apple allows it. One such example is Nike+.
When you consider that iPhone OS is running on a UNIX base, multi-tasking is something it will handle very well in most cases, and already does for select apps which are written well. In the jailbreak scene this has been going on for a long time already also. Causing some to question why they have to be so limited on devices which are still tied to Apple’s own App Store.
At the end of the day the “issue” has always been described by Apple as one of security and battery life. And these are reasonable concerns for them to have. There are various ways for them to protect against these issues though, and I suspect it’s simply been getting it right that’s held this up so long. A little like the long wait we had for “Cut & Paste” on the iPhone.
One way Apple have proven adept at keeping undesirable apps from appearing on the iPhone in their walled app garden is with their approval process. I expect that multi-tasking apps will be scrutinised in some detail when submitted for publishing if / when this becomes a reality for developers on iPhone OS.
Either way, it’s something that Apple has to do sooner or later to keep up with other mobile phone platforms such as Android, Palm, and probably the Windows Phone 7 Series. As well as keep power users happy. I think with the advent of the iPad this is quite likely to appear in a unified iPhone OS 4.0, as AppleInsider suggests, at some point this year.
Are you looking forward to multi-tasking on your iPhone?