Entelligence: Mobile multitasking is mostly a myth
Entelligence is a column by technology strategist and author Michael Gartenberg, a man whose desire for a delicious cup of coffee and a quality New York bagel is dwarfed only by his passion for tech. In these articles, he'll explore where our industry is and where it's going -- on both micro and macro levels -- with the unique wit and insight only he can provide.
The idea of multitasking on mobile devices has been a hot topic for years. It's been debated since the early days of smartphones, when devices such as the Treo based on Palm OS could not handle more than one task at a time, while handsets based on the Windows Mobile platform had the capability. The issue reached a crescendo with the release of the iPhone (and more recently with the iPad) and lack of multitasking capability for third party apps. This week it's come up once again, with news from MIX10 that Microsoft would not support multitasking for third party apps on Windows Phone 7 Series, at least initially. 
I think it's a non-issue for the most part, and that Apple and Microsoft are doing the right thing for the mass market by limiting multitask use for third party apps. The irony here is that one of the biggest criticisms for years was Windows Mobile's lack of a task manager and the ability to kill applications that were running. Complaints were so high about multitasking that almost every phone shipped with some sort of third-party task manager. Likewise, the first software I download for any Android device is a task manager to kill background tasks and apps The reason is simple. Running in the background, too many third-party apps overuse system resources, memory, and network to the point where almost any machine with multitasking capability ends up running slowly and killing battery life. With fast suspend and resume of existing app processes there's very little need for most third party apps to run as background processes, with a few notable exceptions.
It would be easy to simply dismiss third party apps running in the background, except there are two use cases that do matter. First are music apps such as Pandora and Rhapsody. I'd love both of those apps to work on the background of my device and using those apps on Android and WebOS phones is a big differentiator. Second, GPS and turn-by-turn direction programs both benefit from the ability to access GPS content while another app is running such as a navigation program. There's arguments for apps like Twitter as well but I think most of those use cases could easily be handled through things like notifications services to let me know something has happened.
What I'd really like to see is Apple and Microsoft figure out some way to allow third parties to do multitasking and run in the background. While it may not be a mass market case, there's a lot of folks like me who want to be able to control this activity. It really needs three aspects. One, the ability for me to designate which applications I want to run as background tasks. Second, an easy way (as Palm has shown in WebOS) to switch between them. Finally, there needs to be a way to kill unneeded apps -- in particular, this is where Windows Mobile 6.x and Android fail, despite their multitasking capabilities.
Multitasking is far more important on the personal computer -- whose windowed UI and raw horsepower make it not just a luxury but a necessity -- and one way the personal computer trumps the phone. That said, vendors need to address the mainstream use case of background media functions and location services for third parties to truly make their platforms valuable to users. Longer term, the smart ones will let the power users make the call of performance and battery life for themselves.
Michael Gartenberg is a partner at Altimeter Group. His weblog can be found at gartenblog.net. Contact him at gartenberg AT gmail DOT com. Views expressed here are his own.


