Thoughts on the iPhone Multitasking Thing

There’s a lot of rallying for full multitasking support on the iPhone, but a lot of that passion is misplaced. I don’t think Apple will ever support “real” multitasking on the iPhone.

Why? Because the main point of multitasking is to be able to move quickly from one application to another. But this goal can be solved in ways other than running multiple programs simultaneously. If a program can return to the exact state you left it in, in a matter of seconds, from a cold start – what does it matter to the user if it was “running” or not, while you weren’t using it? That’s the approach Apple took, and it’s a wise one. It works the vast majority of the time, only failing when third party apps are too slow, or neglect to return you to the exact state you were in when you left. Betting on faster processors and memory instead of gigantic batteries to handle needlessly-running, multiple simultaneous processes, was a very forward-thinking move – and an environmentally sensitive one to boot.

Apple basically waited for Moore’s Law to make multitasking (mostly) irrelevant. What’s interesting is that, as Moore’s Law chugs along, it could drive user-friendly computers to move in the opposite direction.

Battery life is one reason Apple doesn’t support multitasking on the iPhone. The other is complexity. You (the user) can avoid the battery drain problem by multitasking wisely. But that requires a whole lot of abstract thinking. Users have to be savvy enough to figure out how many processor cycles an app is likely to use in the background, and figure out what to quit, and when. I use a jailbroken iPhone because I really want background audio apps, and even I (a well-trained “computing professional”) fail to “multitask responsibly” – my battery giving out when I least expect it. The “it just works like magic” value proposition of Apple products takes an enormous hit when complex issues like processor cycle usage are exposed to the user.

The complexity issue of multitasking can be solved by Moore’s Law + time. It will evaporate when computers that can run unlimited processes simultaneously come into being. At that point, there will be no need to close any app, ever. Don’t think that day will come? Well, 20 years ago, did you ever think you’d be able to put every piece of media you own into a pocket-sized hard drive? Moore’s Law causes drastic paradigm shifts across decades. That day will come.

But…There’s one component of computing devices that is notoriously resistant to Moore’s Law – which evolves at a glacial pace compared to processors, memory, and hard drives: the battery. We may never have a portable battery powerful enough to reliably support this “everything-always-running” world. And that’s why this future computing paradigm will likely never hit the iPhone (at least not for many decades).

In a world without utterly transparent multitasking, the only way Apple can preserve their “magic” is to follow a piecemeal strategy of tackling the symptoms of all this multitasking wishing. Aside from quickly switching between apps, there are three reasons people want multitasking. Apple has already tackled two, and is definitely working on the third, right now.

Multitasking use case #1: Working with data between multiple apps

Apple tackled this first by introducing a very clever “cut and paste” system. Granted, it’s no substitute for having multiple application windows open simultaneously, side by side, but only the most hard-core nerds would argue for a need to run something like a programming IDE on a phone.

Multitasking use case #2: Letting one app send you information while you’re using another app

Apple later tackled this problem with their “Push service“. Of course, it’s not perfect – it’s limited to simplistic Javascript-style “alert boxes” – but it handles the huge majority of use cases just fine. Of course, it requires an always-on server component to work – but in this day and age, if you’re scared of “the cloud”, you probably shouldn’t be developing software.

Multitasking use case #3: Background audio

Here’s the real sticky one, still horribly broken, and desperately crying out for a solution. Pandora and Simplify Media are awesome audio applications (and there are others), but they’re pretty much useless to me without background processing – because I rarely have nothing to do except listen to music. I don’t turn off my radio when I read email on my computer, why should that happen on my phone?

So, how’s Apple going to tackle this one? I think I know the answer, and I think a lot of people won’t like it. See, there is one audio app that can run in the background – it’s the “iPod” app. I predict Apple is going to enumerate everything other music apps do, that iPod doesn’t – and add those features to the iPod app. (Remember that Lala acquisition?). Apple’s not afraid of telling users they don’t need apps that duplicate what the iPhone’s built-in apps can do (it’s definitely not afraid of telling developers that) It’s a sort of “boil the ocean” strategy, but Apple already boiled the music ocean once…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>