User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am now designing an android app, with tab navigation between three activities, where I need to decide how to handle up navigation between different views. Each of these three activities, can lead to two layers deeper in the app (one list view and one content page).

The android guidelines are a bit vague of how exactly up should work and I believe that they leave quite a lot of space for misunderstanding (esp when most of google apps don't respect them completely - play around with google play and google plus for example)

So my question is does anyone has some good advice or has done research that ended up in a couple of rules that make sense to the users regarding where up should navigate to?

share|improve this question

From my experience as an Android user and developer, I've found that there is a big number of apps that don't follow these navigation patterns and the use up as it was back. They don't distinguish between up and back.

Up, as the name suggests, should take user one level higher in activities hierarchy. Whereas back should show the screen that was previously presented to the user (or dismiss dialog/popup/keyboard/action).

However the up button has one property that back cannot do - up can take you to an activity that user has not previously navigated to. See this example:


download bmml source – Wireframes created with Balsamiq Mockups

With your application, as your hierarchy is pretty simple, I'd use up as back. When you have only 5 "screens" and 3 of them make the highest level of hierarchy you don't have a good place to use up that differs from back. I'd design navigation similar to this:


download bmml source

However if your hierarchy looked something like this, I'd use presented navigation.


  • user navigates: ActD -> ActE Tab1 -> ActE Tab2, presses back goes back to ActE Tab1, then presses back and goes to ActD
  • user navigates: ActD -> ActE Tab1 -> ActE Tab2, presses up goes back immediately to ActD


download bmml source

NOTE: Here Tabs are just used as an example of activities that are in the same level of hierarchy. Even the same activity might be "adjacent" to itself in hierarchy when populated with different data.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.