Apple this past Thursday offered developers a glimpse into the next-gen iPhone OS, and boy is it a doozy. With over 100 advertised new features, one in particular stands out, in part because it’s been conspicuously missing since the original iPhone first launched – multitasking.
Steve Jobs on Thursday conceded that Apple wasn’t “the first to this party”, but exclaimed that they “were gonna be the best. Just like cut and paste.”
Over the past 2-3 years, Apple has chastised other mobile OS’s for offering what it viewed as rudimentary multitasking functionality. Their implementations, Apple argued, drained battery life and often required the use of programs like “advanced task killer.” Not exactly an elegant solution.
“It’s easy to do [multitasking] in a way that drains battery life, and a way that reduces performance of the foreground app,” Jobs said, “If you don’t do it right, your phone will feel sluggish.”
Apple’s solution to multitasking, though, avoids those pitfalls in a pretty cool way.
When you switch between apps, the apps (depending on what they are) don’t close when you hit the home button. Instead, they remain in an open state but aren’t actually “running”, but more on that later. In order to view which apps are currently running, all a user has to do is double click the home button and a dynamic dock offering a slideable row of apps pops up. A user can then select which app they’d like to switch into. It’s pretty slick.
But how was Apple able to implement multitasking without sacrificing battery life and performance? Well, Scott Forstall explained that Apple is providing developers with 7 multitasking services that will bring certain types of information to the foreground while the app itself is paused, so to speak.
Forstall used Pandora as an illustrative example. Say you’re streaming music from pandora and decide that you want to check your email. With the new iPhone OS you can switch into the mail.app while still listening to Pandora because the OS will request a specific thread from Pandora (background audio) that will remain in the foreground while the rest of the app essentially lies dormant. This approach works to cherry pick the one function you wasn’t to multitask (audio streaming) while not having the full app actually running and eating up CPU cycles. Pretty clever, and it’s actually how Android implements multitasking as well.
Some of the other background threads developers can run in the background in the upcoming iPhone OS 4 include Voice over IP – which is a godsend for users running Skype – background locations, push notifications, and local notifications.
Another nice multitasking feature in iPhone OS 4 is Task Completion. There are some apps that take awhile to complete a task, Forstall said, “Like uploading pictures to flickr — now it can continue to upload pictures in the background.” Nice. And last but not least, Apple’s last multitasking service is Fast app switching, a feature which enables applications to save their state “and stop running, and then restart instantly where you left it.”
All in all, a solid grab bag of services for developers.
Notably, the only devices that will be able to take advantage of multitasking on the new iPhone OS are the iPhone 3GS and the third-gen iPod Touch. Not only do these devices have faster processors, but they both have considerably more RAM as well (256MB v. 128MB).