Multitasking, etc.

As you’re a human being, you’ll have no-doubt grasped that this post is largely about multitasking. Specifically, it’s a discussion of mobile OS multitasking, its disconnect to human multitasking, and the larger scope of it all. As you can imagine, this will be a fairly long post. Not a novel, but not a couple of paragraphs either. So go grab something to drink now. I’ll wait.

Before I begin, some quick housekeeping notes:

  1. This post builds upon some rather fantastic posts by other writers, but with my perspective from the ground up. I have a small selection of others’ posts in the footer, and I highly recommend reading them.
  2. I’ve broken this down quite a lot more than usual. If you’re reading this in an RSS reader, I’m sorry.
  3. This is not an iOS v. Android comparison, nor is it necessarily iOS-centric. It’s the platform I am most familiar with, so it’s easiest to talk about at length (however, aspects of other platforms will be also discussed).
  4. The post begins with a quick primer[1]. Don’t skip it, though — I rather like it in-context.

Enthusiasts v. Normal People

Everyone is an enthusiast, a know-it-all and a devotee of something. Some people are crazy about music, others about fly fishing. I, for instance, am a bit of a nut for cars and photography. I’m not an expert in either field, but I respect and admire both. Let’s start with photography.

Professional photographers would scoff at the default camera app in the iPhone. It’s far too simple, and far too imprecise. There’s no way to adjust the ISO, the exposure or the white balance. But most people don’t care about adjusting those things. They open the camera app to get a quick snap of the events of that moment, and that’s it. For most people, the default camera app is all they need. For enthusiasts, alternative apps exist (such as Tap Tap Tap’s fantastic Camera+, which offers much finer control).

Let’s talk about cars[2]. Normal people want a reliable car that doesn’t look too ugly to get them from point A to point B (and maybe the elusive point C, if they’re feeling frisky). They care about the comfort of the seats, the quality of the stereo and the colour of the paint. Non-human-beings like myself want to know whether or not the engine is direct-injected, what kind of transmission it has and the power distribution ratio (if it’s four-wheel drive). I’m an enthusiast who actually cares about that sort of thing, but if I were marketing an average car, I shouldn’t expect an average customer to deal with those sorts of decisions.

In both cases, an average consumer simply wants the best outcome possible, with the fewest nitty-gritty detail decisions. They just want their photos to look good, and their car to drive well.

Multitasking on iOS

To begin, let’s state the obvious: iOS doesn’t multitask. It does something I like to think of as task juggling. Sure, a few of Apple’s applications do true multitasking: emails and SMS messages and sent and received in the background, and new events on an Exchange calendar get automatically pushed to the device. But third-party apps aren’t allowed to do true multitasking.

There are a few multitasking APIs developers have access to. Pandora can continue to stream music in the background, Flickr can upload your snapshots, and Skype can receive incoming calls. Despite the initial whininess by some pundits, it actually works pretty well in most apps for most users. Apps that don’t really do any of these things (say, a game) get put into a “sleep” state when you switch away from them. When you switch back, it restores to the state it was in before you had to answer your modal iOS notification.

This implementation has a huge upside: it helps keep battery life high by only running the most relevant background processes. It also offers a downside: applications can’t periodically refresh. That means your Twitter client, RSS reader and Facebook will refresh next time you switch to them, but not while they’re sitting in the background. Some clever people have devised some clever hackish workarounds, like Boxcar which shows push notifications for Twitter and Facebook.

These two rudimentary paragraphs are probably obvious to those who are tech-savvy, and were probably boring. They’ll tie into the overall story, though, so keep reading.

iPhone v. iPad

This method of task-switching works pretty well in the single-task, single window environment of a phone. Imagine trying to juggle a couple of instances of Safari on a 3.5-inch display. It’s hopeless. Despite its 10″ display, the iPad also adopts these UI conventions. The larger screen, running at the same resolution of desktop displays of not-that-long-ago, is dominated entirely by one application, no matter the mental real-estate that application occupies. Watching a movie, writing a tweet and editing a document are all done at 1024 × 768.

