I'd rather live in a one-button world

Jeff Atwood doesn’t like how his iPhone only has one button.

I have the same issue with the single button on the iPhone that I do with the single button mouse – it may be OK-ish at the very beginning, but over time it leads to absurd, almost comical overloading of functionality.

The overloading of one button leads Jeff into some unfriendly circumstances:

In particular I spend a lot of time double-clicking to get to the active apps list, and I often mis-tap which kicks me over to the home screen. I have so many apps installed on my iPhone that search is the only rational way to navigate. This means I search a lot, which requires clicking once to get to the default home page, pausing, then clicking again. Sometimes I click too long, which is then detected as click-and-hold, and I get the voice search app which I am … er, not a fan of, to put it mildly.

I think Apple is going to fix this in the next OS update, but regardless of these ugly edge cases, I’m still a big fan of the single iPhone button. For the most common things I need it works perfectly well and I’m willing to accept the very occasional unintended Siri summoning (though it is very annoying that even with the phone in mute, Siri still makes noise).

My preference for a single button was especially reinforced after a trip to London this past weekend that involved using a Samsung Focus Windows Phone 7 for four days. For a variety of reasons (random reboots, reboot loops that drained the battery in my pocket, frequent errors and app issues, lost pictures, non-responsiveness to taps, the list goes on) it was an infuriating experience. Atop the list of infuriating things: that damn back button.

You would think it makes sense to have a permanent back button. Atwood makes a good case:

While I’ll tentatively agree that not all phone apps have to behave like the Internet, the Internet is becoming more and more of a platform for bona fide applications every day. The back button is a UI paradigm that works like gangbusters for webapps, and I’d argue strongly in favor of that being a hard button on a device.

Unfortunately, apps are not as well suited for ‘Back’ buttons as web pages. Let’s go back to Jeff’s problem with the home button being too overloaded. The Windows Phone 7 back button suffers from the exact same problem, except the context is switching far more often. Let’s look at what the back button does in WP7:

  • Goes back to the home screen after launching an app
  • Navigates the web browser back a page, until the history stack runs out, then navigates back to the home page (this also appears to not save stack state consistently so if you open the browser, view some pages, go somewhere else and come back to the browser later and want to navigate to an earlier page in your history the back button will instead throw you back out to the home screen instead of the last page in your web history).
  • Press and hold to switch between ‘open’ apps
  • Switch between apps if, for instance, your email has a link to a web page in it
  • Sometimes switch between views within a single app
  • Sometimes it just does nothing at all

It does not go back to a previous ‘pane’ of a panorama view or whatever they’re called. So if you’re in one column, and you swipe to another, effectively changing the view and you hit back, you’ll either go up the view stack within the app, or back to the home page if you’re already at the top level.

All of this combines for endless confusion. I never knew where I was or where the unlabeled, generic back button would take me back to and what I was expecting rarely happened.

The bottom line on the WP7 back button is that there is zero reliable information available to you about what will happen when you press it. And this is the problem with elevating it to a permanent placement. No app or context has consistent back semantics.

A single button also forces app developers to think a lot more about how their apps are organized and navigated. There are platform conventions that Apple has gone a long way to espouse so that within every app the navigation experience is consistent. Good apps have the back button on the top left with the name of the previous screen so you always know where you’re going.

A lot has been written about the history of why the original Macintosh only had one button on the mouse. While this annoyed ‘power users’ like myself in the 90s, I have come to appreciate that this decision may have been one of the most important things Apple ever did for desktop computing user experience. Windows became a maze of context menus as it grew up and I rarely find the need to right click in OS X to this day. The entire experience feels more fluid to me because of that.

In the same vein, I think the single button iPhone set touch computing on the right track and forced the software UI to be far more intuitive and less confusing.