Multitasking and iOs 4.0 – What it is and what it is not.
For a while there it seemed Android phones really had the iPhone beat with a certain feature known as Multi-tasking. It was all over the news and yadda yadda yada. Then Apple announced an upgrade that now includes – wait for it – multitasking. But it may not be what you think it is. We want to take a moment here to answer a few FAQs about the multi-tasking mystique and to speak another obvious question – what’s this got to do with AppUp.
First, lets talk about the concepts here. When an operating system can multitask this is its ability to run more than one program at the same time. (Not to be confused with threads which are different) This gives each running program access to important system resources simultaneously and the user gets the ability to do several things at once. For example an MP3 player bopping along while your email client checks POP3 while you’re editing a text document. When it comes to our desktop systems – we’ve come to expect this kind of behavior as minimal requirements. But prior to iOS4 the iPhone didn’t allow any third party processes (read: your app) to continue running after it lost focus. In fact, the iPhone “single-thread” experience has become a marketing point in many places and people started rediscovering the mental clarity of doing one thing at a time. It should be noted however that Apple always kept certain classes for their own use and apps like iCal were treated as a special case, often behaving in a multi-tasking kind of way. It just was something mere mortals were forbidden to do.
The reason Apple nerfed multitasking prior to iOS4 was presumably to extend battery life and conserve precious clock cycles – and honestly, both reasons feel reasonable enough for me. Sure, as a developer I was required to do a little extra work on the code so if my user quit (or a call came in) they could re-start from where they left off. It didn’t seem like an undue burden. But the Android buzz must have been too much to bear and with the new iOS4 Apple opens up multitasking…kinda.
The buzz surrounding iOS4’s new tech is at least partly bluster. As it turns out iOS4 is not truly multitasking. In fact for most purposes the name is misleading. What iOS4 can do in relation to multitasking is pretty limited. There are actually only five, yes five, multitasking abilities:
• Audio: Applications that have steaming audio can continue to play when you want to send an SMS or access the Apple 1st party applications. Something iTunes did all along.
• VoIP: Applications such as Skype don’t have to drop your call if you want to open another app. Something the phone app has always been able to do.
• Location Services: Applications can keep polling your location while they are off. GPS and direction apps will greatly appreciate that.
• Local Notifications: Offline application alerts allow your app to essentially set an alarm to go off at some time in the future, presumably prompting the user to take some action – like bring the app forward again.
• Complete Tasks: Applications can ask the backgrounder to execute long tasks even if the went to the background. (This will be helpful when a user downloads maps, books, extra content etc….
These five special actions can give the impression that the phone is multi-tasking but this is actually incorrect. The new rules allow three base classes to run outside of a “current” application, but it does not allow, for example, multiple audio steams to exist or multiple VoIP calls…of course that would be stupid, but you get the idea.
Lastly applications do not DO anything while in the background. Sure you can ask the OS to work on some long task as the rest of the app goes away, but the OS can decide not to do it. In other words, you are not guaranteed to have your thing wrapped up once your app is backgrounded – no new tasks can be run, no code will be processed.
So – marketing buzz words aside, the new iOS4 multitasking might not be all its cracked up to be. But then again, it really depends on your expectations. These new classes are genuine gains from the previous system, but a long way from what we see on any netbook, which brings me around to AppUp.
Computer manufacturers worked a lot of years to make processors with enough horsepower to do several things at once and certain kinds of apps simply can’t be done on the iThings. A great example is an app I just downloaded that’s supposed to be a presentation timer. Set the thing for 30 minutes and it notifies when you have 15 minuets left, then 5, then it honks when you’ve gone over. Perfect! What a great idea! Except…if the timer is running I can’t read my NOTES (hello!) to give the presentation. This is a place where a netbook can do something much better than my iPad. My timer app can be running behind my notes because AppUp lets me multitask.
I think there is a significant opportunity here to see apps that are specifically designed to work in pairs and triads on the netbook. Let them still maintain their bite-sized-stand-alone nature as apps, but also make use of features like multitasking and a shared file system that the iThings deny you. I’m just saying…