I think it's a non-issue for the most part, and that Apple and Microsoft are doing the right thing for the mass market by limiting multitask use for third party apps. The irony here is that one of the biggest criticisms for years was Windows Mobile's lack of a task manager and the ability to kill applications that were running. Complaints were so high about multitasking that almost every phone shipped with some sort of third-party task manager. Likewise, the first software I download for any Android device is a task manager to kill background tasks and apps The reason is simple. Running in the background, too many third-party apps overuse system resources, memory, and network to the point where almost any machine with multitasking capability ends up running slowly and killing battery life. With fast suspend and resume of existing app processes there's very little need for most third party apps to run as background processes, with a few notable exceptions.
It would be easy to simply dismiss third party apps running in the background, except there are two use cases that do matter. First are music apps such as Pandora and Rhapsody. I'd love both of those apps to work on the background of my device and using those apps on Android and WebOS phones is a big differentiator. Second, GPS and turn-by-turn direction programs both benefit from the ability to access GPS content while another app is running such as a navigation program. There's arguments for apps like Twitter as well but I think most of those use cases could easily be handled through things like notifications services to let me know something has happened.What I'd really like to see is Apple and Microsoft figure out some way to allow third parties to do multitasking and run in the background. While it may not be a mass market case, there's a lot of folks like me who want to be able to control this activity. It really needs three aspects. One, the ability for me to designate which applications I want to run as background tasks. Second, an easy way (as Palm has shown in WebOS) to switch between them. Finally, there needs to be a way to kill unneeded apps -- in particular, this is where Windows Mobile 6.x and Android fail, despite their multitasking capabilities.
Multitasking is far more important on the personal computer -- whose windowed UI and raw horsepower make it not just a luxury but a necessity -- and one way the personal computer trumps the phone. That said, vendors need to address the mainstream use case of background media functions and location services for third parties to truly make their platforms valuable to users. Longer term, the smart ones will let the power users make the call of performance and battery life for themselves.
Michael Gartenberg is a partner at Altimeter Group. His weblog can be found at gartenblog.net. Contact him at gartenberg AT gmail DOT com. Views expressed here are his own.





















