©1999 Kimberly Perzel and David Kane
Permission granted to copy for Interact ’99 Conference. All other rights reserved.
The World Wide Web (WWW) has dramatically changed the look and feel of graphical user interfaces (GUI), sometimes for the better, sometimes to the user's detriment. There are solutions to the usability problems introduced by the web. This paper presents an initial collection of patterns that describe these solutions.
A leading usability expert, Jakob Nielsen, enjoys pointing out that there are millions of web sites and millions of web pages, and only thousands of usability engineers and user interface designers. [Nielsen99a] These patterns and others like them endeavor to establish helpful guidelines for developers to improve usability for their users. By satisfying users’ expectations, productivity is improved and the users’ enjoyment is enhanced.
These patterns document the human factors implications of frequently used interface elements for applications deployed over the web. Web applications differ from simple web sites in complexity. Web sites just require the user to submit information for navigation. The WWW pages of many newspapers are typical examples of web sites. Web applications require a much broader range of user input. For example, e-commerce sites, web-enabled mainframe applications and message boards are all examples of web applications. Some WWW pages combine the elements of both a web site and a web application, for example a collection of content pages combined with a registration function. The patterns in this paper focus on the context of web applications.
We believe patterns can be particularly valuable in this domain. Web application development often involves the collaboration of skilled information technology professionals with widely varying backgrounds and terminology. An example of the diversity can be found in vocabulary. For example the concept of design to a graphic artist is very different than the concept of design to a software engineer. Usability is a critical success factor for successful web applications. Patterns can provide a language for communicating usability concerns among these diverse participants in the development process without hindering the creative elements of web development.
Some work in patterns and usability has been published. For example, there are some patterns describing user interface issues for broad contexts that cover web development as part of a broader discussion. [Tidwell98] Some patterns address usability in the context of client-server development. [Bradac97][Tullis97] Others have described patterns on how to implement user interfaces. [Harrison97] [Coldeway98] However, there have only been a few efforts to date that focus on usability and the web with more emphasis on web site design rather than web applications. [Garrido97] [Lyardet98][Rossi99]
The subject of web usability is quite large, and is worthy of an entire pattern language. We have submitted a initial collection of patterns to the PLoP 99 conference. [Perzel99] The pattern we are including as part of this workshop applications is taken from that paper.
While our PLoP 99 submission only scratches the surface, we hope that the patterns it contains are a useful first step. The web represents not just new implementation technologies, but it is a new medium with its own social and economic dynamics. The first two patterns in our PLoP 99 submission are Carrot and a Stick and Policy Statement. These patterns address problems that arise from this new medium. The Policy Statement is the pattern included in this workshop position paper. The remaining three patterns in this collection, Required Field Markers, What They See is All They Get, and Plan B, address more tactical issues of page design.
In addition to the patterns in the PloP 99 submission, we have identified many other candidate patterns, which we believe would be part of a full pattern language. These patterns are briefly described at the end of the PLoP 99 paper.
There are many different forms used to document patterns. We used the following template to document the patterns in our PLoP 99 paper.
Name: A short title for the pattern. We tried to select titles
that evoked the solution.
Alias: Alternate titles for the pattern.
Problem: A one-sentence description of the problem to be solved by the pattern,
Context: A description of the situations in which the pattern is applicable.
Classification: We used Mahemoff proposed classification of usability patterns to categorize the patterns in our collection. Our patterns fall into the classification of either user interface widget, or are system based. [Mahemoff98]
Forces: A bulleted list of the forces that make the problem challenging and drive the selection of the solution,
Solution: A description of the key elements to solving the problem.
Rationale: An explanation of why we believe the solution is appropriate given the problem and its context.
Resulting Context: A description of both the good and bad consequences of applying the solution.
Example: A description of screenshots of sites that represent instances of the pattern.
Related Patterns: A collection of pointers to other patterns from both our collection and others that are related.