TOP-LEVEL VIEW STRATEGIES
The top level communicates your app’s capabilities by introducing the user to the major functional areas. Some apps will be very focused and have modest navigation needs. In other apps, the top level will consist of multiple views, and you'll want to make sure that the user can navigate between them efficiently.
Select the approach that best matches your app's navigation needs.
Focus on a single view with embedded navigation
. By putting all necessary navigation directly inline with other app content, you make it extremely visible to the user. This can be appropriate when the app’s navigation model is very simple. However, presenting a large number of navigation paths in this manner can reduce the space available to display content, and these pathways could be distributed throughout the screen rather than co-located in a predictable and convenient location.
Use in-context navigation if:
-
Your app has a strong primary view, and no or few alternate ones.
-
Your users can complete the most common tasks easily within the main view.
-
You expect users will use your app very infrequently and will appreciate well-exposed paths.
Use tabs to switch between a small number of equally important views
. If your app has only a handful of functional areas, each with shallow hierarchies, using tabs increases the awareness of these peer top-level views. It also accelerates switching between them, bringing them into view with just a click or a swipe. However, displaying the tabs takes up significant space on smaller displays, and is efficient only for a small number of peers with succinct labels.
Use tabs if:
-
You expect your app's users to switch views frequently.
-
You have a limited number of top-level views.
-
You want the user to be highly aware of the alternate views.
Manage more complex structure through a left navigation drawer
. The left nav panel can display large numbers of navigation targets concurrently. It is particularly useful when your app has a single, natural “home”, and the drawer can then act as an index of less frequently visited destinations. If your app requires cross-navigation directly from a lower-level screen to other important sections of your app, the ability to swipe in the left nav panel from any point in your app can make that context switch more efficient for the user. However, because it is a less obvious affordance, it may take the user time to familiarize themselves with the contents.
Use a navigation drawer if:
-
Your app has a large number of top-level views.
-
You want to enable quick cross-navigation between views which aren’t directly related.
-
You have particularly deep navigation branches and want to accelerate returning to the top of the app.
-
You want to reduce the visibility and user awareness of less frequently visited destinations.
Regardless of the top-level view strategy you select, in-context navigation is always a powerful tactic for moving between related sets of data. Some examples are providing direct links between one song and other from that artist, between recent items and a complete history, or between one post from a user and their overall profile. These direct paths make it natural to extend from a main task into a related one.