The Problem With Home
If you sit and watch people use an iPhone there’s a mistake made often and reliably: They hit the home button when they mean to just go back to the app’s main screen. Going home has heavy consequences—to recover you’ve got to find that app again, sit through its splash screen, and fiddle the app to where it was before. The home button is the grunt-and-touch control of physical affordances. While iconically simple, the one bit of information it lets you indicate is too little.
Android and Palm’s WebOS have a different but related problem. Instead of providing a home button, they provide a “back” gesture/button in addition to a home button. At first this appears to be better with its strong allusion to the ubiquitous browsing metaphor. But back on the phone is unpredictable: it might mean return to the last screen, the last area, or even the home screen. You never know where back will take you. Worse, there is no undo to “back”; without “forward” back becomes a minefield of maybes and didn’t means.
Another subtle problem of “back” is that it adds cognitive overload: you have to choose which to use, back or home. Because the functionality of home and back overlap this adds a non-insignificant Hick’s law penalty. It makes it hard to form a lasting habit, and lasting habits are the hallmark of a good interface.
The home button is too simple, and the back button’s mental model is too complex. What’s a better solution? We need a solution which is as simple and iconic as the iPhone’s home button, but provides a richer range of expression without the complexity of the Android/Palm back mechanism.
The joy of the iPhone’s home button is that no matter where you are, or what confusing app you’ve got into, you can always escape. On the other hand, users often want a way to return to an app’s home-screen, and avoid the sometimes befuddling inter-app navigation. That’s why people make the mistake of hitting the home button when that’s not what they want. They want to escape whatever hierarchy they’re in and get back to the top of the app, but the one-grunt button brings them to the phone’s home instead. So instead of trying to define the ambiguous back from Android, let’s extend the concept of home a bit to have two levels: phone-level home and app-level home. The first goes to the phone’s main screen, and the second returns to the app’s main screen. An escape lightly and escape fully.
The elegance of this system isn’t apparent, however, until you get the physical portion of the interface right. For instance, you could have two disparate buttons, but that wastes space, looks inelegant, and means you have to decide a priori over which button to move your finger. A better solution comes from camera shutter buttons.
Camera shutter buttons have a two-stop action. Half-press them to lock focus and aperture settings, fully press them to take the picture. There’s a delightful tactile indent at the half-way mark so that your fingers know what’s going on. Let’s borrow this two-stop action for the home button. Press half-way to go to the app’s main screen, all the way to go to the phone’s main screen. If you need to fully escape mash the button. If you just want to head back to the main-screen of the app, tap lightly. You can easily convert a light-press into a heavy-press mid-action. It’s as naturally a mapping as you are going to get.
The two-state home button is a more subtle and humane solution than what I’ve seen, while still retaining the iconic simplicity of the current iOS solution. Personally, I hope an Android OEM decides to make it happen. Are they any better solutions? If you’ve got one, put it in the comments.