TiPb SMASH: the iPhone and Multitasking Misconceptions
There seems to be some confusion out there about the iPhone and multitasking, no doubt fueled by the way Apple handled -- and is still handling -- all things iPhone. Just to be clear, the iPhone multitasks quite well, thank you very much.
While listening to music, you can receive a phone call, take the call, jump into Safari, Google for an image, save the image to your camera roll, jump into Photos, choose the image, hit the "+" and choose to email the image, fill in and send the email, etc. and when the call is over, your music will fade seamlessly back in.
Steve Jobs showed a simpler version of that when he first introduced the iPhone back at Macworld 2007. Even today, you can begin a new iTunes 3G music download, jump into a Twitter app, tweet a response, and jump back to iTunes and see your download still progressing.
So from where does this confusion come?
Apple only allows their own built-in apps like Email, Phone, etc. to multitask (Daring Fireball posted a nice list on which ones a while back). In the current SDK (Software Development Kit -- what people use to write iPhone App Store programs), the licensing prohibits everyone else from multi-tasking. So, no 3rd party IM, Twitter, internet radio, etc. applications can stay on once the user hits the home button.
Apple's Push Notification Service was supposed to work around this by sending status alerts (badges like unread message counter on Email, pop-ups, or alarms like Calendar events) from Apple's servers, but while this was promised for September '08, it was yanked from iPhone OS 2.1 Beta 4 and hasn't been heard from since. Rumor has it Apple is afraid -- for good reason -- of repeating it's near-disastrous MobileMe launch, and would rather delay it than get it wrong. Developers we've spoken to agree - no one wants to handle customer support calls based on a buggy PNS implementation.
Selfishly, we kind of hope Apple doesn't manage to nail PNS in a timely fashion and is instead forced to open up real multitasking, even if only on a limited basis (i.e. more rigorous approval process). (We'd even like to see a CoverFlow task-switcher while they're at it.)