Screen format: Switch to print
Patterns are a concept originally conceived within architecture (Alexander et al, 1977; Alexander, 1979).
'Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution of that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.' (Alexander et al, 1977, p. x).
The same approach applied in architecture can be applied to interface design. Vora (2008, pp. 9-10) proposes the following benefits of the approach:
See also van Duyne, Landay & Hong (2009)
(All based on Vora, 2008)
(All from Vora, 2008)
Primary navigation
Problem
The most common functionality and high-level categories (or objects) within web applications need to be readily available and understood by users. Additionally, users should be able to navigate quickly among major sections from anywhere within the web application.
Solution
Offer users a consistent way to navigate to main application functions and place them in a consistent and salient manner on all application pages.
Why
For web applications primary navigation plays a crucial role in facilitating navigation and orientation. It serves as both a table for contents by exposing high-level application functions and an orientation mechanism that lets user know where they are within the application's structure.
How
Place primary navigation either horizontally at the top of the page or vertically running down the page, either on the left or right side. Web applications have typically favoured placing primary navigation horizontally; Adkinson (2002) found that 87% (65 of 73 sites) of e-commerce applications placed the primary navigation horizontally at the top of the page. This is understandable, since placing primary navigation vertically reduces available space. For web applications presenting tabular data with many columns, vertical placement of primary navigation could result in horizontal scrolling or make tabular data appear cluttered.
Placing primary navigation horizontally, however, limits the number of navigation options it can offer users before requiring them to scroll horizontally. To avoid horizontal scrolling, we applications often resort to having a 'more' option (usually depicted as an arrow icon) to allow users to see additional navigation choices; this is similar to toolbars in desktop applications.
Regardless of the placement of primary navigation, it is important that it be positioned consistently and made available throughout the application.
Related design patterns
Most web applications support hierarchical navigation, requiring both primary navigation and secondary navigation. For deeper navigation hierarchies, consider breadcrumbs to orient users and show them where they are in the application.
See also
Tom Erickson's pattern resource pages
Alexander, C. (1979) The Timeless Way of Building, Oxford University Press
Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M. Fiksdahl-King, I. & Angel, S. (1977) A Pattern Language, Oxford University Press