Musings on Multitouch in iOS 4.3 Beta

In the first beta for iOS 4.3 that Apple released to developers they included some new multitouch gesture support.  For instance, swipe up with four fingers and the "task bar" is revealed or swiping left/right with four fingers to move between apps. This has even generated speculation that the next iPad will not have a home button. For Apple's sake, I hope that speculation is wrong.

For the record, I don't think there is any way that options in a relatively minor iOS update would have any bearing on what everyone seems to agree is an imminent hardware refresh. That sounds a bit like putting the cart in front of the horse and that just is not The Apple Way.

Regardless, the gestures themselves need some work. I'm perfectly fine with the four-finger swipe up to see the "task bar".  This can be done instead of the double-press on the home button and it does have a natural feel to it. It appears as if you are sliding the entire iOS interface up to reveal a hidden controls compartment.

The gesture that I'm having a hard time with is the left/right four-finger swipe to switch between apps. In concept, I really like the idea. In practice, it works well if you keep going back and forth between two (or at least a very small number of) apps. If you are writing an email and referencing things in Safari for instance, it's lovely. But here is the problem. It's a spatially based navigation system where there are no visual cues for where you are in that space.

Yeah, I know. That sounds like gibberish so let me explain what I mean.

The space that we are talking about is the "task bar" and the navigation that occurs is happening within that bar while that bar is not visible.  Right now you are probably asking me why that's a problem and I'll retort by asking you why it isn't.

...

Well, that didn't work out so well for either of us, so maybe I need to answer you instead. I will enumerate my issues:
  1. How do I know when the app I am using is the first app (or the left-most) app in the stack? If you haven't done any app switching yet, then the app you are currently using will always be the first app, but if you have been navigating the stack, you won't know until you swipe from left to right and nothing happens because there are no more apps. (That's not exactly true. Something does happen. You get this clever little "rubber-banding" of the app screen to show that your gesture registered.)
  2. The order of apps is not constant. It's based on the order that you have been using them. What this means is that you find yourself shuffling through app screens because you thought you used something 2 apps ago, but forgot that you checked the weather and the stock market somewhere between then and now. It would have made more sense to pull up the "task bar" to go directly to the app you knew you wanted.
  3. You may notice that I keep putting "task bar" in quotation marks. That's because this is really the "recently used apps" bar. Everything in this area are things that may not actually be running. In fact, most of the apps that show up in this area for me are not running. (I know this is a simplification based on how iOS implements multitasking.) You are, however, allowed to swipe into a non-running application, thus starting it up. Since, depending on the application, this usually takes a few seconds, the kind of page-flipping action bogs down.
Maybe I am expecting things to work a little more like Command/Alt+Tab does in OSX/Windows. The concept is very similar with a few important differences. First, on the desktops all you see are active documents/applications. Next, the stack navigation allows looping (if I'm sitting on the first app in the stack, I can "move" left one spot and end up on the last in the stack). And finally, even though the order of applications is based on what has been most recently used, the fact that you can see what the current order is as you move in the space is huge.

I like that Apple is experimenting in this area. I can see how this, with a bit more polish, would be an improvement on the whole iOS experience. But it's just not there yet.

Comments

  1. Right, but what if you want to, say, make a finger painting app for kids? Tell them that they can't draw with four fingers? Right, try explaining that to a two-year-old. Essentially what system gestures does is limit developers to only using three or fewer fingers for interaction with their app, since you can't rely on four or more fingers not triggering system gestures.

    This is catastrophic for some classes of apps. For instance, a virtual piano keyboard should be able to handle more than three fingers on keys at once, but unless you're careful to only lift-up-press-down on the keys, eventually, you'll trigger a system gesture (possibly during a performance).

    Developers should be able to respond to whatever touches the user makes in their design space. The this-gesture-that-gesture analysis, while spot-on, is missing the real issue: if system gestures are put into place, when you touch the screen, you are not touching the elements of the app, but an abstracted version of the app which can be interrupted by something you can't see on the screen, something floating around outside/behind the app you're dealing with. Ultimately, that's why there's this confusion about how the left/right swipes work: you can't interact well with what you can't see.

    ReplyDelete
  2. Great points! Particularly since I'm partial to drawing and painting apps.

    So now you've given the developer something else to worry about. You've created more points of failure in their application (as far as a user is concerned, an app swap while hitting four keys on a virtual keyboard is going to reflect poorly on the developer and not Apple).

    Or, assuming there is a mechanism to disable the behavior so that the app takes control back, the developer has to wire that up. And that might be great for the application, but now you have an inconsistent user experience from the OS level since you're short circuiting a global navigation feature.

    It's definitely a sticky problem and I'm not really that disappointed that we won't be seeing it in the 4.3 final release (at least according to current reports).

    ReplyDelete

Post a Comment