Apple today announced support for multitasking in iPhone 4.0, which go to developers today and the public this summer. CEO Steve Jobs admitted Apple wasn't first to market with multitasking, but like with cut, copy and paste from iPhone 3.0, he thinks Apple's implementation is best.
Multitasking will be supported for iPhone 3GS and iPod touch G3 (both released in 2009) but not previous generations like iPhone 2G or iPhone 3G due to hardware limitations. (Presumably it will run just fine on an iPhone G4 this summer...)
In terms of the UI, double-clicking the home button raises the current window and shows you actively running apps in the dock. You can scroll through those apps and rapidly switch between them. State is saved so apps appear persistent to the user. (For example, if you leave a game and come back, you no longer start over -- you start where you left off.)
Inside, Apple's SVP of iPhone Software, Scott Forstall explained they looked at existing apps and distilled 7 services those apps needed to run in background, then provided them via API. According to Apple, these are:
- Background audio - Allows your app to play audio continuously. So customers can listen to your app while they surf the web, play games, and more.
- Voice over iP - Your VoIP apps can now be even better. Users can now receive VoIP calls and have conversations while using another app. Your users can even receive calls when their phones are locked in their pocket.
- Background location - Navigation apps can now continue to guide users who are listening to their iPods, or using other apps. iPhone OS 4 also provides a new and battery efficient way to monitor location when users move between cell towers. This is a great way for your social networking apps to keep track of users and their friends' locations.
- Push notifications - Receive alerts from your remote servers even when your app isn't running.
- Local notifications - Your app can now alert users of scheduled events and alarms in the background, no servers required.
- Task finishing - If your app is in mid-task when your customer leaves it, the app can now keep running to finish the task.
- Fast app switching - All developers should take advantage of this. This will allow users to leave your app and come right back to where they were when they left - no more having to reload the app.
Pandora said it took 1 day to recode and enable background in their app. Skype is also shown (which may explain their delayed 3G launch?)
Overall, it appears like Apple has once again abstracted a concept from low-level and developer-centric to higher level and OS-managed. Like Grand Central does for multi-core dispatch in Mac OS X, or CoreData, CoreAnimation, etc. do across Apple's platforms, it does the heavy-lifting and tries to maximize user experience at the same time.
Our question for you is, does this beat Palm webOS cards or Android multitasking? Is it enough to make you happy?
Pics and video after the break, or read our complete iPhone OS 4 preview for more!