When writing a blog post, I often have a few Safari windows open, a plain text editor and my Twitter client. I’m often referencing them all, and it’s easier to keep them all open on my XXL canvas (since tidied). A computer OS treats these as separate tasks — its definition of task is an application process. My definition of task is “the thing I’m working on.” Since a modern desktop architecture supports multitasking and multiwindowing, I can adapt and treat them as one task, even if the OS doesn’t. This is in stark contrast to the iPad, because it lacks both. Another example of this would be my web development setup. Again, it consists of multiple windows for various discrete tasks, even though it’s only one thing I’m working on.

On a phone, users don’t want to micromanage tasks. Every time I use someone else’s iPhone, their multitasking tray is full of every application they’ve ever launched. This is OK, because none of them are actually running on an iPhone (Android also puts unused applications into sleep mode, and Windows Phone 7 doesn’t have multitasking).

On the larger screen of the iPad, this doesn’t work as well. Multiple OS tasks may be one user task on that kind of device, and iOS only supports single-window tasks. Viewing only one app at a time is inelegant and inefficient. If you have an Android tablet, a Finnish company has developed an application called Ixonos, which allows you to have multiple windows open at once. But if you watch the video, it also proves itself as inelegant and clunky. The controls are far too small on a 10″ screen[3] [4].

Clearly, it’s your fault

I briefly mentioned my web development setup above. It usually consists of a Photoshop window or two, a tabbed plain text editor, Transmit, and a couple of browsers to test in. It’s a setup that works really well on my desk, but is hopeless on a 10″ tablet (let alone the Samsung Galaxy Tab’s much smaller 7″ screen). But, and this is important, it isn’t the OS itself that makes web development on a tablet a horrible experience[5].

As I pointed out above, it isn’t just multitasking and multiwindowing (or the lack thereof) that affect the user experience. Even if the iPad had multi-both, it’s just too small to switch between all of those windows. In this case, as usual, it’s up to the user to delineate what is, and what is not appropriate for a tablet.

When Apple introduced the first iPad, they told people exactly what the tablet’s focus would be. They showed off the web experience, email, productivity, multimedia, books and games. It’s casual computing for average people. When Apple introduced the iPad 2, they didn’t change their focus one bit. The addition of cameras are the only slightly broadening factor, but even they fit into the scope of a casual computing device (the rear camera is an crappalicious 0.7MP). The increased RAM and the faster CPU are only there to enhance user experience when running and switching apps, not to provide the ability to run many at the same time, on the same screen.

Something about average users?

Average people (my dad, not my IT pro dad) understand the multiple windows ∴ multiple apps paradigm. They would be absolutely comfortable with a larger-display tablet. The trouble with a large tablet is that it further grains the market, because it’s niche is confusable with that of a consumer laptop. Instead of a simple tablet → consumer laptop → power laptop product line, it becomes something closer to simple tablet → power tablet and/or consumer laptop depending on what you’re doing with it → power laptop (never mind that the MacBook Air throws a wrench into Apple’s own product line).

I didn’t bring up the MacBook Air arbitrarily there, by the way. I see this hypothetical future iPad XL (or whatever) as being the Air of the tablet line. The Air is very specific: it’s a lightweight, go-anywhere MacBook that drains power from the battery through a pipette. In much the same way, an iPad XL would be the combination of the OS X desktop experience and the iOS touch interface. It’s probably the future.


Footnotes

  1. It’s pronounced as rhyming with “trimmer”. The word that rhymes with “rhymer” is the stuff you put on walls before you paint. [↑]
  2. This section is clearly inspired by John Gruber’s post linked below. [↑]
  3. For your convenience and mockery, here is a mockup of an iPad with multiple instances of Safari running. You can even try syncing this image to your iPad to see just how awful that is. [↑]
  4. Clearly a 15″ screen would be much more friendly to a multi-window tablet OS. Don’t mention those “tablet” convertible laptops, though. Windows is not a touch OS, no matter how many shells and skins are applied to try to make it one. [↑]
  5. That said, I have heard rumours that one of my favourite web development environments is getting a “lite” iPad counterpart. [↑]

Further Reading

  1. Frank, Steven. I need to talk to you about computers.
  2. Gruber, John. Various and Assorted Thoughts and Observations Regarding the Just-Announced iPad.
  3. Quintana, David. Mobile Multitasking.