User Interface Design Patterns

This is information about design patterns that can be used in the design of user interfaces. The patterns I’m particularly concerned with deal with the look, feel, and behaviour of modern interface elements, such as those found in browsing “the Web.”

Patterns are often employed in object oriented software development and engineering, much more so than user interface design. I believe that by applying patterns at the user interface layout and design level, employing a “top-down” approach, we can avoid some situations where deep-system code decisions impede usability of the resulting user interface.

More information on Patterns, and specifically in the context of software, check out Brad Appleton’s Essential Concepts and Terminology.

Really Good Pattern Libaries

These are my picks for sites to explore if you wish to develop your UI pattern vocabulary.

Van Welie + v.d. Veer does a good job elaborating on why a collection of patterns isn’t as useful as a full pattern language dedicated to a specific domain in this paper (PDF).

Specific Pattern Languages For Specific Domains

The following table lists some good pattern resources, organized by what problem domain they address.

Problem Domain Pattern Language Solution
User Interfaces (General) User Interface Design PatternsExperiences – A Pattern Language for Interface DesignDesigning Interfaces … which replaces Common Ground.
Interaction Patterns in User Interfaces (PDF)
The Web Yahoo! Design Pattern LibraryPatterns for Personal WebsitesMartijn van Welie’s Web Design PatternsWebPatterns.org … very work-in-progress.
Web Content Management Patterns (PDF)
Search A Pattern Language for Search (PDF)
Games Usability and Games … hellacool.
learning patterns for the design and deployment of mathematical games
Interactive Graphics Towards a Pattern Language for Interactive Information Graphics (PDF)
Prototyping Hold Me Thrill Me Kiss Me Kill Me (PDF)
Colour Usage Cyberpatterns – Examples

UI Patterns In Print

… or check out Hillside.net’s guide on writing your own patterns.

Good Reading

There are several academic papers on the subject of user interface patterns and their application in designing user interfaces. A Google Scholar search for user interface patterns is a good place to start, but here are some that are worth noting.

… also check out the HCI pattern papers at CHI 2003.

At the 2004 CHI workshop, a markup language for pattern languages (PLML) was established. I love stuff that’s written in XML.

Pattern Conference

User Interface patterns are most likely to be workshopped and discussed at the following conferences:

  • PLoP – Pattern Language of Programs conference. In 2006, in conjunction with OOPSLA.
  • CHI – State-of-the-art patterns workshops 1997-2004.

Acknowledgements

Much of this content from stemmed from Tom Erickson’s The Interaction Design Patterns Page, which a really excellent resource.