---
title: 'App patterns explained : navigation'
description: When we design an app, we consider the different types of information
  we are communicating and their relationships to one another. This helps us establish
  what content is of equal importance, what we want to be able to do with it, what
  is a detailed view of something else and so on. We use three  […]
url: https://canonical.com/blog/app-patterns-explained-navigation?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Canonical](https://canonical.com/blog/author/canonical "More about Canonical")

13 March 2013

# App patterns explained : navigation

[app design](https://canonical.com/blog/tag/app-design)
[app design guides](https://canonical.com/blog/tag/app-design-guides)
[app patterns explained](https://canonical.com/blog/tag/app-patterns-explained)
[Design](https://canonical.com/blog/tag/design)

---

Share the article

When we design an app, we consider the different types of information we are communicating and their relationships to one another. This helps us establish what content is of equal importance, what we want to be able to do with it, what is a detailed view of something else and so on.

We use three predominant navigation structures to navigate our apps: **flat**, **contextual** and **deep**.

## Flat

We call the navigation “flat” when the user moves between main views of functionality that have equal importance. These views are navigated by using the [tab](http://design.ubuntu.com/apps/building-blocks/tabs) navigation structure.

## Contextual

We call the navigation “contextual” when the user moves between different levels of detail within one view. These views are navigated by using the [expansion](http://design.ubuntu.com/apps/building-blocks/expansion) navigation structure.

## Deep

We call the navigation “deep” when the user moves up and down hierarchical levels of an application. These views are navigated by using the [page stack](http://design.ubuntu.com/apps/building-blocks/page-stack) navigation structure.

## One last thing

We don’t combine [flat](http://design.ubuntu.com/apps/global-patterns/navigation#flat) with [deep](http://design.ubuntu.com/apps/global-patterns/navigation#deep) navigation in the same view –
the page stack (deep navigation) introduces a back button which, when combined with tabs (flat navigation), could be misinterpreted as another method for navigating between tabs.

And that’s it! Keep these navigation patterns in your mind when you are designing your app.

Read about navigation and the building blocks to make it happen in the [App Design Guides](http://design.ubuntu.com/apps "App design guides").

[Get in touch

Interested in running Ubuntu in your organization?](https://ubuntu.com/about/contact-us/form)

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### Challenges designers face in open source (and how to fix them)](https://canonical.com/blog/challenges-designers-face-in-open-source-and-how-to-fix-them)

Open source powers up to 90% of modern software, yet many projects lack usability. Canonical’s Design team surveyed 115 cross-functional professionals to uncover the 4 core...

[Kola Ojoodide](https://canonical.com/blog/author/kola-ojoodide)

26 June 2026

[### Why web engineering is great](https://canonical.com/blog/why-web-engineering-is-great)

Hi, I’m Johann! I’m an engineering manager in Canonical’s web team. For the larger part of my 15 years of work experience as engineer, I’ve been working in web development....

[Johann Wolf](https://canonical.com/blog/author/johannwolf)

27 April 2026

[### Canonical’s recipe for High Performance Computing](https://canonical.com/blog/canonicals-recipe-for-high-performance-computing)

In essence, High Performance Computing (HPC) is quite simple. Speed and scale. In practice, the concept is quite complex and hard to achieve. It is not dissimilar to what...

[Igor Ljubuncic](https://canonical.com/blog/author/igorljubuncic)

24 January 2024

[### Web team – hack week 2023](https://canonical.com/blog/web-team-hack-week-2023)

Today, around 96% of software projects utilize open source in some way. The web team here at Canonical is passionate about Open source. We lead with an open-by-default approach...

[Anthony Dillon](https://canonical.com/blog/author/ya-bo-ng)

25 October 2023
