Backstack

Backstack flow
Backstack flow

Top-level views don't have Back, subsequent pages do

An application's Home screen (i.e. the screen users see when they launch that application for the first time) does not provide a Back button, while subsequent pages do. An exception applies to applications using a Tab Bar + Back Navigation model. In this case, the Back button is visible but disabled at the top level.

Returning to top page clears History

Whenever the user returns to a top-level page, the Back button is always reset and disabled.

Back always returns to previous view

Without exception, the Back button should always take the user back to the screen she was just viewing. It should not take her to some other screen in the hierarchy. For example, if the user links from a top-level Music page to the Detail View for a specific album, then hits the Back button, she should go back to the top-level Music page, NOT to the category page to which that album belongs.

In this way, the Backstacking model is historical (i.e. taking users back in their history) and not hierarchical (i.e. taking users up to a predefined level in the application hierarchy regardless of whether or not they arrived from that view in the hierarchy).