✏️ Defining navigation

Before digging into common navigation patterns, it’s worth stepping back and finding a starting point for thinking about navigation in your app.

The Material Design spec has some great guidance on how to approach defining navigation structures, but for the purposes of this post we can boil everything down to two simple points:

Build navigation based on tasks and content

Build navigation for people

Building navigation based on tasks and content means breaking down what tasks people will be performing, and what they’ll see along the way, and mapping out relationships between the two. Determine how tasks relate to one another — which tasks are more or less important, which tasks are siblings, which ones nest inside one another, and which tasks will be performed more or less often.

That’s where building navigation for people comes in — the people using your interface can tell you whether it’s working for them or not, and your navigation should be built around helping them succeed in your app.

Once you know how the tasks in your app work together, you can decide what content users need to see along the way and when and how to present it—this exercise should provide a good foundation for deciding which patterns best serve your app’s experience.

📚 Find more detailed guidance on breaking down tasks and behaviors for navigation in the Material spec.