Shared publicly  - 
My Android 4.4 wishlist (part 2): Address the back button.

When I first switched to Android, I loved the back button. I thought it was highly intuitive, and one the strengths of the system. But over time I’ve done a complete 180. My reason is simple: I can never tell with 100% accuracy what pressing that button will do. Increasingly, that 1 in 20 time when I get taken somewhere unexpected really pisses me off.

The recent introduction of the hamburger button for sliding navigation menus has made things a little better in this regard, but I feel there’s still a long way to go.

Some particular beefs I have with the back button are:
1). I can’t tell at a glance whether pressing that button will dismiss some UI of the current app, take back up the app’s screen stack, kick me out of the current app or possibly something else entirely.
2). The back button requires that users keep a mental stack in their heads. The main time this causes issue for me is when I put the device down and pick it up again later - it can be tough to recall what I was up to previously, and in those cases I don’t know what pressing the button will do.
3). Since the Up button was introduced in Android 3.0, there are now two buttons that take you back. Sometimes they go to the same place, sometimes they don’t. I personally question whether a muggle can ever fully reconcile with having two buttons that take you back, but in subtly different ways.
4). The very first time the back button is displayed to a user on the default system launcher, the button is clickable, but doing so results in no action. That’s right - the very first impression of this button teaches the user they have to make a mental note that 'pressing that does nothing here'. Right from the start, users have to start making special case rules for what the back button does depending on where they are in the system. This is bad.
5). 3rd party apps have no control over the appearance or visibility of the back button. 

I think the software navigation keys introduced in Android 3.0 provide a good opportunity to fix at least some of the underlying issues with the back button. Certainly points 1, 3, 4 and 5 could be addressed to varying degrees by modifying the appearance of the back button at runtime.

Possible solutions here:
1). Add new APIs so that apps can give a hint to the system as to whether they will handle a back button press in a custom way or not. Once these APIs are in place, the appearance of the back button can be modified to give users a hint as to what pressing it will do. 
2). Change the appearance of the back button somehow based on whether pressing back will take you out of the current app or not.
3). If pressing Up and Back will take you to the same place, change the appearance of the back button to match the Up button’s < appearance.
4). Allow certain apps to hide the back button (even if this is limited to launchers set as the default). When pressing a button has no function, it shouldn’t be displayed.
5). Beg, plead and offer the kingdom to Samsung to get them to ditch their Android 2.x hardware navigation keys and embrace the software navigation buttons. Once Samsung change, most OEMs will likely follow suit. 

Given the paltry number percentage of the billion+ Android devices that use software navigation keys, it’s likely too late to fix the problem for the majority of these devices. Arguably it’s too late for most of the next 200+ million devices to be sold also. But there may still be hope to improve the situation for the billion+ devices after that. 
Eli Gukovsky's profile photoBrian Lippman's profile photoDenny Kluge's profile photoRomain Ducher's profile photo
Twitter is literally the worst offender I've seen. It starts a new activity for every profile and tweet you click and before you know it you have to click the back button 10+ times in order to exit the app.

I find the back button better than the single home button in iOS in that it usually just goes back, but I agree that there are also times when I just hate it.
I completely agree with what you posted Chris. It's extremely annoying, and quite a lot of the time I find myself hesitating to press the back button for fear of getting kicked out of the app :/

I love the idea of changing the look of the button depending on context... But... I don't think android should force phones to only have soft keys, well not even soft keys, on screen only keys.

Android is designed to work across many types of device, forcing something like this could severely limit it's usefulness on those other types of strange and wonderful connected devices I think..? 
With regard to Samsung and the hardware navigation buttons, I think there's a bit of a catch-22 here: if Google keeps using valuable screen pixels for a set of navigation buttons that never EVER change, then Samsung probably isn't going to ditch the hardware buttons. Fixing the back button behavior would be a good incentive for this.

Alternatively, maybe Google should put a hardware home button on the next Nexus devices. Apps with a Honeycomb-style Up button can get those pixels back, and old apps get virtual controls the same way that apps which need a menu button do on the HTC One.
I agree with the ambiguity argument. It pisses me off to no end when I hit "back" and the whole app closes.

But I hate taking up screen space with buttons. The screen is, by design, the transmitter of information. Transmitting info is the whole purpose of the device, and so long as a bezel exists, I want the buttons there. Make a device that is all screen, then we talk about sacrificing screen space for input over content.

Second, I want a physical home button. Unless you marry the "double tap" gesture with the Moto X "always listening" feature, using a device without a tactile button when driving, walking, etc... is dangerous to the point that you have to choose between using it or risking safety... and most people will take the risk.

Hell, after several months, I still can't get my Note 2 to wake up when I'm driving and say "hi galaxy".
+Rachid Otsmane-Elhaou my proposal is just improve the functionality of the back button when software keys are present, and encourage OEMs (starting with Samsung) to allow the back button appearance to be modified at runtime. I'm certainly not suggesting mandating that a hardware back key be outlawed.
What I don't understand most is apps that smash the back stack. Take Gmail for instance. Suppose you are in an app, get an email, and tap on the notification to open it. Read the email and hit back. It takes you up to your inbox. Okay, fine, I can see that being useful sometimes (multiple new messages, for instance), but hit back again (maybe more times if you aren't at your top-level inbox yet) and boom , you're at your home screen, not the last app you were using. ?!

