What's a Design Pattern?
The origin of design patterns lies in work done by an architect named Christopher Alexander during the late 1970s. He began by writing two books, A Pattern Language[Alex77] and A Timeless Way of Building [Alex79] which, in addition to giving examples, described his rationalle for documenting patterns. Although, the initial technique was developed for architectural problem solving, the method was quickly implemented in computer programming and development.
Since the programming and building fundamentals are similar, the approach to simplify the process was also flexible enough to adapt to different environments. In web design or programming, this method translates to a great tool that addresses many designer's and developer's problems.
A Web Design Pattern is the description of a common web design problem and a High-Level sample of proposed solutions to address that problem. Alexander's method translates to: design problem, discussion, illustration, and solution. Keep in mind that the quality of responses to these problems keeps improving as more sites are developed and new technologies emerge.
The typical setup for Web Design Patterns is as follow:
User Needs
- Navigating
- Basic Interactions
- Searching
- Dealing With Data
- Personalizing
- Shopping
- Making Choices
- Giving Input
- Miscellaneous
Application Needs
- Drawing Attention
- Feedback
- Simplify Interaction
Context of Design
- Site Types
- Experience
- Page Types
Why Should We Use Patterns?
- Avoid Reinventing The Wheel
- Promote a Familiar User Experience For Our Customers
- Free Up Designers To Do Innovative Leading-edge Work
Other Resources
- An inside look at the Pattern Library - Yahoo's Christian Crumlish
- Designing Interfaces - Patterns for Effective Interaction Design
- The Design of Sites - Excellent Book by Douglas K. Van Duyne, James A. Landay, and Jason I. Hong