Do smartphones need multitasking? The iPhone doesn't have it yet; Google Android, RIM BlackBerry, and Palm webOS do. Some people think multitasking isn't important and don't see why you'd want to run more than one app at a time. For example, Hiten Shah (@hnshah) recently tweeted:
Why can't people discuss the iPhone without talking about it's [sic] lack of multi-tasking? Get over it, mobile multi-tasking is overrated.
I think multitasking on smartphones is a big deal for both users and developers. Since I started to use webOS on a Palm Pre in June 2009, I've come to rely on multitasking and can't imagine having a smartphone without it. (I haven't used Google's Android OS, so I can't say how its multitasking works.) Here's why.
First, an app can hand off something to another app without interrupting the user's progress. For example, say I'm looking for a restaurant in Yelp and want to see where it's located. When I tap on the address, Google Maps launches in a new "card" (app window) and shows me where the restaurant is. I can then switch back to Yelp and look at the next restaurant. Without this kind of multitasking, I'd have to quit Yelp, use Google Maps, quit Google Maps, return to Yelp, and get back to the listings I wanted.
As a developer, multitasking lets me focus on what my app does best, and hand off other tasks to other apps. For example, if I'm developing the Yelp app, I don't have to worry about displaying a map; I just hand off the address to Google Maps and let it take care of finding the restaurant and handling any other interaction with the user, like giving directions. So multitasking removes the need to make a Swiss Army knife app that does everything a user could possibly want.
Second, moving information between two apps is more efficient if you have multitasking. Here's an example: I got an email from my entrepreneurship group asking when would be a good time to have our next meeting. On my Palm Pre, I opened my calendar and looked for nights I was free. In my email, I typed in the free nights from one week, looked back at my calendar to see when I was free the next week, and so on. With the card view in webOS, I can often see information from the second app just by going to card view; I don't even have to fully switch to the second app to get what I need from it. Without multitasking, switching back and forth would be tough: I'd have to go to the calendar, quit calendar, launch mail and type, save a draft, quit mail, launch calendar,... From the developer's perspective, it's just a better user experience, which makes people more likely to use their smartphone, including my app.
Third, you're not locked into a given app in case it's slow, it freezes on you, or you accidentally launch the wrong app. If one app is taking a while to process something, you can switch to another app while you're waiting. Also, if an app freezes up, you can just quit it (flick its card off the screen in webOS), and your other apps aren't affected. And I can't tell you how many times I've tapped an app to launch it, then realized it wasn't what I wanted. In webOS, I can just switch to card view and flick the app off the screen, saving me from having to wait for the wrong app to fully start up.
Without multitasking, if any of those things happen, it's frustrating because you're at the mercy of the app or OS. If an app is slow, it's hard to do anything else; if an app freezes, the app or OS has to realize it and bail you out; or if you tap the wrong app you have to let it load before quitting it. As a developer, we'll do our best to make sure our app never misbehaves, but if something goes wrong, it'd be nice to know the user could minimize their inconvenience if needed.
Fourth, on a multitasking smartphone you can have apps at the ready for quick use. For example, if you had a baby who might take his first steps any day now, you could leave the camcorder app running in the background. Then, when little Timmy stands up, you just switch to the camcorder and start filming; no need to worry about a long start-up time causing you to miss Timmy's first steps. Similarly, you might want to have email and social media apps like facebook and twitter always running so you can see messages and quickly respond to them. As a developer, I think it's nice to know that users can always have our app at the ready.
By the way, the iPhone already has partial support for multitasking. On the iPhone TV commercials, they often tout the ability to use another app while you're on the phone. And Mobile Safari lets you have multiple web pages open at once, using a card metaphor, much like webOS uses for applications. So Apple recognizes the utility of multitasking (obviously Mac OS X supports it!), and I hope the iPhone has full multitasking in iPhone OS 4.o, as has been rumored.
Update 1: Clearly Steve Jobs read my post ;-) as Apple announced that iPhone OS 4 will indeed include multitasking. BlackBerry Cool has some interesting thoughts on multitasking from the BlackBerry perspective.
Update 2: AT&T has a new Palm ad that showcases webOS's multitasking (AT&T is getting the Pre Plus soon):
Does your smartphone support multitasking? Do you think it's important? Which is the best multitasking smartphone out there?