iPad Multitasking

iPad Multitasking

There's a good chance that side-by-side multitasking[1] is coming to the iPad.

There are lots of reasons to suspect this, including credible rumors and Apple's recent focus on pushing the iPad in the enterprise.

Perhaps the most compelling evidence, however, is that there is already code in iOS for multitasking. Developer Steven Troughton-Smith found it last summer.

It may be coming, but how would a full multitasking solution work? Here I present to you a carefully considered guess.

Prototype


The concept video above demonstrates my prototype. It's quite simple. In the app switcher, swipe down on an app to queue it for multitasking. Find the other app you want to multitask with. Swipe up. The two apps are now presented side-by-side. To end multitasking, swipe down on the paired apps in the app switcher.

Foundations


I start from the premise that Apple is actually quite conservative when it comes to iterative design. As Gruber puts it, they roll. They are not going to add a whole bucket of new UI idioms if they can avoid it. That's why I think multitasking concepts like this that involve complicated new UI concepts aren't likely.

Instead, I think Apple will build on what they already have. And what do they have?

App Switcher

Fundamentally, side-by-side multitasking is window management. And there is only one place where window management currently happens in iOS: the app switcher.

The app switcher is not overloaded with content or gestures, either, so it's not a big stretch to add more. There is just a scrollable list of apps, your recent contacts, and the ability to swipe up on an app to quit it. Nothing happens when you swipe an app down, or tap and hold on an app, or pinch, or any other gesture used elsewhere in iOS.

Mail Compose Sheet

Multitasking requires queuing one app for multitasking while you go find another. Luckily Apple introduced exactly this kind of behavior in iOS 8 in Mail.

Status Bar

If two apps are shown side-by-side, then the status bar will have to be managed by the system. Status bar special cases have been around since the first iPhone (the status bar would turn green when you were in a call but not in the Phone app), and they've been expanded since. I anticipate multitasking to use one as well.

Status Bar

Memory

Apple doubled the amount of RAM in the iPad Air 2 from 1 GB to 2 GB. Because every app that runs on the iPad Air 2 has to also run on earlier iPads with only 1 GB (or less) of RAM, the iPad Air 2 should be able to run two apps side-by-side without them crashing too often.

Considerations


Changing the Multitasking Split

Will the multitasking split always be 50-50? Or will there be other options, such as 25-75? Although the work-in-progress code that Troughton-Smith found allows for resizing, at first I questioned it. When the iPad is in portrait mode, splitting the screen gives each app 384 points[2] (at most - multitasking may include some sort of system-drawn divider between the two apps).

If multitasking allows for anything less than 320 points - the iPhone's screen width in portrait - then developers will have to create all new designs for it. As long as the multitasking views are guaranteed to be at least 320 points, developers can leverage their iPhone layouts (which should already be able to handle widths greater than 320 points, thanks to the iPhone 6).

If Apple wants to guarantee 320 points in portrait, they can't do a 25-75 split or even a 33-66[3] split. I don't believe Apple will kneecap developer adoption of multitasking by allowing widths less than 320 points, and I don't believe they will limit multitasking to only landscape (which would make a 33-66 split possible).

There's a simple solution, though: only allow 50-50 splits in portrait but allow resizable splits in landscape. When the device is rotated, the split adjusts.

Of course a larger iPad might make this whole complication go away.

More than Two Apps

I doubt Apple will allow more than two apps on the screen at the same time. Setting aside that this would introduce the same issues I just outlined with small split sizes, just imagine how many out of memory crashes this would cause.

Launching from the Home Screen

What if you multitask two apps, go to the home screen, and then launch one of the multitasking apps? I would argue it should not end the multitasking, but simply show that app in its multitasking view.

This may be a little awkward in that when launching an app from the home screen, the icon appears to expand out and morph into the app. This effect won't work as well if the app is only half the screen. Perhaps Apple will change the animation if the app being launched is multitasked.

Requiring an App to be in the Switcher

This proposal requires the two apps you want to multitask with to already be in the switcher. What if you want to multitask with an app that you haven't launched yet? Too bad, I say. Maybe this will finally end people habitually quitting their apps to "save battery".

Apps that Don't Support Multitasking

Not every app will support multitasking. Most games, for example, are not going to be able to multitask (mainly because they are designed to specific screen sizes). What should be done with those apps? I favor removing them from the scrollable app list when an app is queued for multitasking. However another option would be to keep them in the list but fade them out or give some other visual indicator that they are not available for multitasking.

App Crashes

What if a multitasking app crashes? Should it attempt to reload in place in the multitasking view, or should the multitasking session end? This is one where I don't have a sense for what the right answer is.

Orientation Support

Apps don't have to support all orientations. App developers can choose to only support portrait or landscape orientations. Annoyingly, they can even support only one orientation of portrait or landscape (home button on the bottom, for example). So what if one of the multitasking apps supports an orientation, but the other doesn't? I believe the answer here will be that for an app to support multitasking it must support all orientations.

Edge Swipes

Many apps support edge swipes. Apple's apps, for example, frequently use edge swipes to go back. Will these be supported when multitasking with an app? Although it may be possible for iOS to detect a swipe that starts in one app and crosses over into the other (the multitasking equivalent of an edge swipe), the bug potential seems high. The issues I have with swiping up for Control Center don't give me confidence that edge swipes can be implemented without issue in this way.

Another option could be a generous divider between the two apps where edge swipes can start.

Drag and Drop

This one is getting a little out there, but I do wonder if Apple wouldn't include some sort of drag-and-drop functionality as part of a multitasking implementation. It would be pretty great to select some text and just drag it into a note instead of having to copy and paste.

iPhone Support

Nope.

Alternatives

I thought of a lot of alternate approaches, but none of them had the elegance and simplicity of what I've presented here. In case you're curious, though, here are a few I considered.

  • The engineer solution (a.k.a. Samsung style). Put an "Add App" button somewhere (Control Center, Multitasking Switcher, wherever). Tap it and a home screen-esque layout comes up to choose another app. I discovered that, unsurpisingly, others have thought of this as well.
  • A riff on Apple's work-in-progress approach. What if a two-finger edge swipe pulled in the next app in the app switcher? It's certainly simple; there is essentially no new UI. But I think this is too fiddly. The other app would not only need to be in the app switcher, but it would need to be the last app you used. It would also be unpredictable, since the next app might not support multitasking.
  • Variations on my prototype, such as dragging and dropping one app onto another in the app switcher (somewhat akin to organizing apps on the home screen, and we all know how frustrating that is) or pinching two apps together in the switcher (which has the problem of requiring the apps to be next to each other first).

Follow me on twitter: @jerkob
Mockups were made using Framer Studio


  1. From here on I'll just use "multitasking" to mean side-by-side multitasking. ↩︎

  2. On non-retina iPhones, one point is the same as one pixel. On retina screens a point is more than one pixel because of the higher resolution of the screen. ↩︎

  3. Yes I know those don't add up to 100. ↩︎