Extremely innovative design concept. This is going to be a requirement in the future with the way phones are going.
I think Win 7 Mobile will be a front-runner here.
@Distant No.
@Distant
innovative?
@Distant Irrelevant comment is irrelevant. Fail spammer.
@UnixSystemsEngineer
WebOS.
@Distant this is exactly the way the iPhone has handled things for a couple years now. The only place it doesn't work is if you want to background an app that is playing music.
@kaplanfx
What?!?
This is the exact opposite of how iPhone OS runs.
@PhoenixFox
why no?
you must have a reason
@todrick
Yes and No, you can listen to music while doing others things on the phone as long as it is the normal apple music player built in. It also does a few other things behind the scenes "multitasking", but correct in general it doesn't multitask everything you would want to.
@Distant
There is rarely ever a time that I am using my computer or my Palm Pre where I am not multitasking. We've reached a point in time where Palm has proven how well phones can handle multitasking with webOS, there is more excuse for Microsoft's and Google's terrible implementations of multitasking. And there is certainly no excuse for Apple's lack of it.
@cool8man ...which is why you jailbreak.
@article
Android let's you multitask and kill whatever you want.... don't be made because your phone can't
@cobjones I feel sorry for all you folks talking about mobile multitasking without ever trying a webOS device. Once you experience the ease and grace of multitasking on that platform, you start to understand why those of us who use it don't understand why anyone would put up with not having it that easy.
@kaplanfx Actually, this is quite similar to Android's model. The only difference is that Android adds an extra layer around pause and resume called stop and start. Pause/Resume control if the application is visible, whereas start and stop control if the application is running. If your app doesn't need to be backgrounded, it can just call stop and that's it. But if it wants to do stuff while it's not in the foreground (aka playing music, downloading a file, etc), it can quite nicely. Processes are killed off by the OS in the reverse order by their state. Stopped processes get killed first, then paused ones, and finally running ones (but each would only get killed if low on resources). So no, this model is not new. No, it's not intuitive. In fact, it's limited compared to how it's been done elsewhere...
http://developer.android.com/guide/topics/fundamentals.html#lcycles
@cool8man
iPhone OS is a fully preemptive multitasking OS. There is an ARTIFICIAL limit on 3rd party apps being able to multitask.
You and apparently thousands of other people need to get it right.
That being said, the limit is there to prevent the exact kind of resource drain Gartenberg is talking about. For the most part, it's a better idea to do what Apple does, i.e. kill an app's processes but freeze its state when you click the home button rather than just let it run in the background. There are very, very few apps that would actually benefit from being able to multitask in the way that most smartphone nazis think it should.
@ircmaxell Exactly, Sir. Processes that don't want to be killed (music/radio/GPS apps) can start background service, like in desktop OSes. Services have highest priority on Android and will be killed only in extremely low memory situations.
Good written app not using CPU when not active. E.g. live wallpapers will not draw anything when another app running and therefore, will not use CPU.
@Distant "What I'd really like to see is Apple and Microsoft figure out some way to allow third parties to do multitasking and run in the background. "
Yes, please make it happen, even other company will do. I just hope palm got the message and infused this on their web-os. First view: http://bit.ly/impression-web-os-view
@Distant
A MYTH?
It seemed quite real yesterday when i was listening to music while browsing the web while a song was downloading via torrent in the background.
But i'm just a Symbian user so you wouldn't care.
@Distant
engadget you are so biased that the lack of multitasking become a pros rather than a cons.
pathetic.
The real reason the iphone doesn't do multitasking is because at least the non-3GS versions has practically no memory available for programs to use. Of the 128megs of ram it has you only have access to 10-20 megs at best. Memory concerns have got to be the number one thing anyone who develops on the iphone has to deal with.
@Distant "I think Win 7 Mobile will be a front-runner here." Not just yet. The design, as shown on the diagram, is very similar to what Android has. So Android has a few years of lead time.
This dude does not know what he is talking about. Use a palm pre for a week, then stfu.
@Jack +1 smartphone nazi's
@CRA1G I think your could understand my exceedingly low sprint phone bill.
multitasking is about Pandora plying while I'm on playing with photos from flickr
and SKYPE conference call while paying games
@Jimbojones An option to run x amount of 3rd party apps. Something similar to TasKiller on Android but a bit more advanced, yes?
@N900 it should be combo between freezing apps and true multitasking without user knowing, apps like CONTACTS should pause and hibernate, apps like PANDORA should not
@Jimbojones
If the reason of withholding multitasking is to save battery life, increase performance, and simplify an OS, why not just limit multitasking to a total of three apps [and flip them like cards]?
It's a compromise between the two. Limiting a phone to three simultaneous apps can simply give us what we all want: performance and functionality.
@Jimbojones This is in fact how Android works: Activities (user visible windows) are paused when not shown and do NOT consume any cpu (they may still be in memory though). Services can run in the background without being visible. So all music apps use a Service for playback while most other apps don't need to use Services at all, meaning they don't consume resources while not shown.
@Jimbojones And switching quickly between palringo and my web browser...
and letting voice gps directions play if I need to do anything with my phone..
and downloading files in the background..
Ill figure out how to keep my phone from crashing.. Why do phones need 1ghz chips if multitasking is off.. Oh yea, to play games because it sure isnt necessary to do anything productive..
@Celz totally forgot about GPS, yeah that does kill me when somebody calls and GPS directions stop usually when I really need it.
It's not like I need 20 apps running at the same time (I don't have 20 apps running on my PC neither)
@Jimbojones My best example is running Last.fm while using Google Navigator and the phone is plugged into my car stereo. At the same time, I took pictures out the window of Hoover Dam on the way to Vegas. This is the kind of thing I use multitasking for.
On the top of Android task managers, I use one, but you have to be SO careful with them and not kill something that has a grip on another service. If you screw up, you just end up having to reboot the phone in the worst case, but it's still annoying. What's more amazing is seeing how many apps launch and "run" (active, sleeping, whatever) during boot. The more RAM you have, the more apps get spun off into the background. I'd like to see that limited, or at least explained better. I use Enomther's ROM for my Nexus One, and with all the RAM being usable I can easily have 40 apps launched at boot, and I don't know why.
@konceptzoflife And what if pandora was the fourth las app you opened? It will then get killed.
@Jimbojones
a multitasking conversation without even a mention of blackberry. i think its safe to say there is no range of phones with these editors...
Ugh... not you again
@JW I think he's driving home a point this time. People need to look at the flipsides of issues like this, instead of just saying "no I want everything my way" like a child.
@N900 More like he has no idea what he's talking about. Technically speaking one CPU can only run one instruction at once. So there really is no such thing as multitasking. Every instance of multitasking is popping out and pushing programs into memory. His 'multi-tasking is a myth' headline is ridiculous.
As for 'back ground apps waste battery life.' Thats only true if they're designed to do work. If you don't like an app doing what it was programmed to do then don't put it on your phone...don't complain because Google or Microsoft gave you the option to shoot yourself in the foot and then complain when they take it away.
@N900 Or we could try thinking outside of the box. The problem with multitasking is running too many applications and losing track of what's running, right? This results in sluggish machines that don't have a lot of system resources to begin with. This is frustrating to Joe User, who wonders why his expensive smartphone is doing so badly when all he wants to do is listen to Pandora while browsing the web. And it's frustrating to power users, who are irritated that there is no good solutio to the problem of task management.
What's the common factor on devices that run WM, Android, Symbian? Their multitasking is implicit. All applications are assumed to go background when you dismiss them.
This is really stupid default behavior. What we should have is EXplicit multitasking. You should have to tell applications specifically that they are allowed to run in the background. We even have a model for this kind of behavior: jailbroken iPhones, running Backgrounder. To make the UI even more intuitive, use Kirikae. Problem solved!
@N900
WebOS, Android, WM6.5 and earlier, Maemo, and Symbian have been doing it. Maybe you should use one and then decide whether or not it's good enough for mainstream use [http://www.youtube.com/watch?v=7emvUBpEkbU]. Having used the latter three, I will vote [Yes] on on multitasking.
I've got a workaround, not sure if it'll work yet.
1. Create 3rd party app that runs multiple 3rd party apps.
2. Submit to App Store and Marketplace.
3. ???
4. Get rejected, banned from both.
@Hung
Did you just indirectly ask someone named "N900" if they've used Maemo?
@JayD1616 More like he has no idea what he's talking about. Technically speaking one CPU can only run one instruction at once. So there really is no such thing as multitasking. Every instance of multitasking is popping out and pushing programs into memory. His 'multi-tasking is a myth' headline is ridiculous.
I apologize, but this is wrong. It's called superscaler and we've been doing it since the 1960's. In fact superscaler execution and branch prediction are the big factors that keep Intel ahead of AMD in the last ~5 years. The effect of good software is that you can mash multiple instructions (at the bit level) through a processor in a single cycle.
And your memory reference is not quite right either. They're not 'pushed into memory' but rather put into a new state (they're already in memory). The Pre does a wonderful job of running swap on multiple applications, but this ultimately comes down to an OS implementation, which Apple is refusing to put in for whatever reason.
Now this has no bearing on the glory of multitasking on the Pre and lest we forget the modern Blackberry. I continually run 3-5 apps on my 'berry, chuggin' away like a champ. Just wanted to make sure you got some facts straight.
@JW I'm going to say one thing about these articles, it seems so many people, myself included, can form better arguments that are contrary or filling in gaps of the author. However, perhaps the best part of these terrible articles is that they get a lot of discussion and reaction, therefore the comments are a place to learn and have opinions challenged. I'm saying, as a reader of Engadget, the comments following one of these steaming piles of crap are a great resource and I feel I actually learned something from reading through the first 3 pages of comments.
Keep up the bad Entelligence and good reader reactions Engadget?
@starkruzr See I don't agree there. For quite a while I had a jailbroken 3GS with backgrounder, which gave me explicit multitasking, but the thing is then I had to be consciously making decisions as to what to leave running - and of course its easy to forget you left something going and have it on all the time in the background - fine if it's not taking up CPU but if it is you can have a nasty shock when you next check your battery!
Recently got a Nexus One and THIS is clearly how multitasking should be done. 512MB of RAM means a huge number of apps can be left 'multitasking' (most of the time just in a suspended state) in memory, which means switching between commonly used apps is stupidly quick. Add to this the fact that all android apps (should be) written to be smart about how they work in the background, meaning battery is not an issue either. I get same battery life on my N1 as on my 3GS and im signed into Gtalk and spotify most of the time, have tons of apps running, and barely ever use a task killer. Of course I could choose to run apps which cained my battery in the background but that would be a badly written app, and I think 'with great power comes great responsibility' is an apt phrase when it comes to both developers and users of modern multitasking mobile platforms.
@juanvaldez I agree with you juan, while I love Engadget and it's up to the minute (or week) articles about tech news, I do often grimace at the terrible technical knowledge often displayed. I think this is an unfortunate side-effect of people who have a background in journalism/law talking about tech, which was likely a hobby they were into. So while the writing is generally good the technical knowledge has obvious holes. This is a good example of someone writing an article that focuses much more on the experience of using a mobile platform with multiple applications and not so much the concrete limitations. It's the flipside of a coin, Apple says, "We're going to make the decision to limit certain applications from running in the background because our phones have limited memory." Nokia/Palm basically say, run whatever you want whenever you want. Michael seems to be describing is his frustration with the fact that 90% of people would be fine with the middle posibility of, "Run 3-4 apps at once, but after that no more." Apps that don't need active processing, like twitter, could rely more on message based services to receive updates. This would hit the middle ground most people want. I think the end game is what Palm is doing though, in the sense that eventually apple will just loosen the lease a bit and let things like pandora run while you do something else because the market is too competitive and too many people want it. I truly believe that platforms like Maemo and WebOS are entirely correct but ahead of their time. People will eventually be comfortable with having tons of things running on their phones, but it will take awhile to make the pros completely outweigh the cons (battery life, stability, easy to manage, etc). That's why microsoft has even said that they might eventually change their stance on multitasking, because too many platforms are going to do it well for them to continue to ignore it. I'm telling you, Palm is a nice device and a few bug fixes from taking the mobile industry by storm...
@leviathan3k
No, I didn't ASK him if he has used Maemo. Clearly he hasn't, otherwise he wouldn't be agreeing with Gartenberg. Maemo's multitasking is definitely good enough for power users. Jailbroken iPhones perhaps may not satisfy power users, but I'd say 90% of current non-jailbroken owners would have absolutely no problem (given a proper system for asking users to kill apps when memory is low).
@mattb well I tried to keep it simple...obviously there are ways to get more than one instruction completed at once but that isn't always going on. My point still stands that a single cpu cannot cleanly run two programs at once. Almost certainly not any mobile architecture...
As for memory...I was trying to be vague. At he lowest level programs are swapped in and out of cache. They can also, and this is CERTAINLY true of android, be swapped into and out of ram. It just so happens that closed and paged are very similar in android by virtue of how the app life cycle was designed.
@mattb Thank you! My brain flipped at the other guy's comment, haha.
@JayD1616 Right, like users can be trusted not to install apps that run background services. Windows 7 in particular will be subject to "carrier customization" just like when you buy a new PC EVERY SINGLE APP will need a desktop icon, taskbar icon, and background services running.... Open Task Manager on a NEW computer and see 40-50 processes the manufacturer felt you NEEDED running! Real, Adobe, iTunes, messenger, facebook, myspace.. all fell the NEED to put crap down there and then you have the hidden DRM crap like SecureCom and Steam always lurking under hidden processes.
I do agree with things like music streaming and GPS needing to run and let you do other things.... on iPhone that's why they let hardware attachments have special spots to run. I think Steve Job's philosophy is that on a mobile device you want 100% of the resources to what you're doing right now. Then you want whatever else was running pushed into the background quickly to "get out of the way".
Computer history and current state of machines sitting on store shelves right now prove Software Designers and resellers have no concept of what's "important" to be running in the background.... look at DRM that REQUIRES phone home abilities... it's only getting worse. Apple is taking the route to do a few things very well, then to let software makers do whatever they want. They are delivering a better "experience" than the Windows Mobile crowd on considerably "less" hardware... mostly by forcibly locking out the chaffe.
If symbian can do it....