But yes, I would love to see the back button be more expressive, if you will: Change look depending on what it does. It already does this in a limited capacity with the keyboard (down arrow for collapse keyboard). Maybe it would encourage more on-screen nav buttons. I want to stay with a phone with on-screen nav buttons for the possibility this kind of thing gets added to Android.
One of the key reasons I chose a Nexus 4 was for on screen navigation buttons. I love the idea that, at some point, Android navigation buttons could be changed with software updates or, maybe even customized.
they already customized the back button to retreat the virtual keyboard in Jelly Bean (4.1, I guess). so maybe they should keep on doing that for other cases, like you mentioned.
I agree with most of what you're saying here, but the big underlying issue is that the system is in the same situation as the user in that it has no idea what the back button is going to do either. The only thing it could really do is give some indication that onBackPressed() has been overridden and may have a custom function, but that doesn't help the user and may just be more confusing.
Allowing apps to change its appearance in subtle ways could be good, but in the end it relies on developers taking part, which in a lot of cases just won't happen.
I think the big issue is that in general, Android needs to take a little more control over its apps and in some cases, define some more finite rules, rather than just "guidelines".

On the whole though I think that back is still a positive for me, like in many areas in Android, where you lose out in consistency, you gain in functionality. Being able to open one app from another and then navigate back with a single tap is much quicker than having to use a multitasking view.
+Peter Kiddier that is an excellent article. He does a great job of going through what can happen with the back button in various instances.
The back button is awesome it just needs some fine tuning and while I agree with your post I'd much rather have it like it is then have nothing. One thing that iOS 7 is now dealing with is the back gesture which is totally broke. At least this has some consistency of what it's suppose to do and most of the time it does do what I want. All it needs is better guidelines for developers to follow and implement so the consistency is 100% . I find that YouTube is the worst defender in which I always hit the back button to go to the previous screen and it kicks me to the home screen. The back but to needs to be defined better of what Google actually wants
I think a lot of the "WTF will back do?" issues would be solved if developers actually followed the design guidelines and created synthetic back history for the new task that is created when their Activity is launched from a notification.

Few apps outside of Gmail and Calendar actually do this.

I suspect most developers (assuming they've read the guidelines) dismiss this requirement as being counter-intuitive, without considering the quite common scenario of a user navigating away from their Activity by hitting home or using the recents button and then resuming the task hours (or days) later. Do we expect a user to remember how they entered our app the last time they used it?

Since Android 3.0, the back button is always local to the current task and does not cross task boundaries. Each task is also rooted at the launcher/home screen. This, along with the introduction of the recents button, brings the Android navigation model somewhat closer to a web browser - a new task is like opening a link in a new tab. Pressing back to navigate through a tab's page history will never take you to a page that wasn't ever opened in that tab.
As you said +Jeff Gilfelt few apps for this, and Google is one of the offenders. They need to be setting an example, but as it is their own apps pretty much do what they like with regards to the back button stack. 
And the Samsung will make a forward button, because screw designers and sane people.
I've never once found myself frustrated with back button even if it didn't do what I had anticipated. On top that having used both I still prefer physical buttons to on screen although I agree I wish Samsung would ditch the small - big - small setup in favor of more uniform size & layout. I find devices power button & volume rocker placement infinitely frustrating especially ones that place right on top of each other. 
Wow, I've been with Android for so long that I'm totally used to it. Doing the 20 tap back mash out of twitter is an annoying thing I'm used too. Good point..
For all the faults mentioned I still love the back button, I do like the idea of it turning into an "off" icon if it's at the point where pressing it will take you out of an app.

Bribing hardware makers (even just Samsung) to adopt software buttons is a solid idea too. 
Jim Jam
From the hate looking for new cheese department, I miss WebOS... 
I'm a big back button fan. I use both Android and iOS and it's such a relief to have my back button when all I want to do is go back!
I feel like Google knows there's a problem with the back button, but is being slow as molasses to fix it. The best thing they've done with it in (i think) the last year is that when you have software nav buttons and have the keyboard up, the back button turns into a down arrow, signifying that pressing it will close the keyboard. They just need to expand that functionality, like change it to the hamburger if its going to open the slide out menu, or the "less than" arrow if its going to go back in the app and the normal back arrow if its going to close the app. 
More API and more freedom = more complicated stuff...
As a new user the fact that third party apps can't mess with the system is a strength, but I agree that the functionality is inconsistent. 
+Chris Lacy It should be the same as chrome... If you hold the back button you can choose what to go back too
How come brilliant posts like this never hit my 'trending' stream? Google, are you hiding this stuff from the masses on purpose??? 
We've already got the arrow down for the keyboard, which should be made to apply to all dismissible UI elements.

The normal back button is fine for going back inside the same app, or change it to an arrow pointing left.

Perhaps use a double left arrow could be use to signify when you'll move back to a different app.

And finally, use an "X" to show when the button will take you back to the homescreen.
One easy thing to do to help is not letting the app close with the back button. The home button can be used for that.
I have no issue with the way the back and up buttons work today when it's well implemented in the app (which is mostly the case in the apps I use).
I like the back button. It works great at least 95% of the time for me. The other times, it's not the fault of the back button, but the developer for not conforming to the standards.
I think you guys are missing the point. The functionality of the back button isn't the issue, its that it doesn't let you know what it's going to do 99% of the time.

Is it going to go back in an app?

Is it going to close the app?

Is it going to close this app and open the previous app or go to the homescreen?

Is it going to open a slide out menu?

The only time it tells you is when the keyboard is open. Google needs to expand that to every function. 
Very well written. I totally agree with you.
Why not but this is not the most important. The main thing is about the tablet UI. Google had better ditch the non ergonomic Jelly Bean tablet UI and go back to the 4.0.x ICS tablet UI, expecially for > 9-10" tablets. The JB tablet UI is an UI optimized for just one Android tablet (two tablets since this summer) in a world made of plenty of different Android tablets.

This crappy UI makes me flee Android tablets (I only use > 10" tablets).
Add a comment...