Each year some web application and web site user-interface features have become de-facto standards, whilst other newer ideas become common enough for common solutions to start emerging. This means that it is increasingly possible to use design patterns to describe aspects of web application user-interface design.
Books like Homepage Usability cover web page elements such as a top-left site logo that links to the home page, or a simple search box on every page. Similarly, pattern collections such as the one at www.welie.com describe detailed user-interface element patterns for specific things you can put on a web page. More in flux, however, are the larger scale structural and navigational patterns that correspond to the standard use of wizards and dialogue boxes in traditional graphical user-interface applications: not things on the pages, but how the pages themselves relate to each other in the web site structure.
The following patterns are ideas that you can use when designing a web site or web application. Web application structural patterns include using:
These can then be tied together using different kinds of links:
So far, this covers most of the bottom-level content pages. What is still missing is a search/browse interface, which is more of a solved problem.
None of these are particularly new on the web, but neither are they so standard that it would be weird to do something different. These are merely abstractions of one way of implementing web site structure and navigation.
The level of abstraction is important, because it is much easier to implement a consistent navigation design based on these ideas than by trying to copy specific elements of some other web site. One danger of copying elements of other designs is that different elements do not fit together will, because they come from different overall visions. Another is that without the abstraction, the particular visual design that some site uses gets confused with the overall concept: better decide how you want to use command links before you decide what they should look like.
Peter Hilton is a senior software developer at Lunatech Research.
Please send comments on this article to editorial@lunatech.com.
Copyright © 2005-2009, Lunatech Research B.V. All Rights Reserved.