On Multitasking

By Joseph Kibe on 4 April 2010 5:44 PM

As people following me on Twitter know, I did not receive my iPad on Saturday, much to my annoyance. The mailroom is closed on Saturdays, so I planned to intercept the UPS driver when he arrived. But apparently UPS was so overloaded on Saturday with iPad deliveries, that they didn't have time to properly log package "events" as they usually do. Hence the "Out for Delivery" status on my package that I hoped to use as my cue to run outside and wait never showed up. According to the package tracking log, the driver attempted to deliver the package but failed as the mailroom was closed. But the folks at UPS (who I spent 20 minutes on hold for) assured me I will have my iPad tomorrow.

That's not really what I intended to write about, however. No, I want to address one of the biggest gripes people have about the iPad, namely that it "cannot multitask." I suppose this criticism has been leveled against the iPhone and iPod touch as well, though perhaps not as conspicuously in the last few months.

First, I want to emphasize the fact that, from a technical perspective, the iPhone OS, which powers the iPad, iPhone and iPod touch, can run multiple processes simultaneously. Otherwise, it would be impossible to receive a phone call on the iPhone or listen to music in the iPod application while using another application. Rather, as Apple has stated publicly, third-party applications are restricted through software from running "in the background" for performance- and battery life-related reasons.

Broadly speaking, this makes quite a bit of sense. My laptop would verge on being unusable with less than a gigabyte of memory. The iPhone and its cousins, meanwhile, have but 128 or 256 megabytes (one eighth or one quarter of a gigabyte) of memory. Keeping the devices snappy, then, requires "not too many" processes run simultaneously. Even a very fast, modern desktop computer would feel very slow if it were processing a billboard size image, factoring a large integer and trying to load a webpage all at the same time.

Deciding what constitutes "not too many," though, requires a level of technical sophistication beyond what normal people should be expected to know. So, in essence, Apple just defines "not too many" to be one application's processes plus a few important system and first-party processes.

This system tends to work quite well as far as I'm concerned, and I'm certainly a demanding computer user. On the iPhone, the display is far too small for me to want more than one application eating up the screen. I haven't touched an iPad yet, so I will reserve final judgement on that device relative to running multiple applications side-by-side. That said, I'm so used to using computers with large, widescreen displays that I expect I will have similar feelings about the iPad. In fact, my old 12" PowerBook G4 from way back in 2003 had an XGA resolution display, just like the iPad. While I loved that model's compactness, (relatively) low resolution display drove me crazy by the time I was ready to buy a new computer.

But I do believe Apple needs to give third-party developers at least some ability to run processes in the background. Specifically, there are two cases where I feel like developers should be able to run background processes, and I suspect that if developers were allowed this level of access it would go a long way to ward off this notion that the iPhone OS cannot multitask.

First, developers of applications geared toward audio playback — Pandora, NPR, AOL Radio, etc. — should be able to latch onto some sort of background audio playback API, with behavior similar to that of the iPod application. The AOL Radio application is useless to me if I can't open Tweetie at the same time.

Second, developers of applications that "sync" — OmniFocus, Things, Tweetie, etc. — should be able to launch some kind of periodic background process, say something that runs every hour, or at some user- or application-specified interval. I hate sitting around for five minutes while OmniFocus syncs with the server whenever I launch it. (Aside: As much as I like OmniFocus, it takes far too long to launch. Things for iPhone, which I idiotically paid $10 for and never used, launches almost instantly.) I feel like this strikes a nice compromise between performance, battery life and convenience. It keeps the application in sync, while not killing performance and the device battery by keeping the whole application open in the background. Before MobileMe and Google switched to push email, I had the iPhone's Mail application setup to do something to this effect and it seemed to have little impact on performance and battery life.

And on another related note, Apple desperately needs to do something about the iPhone OS's notifications system. It's one area where Palm's WebOS and the Google's Android OS have an unambiguously superior interface. On the one hand, the notifications that do show up on iPhone OS bring the device to a screeching halt. I want to know I've received a new text message and see who sent it. I don't want a dialog box to interrupt my movie or the email I'm composing, however. On the other hand, other notifications are too subtile. When I receive a new email, it would be nice to see who sent it or perhaps the first line or two of its contents. For now, though, the iPhone OS just makes a pinging noise. In many ways this makes sense, for with the present notifications system, having one of those intrusive dialog boxes open every time I opened an email would drive me crazy.

Despite what certain computer enthusiasts claim, I don't see any real reason to enable true multitasking as it exists on traditional desktop operating system on the iPhone OS, or any other "mobile" operating system, for that matter. Physical limitations make it undesirable from the user's point of view, and hardware limitations make it somewhat costly, in terms of performance and battery life. Yet, I do see some room for improvement when it comes to audio playback and periodic background tasks. Hopefully UPS will delivery my iPad tomorrow so I can attack this issue from a slightly more informed perspective.

No TrackBacks

TrackBack URL: http://www.kibeland.com/cms/mt-tb.cgi/352

Leave a comment