Interaction Design Patterns and Design Imperatives
Human Computer InteractionInteraction Design Patterns and Design Imperatives
Design patterns serve two important functions. The first function is to capture useful design decisions and generalize them to address similar classes of problems in the future (Borchers, 2001). In this sense, patterns represent both the capture and formalization of design knowledge, which can serve many purposes. These include reducing design time and effort on new projects, educating designers new to a project, or — if the pattern is sufficiently broad in its application — educating designers new to the field. Although the application of patterns in design pedagogy and efficiency is certainly important, the key factor that makes patterns exciting is that they can represent optimal or nearoptimal interactions for the user and the class of activity that the pattern addresses.
Interaction and architectural patterns
Interaction design patterns are far more akin to the architectural design patterns first envisioned by Christopher Alexander in his seminal volumes A Pattern Language (1977) and The Timeless Way of Building (1979) than they are to the popular engineering use of patterns. Alexander sought to capture in a set of building blocks something that he called “the quality without a name,” that essence of architectural design that creates a feeling of wellbeing in the inhabitants of architectural structures. It is this human element that differentiates interaction design patterns (and architectural design patterns) from engineering design patterns, whose sole concern is efficient reuse of code. One singular and important way that interaction design patterns differ from architectural design patterns is their concern, not only with structure and organization of elements, but with dynamic behaviors and changes in elements in response to user activity. It is tempting to view the distinction simply as one of change over time, but these changes are interesting because they occur in response to human activity. This differentiates them from preordained temporal transitions that can be found in artifacts of broadcast and film media (which have their own distinct set of design patterns). Jan Borchers (2001) aptly describes interaction design patterns:
[Interaction design] Patterns refer to relationships between physical elements and the events that happen there. Interface designers, like urban architects, strive to create environments that establish certain behavioral patterns with a positive effect on those people ‘inside’ these environments .
. . ‘timeless’ architecture is comparable to user interface qualities such as
‘transparent’ and ‘natural.’
Types of interaction design patterns
Like most other design patterns, interaction design patterns can be hierarchically organized from the system level down to the level of individual interface widgets. Like principles, they can be applied at different levels of organization (Goodwin, 2002a):
- Postural patterns can be applied at the conceptual level and help determine the overall product stance in relation to the user.
- Structural patterns solve problems that relate to the management of information display and access, and to the way containers of data and functions are visually manipulated to best suit user goals and contexts. They consist of views, panes, and element groupings.
- Behavioral patterns solve wideranging problems relating to specific interactions with individual functional or data objects or groups of such objects. What most people think of as system and widget behaviors fall into this category.
Structural patterns are perhaps the leastdocumented patterns, but they are nonetheless in widespread use. One of the most commonly used highlevel structural patterns is apparent in Microsoft Outlook with its navigational pane on the left, overview pane on the upper right, and detail pane on the lower right (see Figure).

This pattern is optimal for fullscreen applications that require user access to many different kinds of objects, manipulation of those objects in groups, and display of detailed content or attributes of individual objects or documents. The pattern permits all this to be done smoothly in a single screen without the need for additional windows. Many email clients make use of this pattern, and variations of it appear in many authoring and information management tools where rapid access to and manipulation of many types of objects is common
Structural patterns, pattern nesting, and prefab design
Structural patterns often contain other structural patterns; you might imagine that a comprehensive catalogue of structural patterns could, given a clear idea of user needs, permit designers to assemble coherent, GoalDirected designs fairly rapidly. Although there is some truth in this assertion, which the experts have observed in practice, it is simply never the case that patterns can be mechanically assembled in cookiecutter fashion. As Christopher Alexander is swift to point out (1979), architectural patterns are the antithesis of the prefab building, because context is of absolute importance in defining the actual rendered form of the pattern in the world. The environment where the pattern is deployed is critical, as are the other patterns that comprise it, contain it, and abut it. The same is true for interaction design patterns. The core of each pattern lies in the relationships between represented objects and between those objects and the goals of the user. The precise form of the pattern is certain to be somewhat different for each instance, and the objects that define it will naturally vary from domain to domain. But the relationships between objects remain essentially the same.
Interaction Design Imperatives
Beyond the need for principles of the type described previously, the experts also feel a need for some even more fundamental principles for guiding the design process as a whole. The following set of toplevel design imperatives (developed by Robert Reimann, Hugh Dubberly, Kim Goodwin, David Fore, and Jonathan Korman) apply to interaction design, but could almost equally well apply to any design discipline. Interaction designers should create design solutions that are
- Ethical [considerate, helpful]
- Do no harm Improve human situations
- Purposeful [useful, usable]
- Pragmatic [viable, feasible
Help users achieve their goals and aspirations Accommodate user contexts and capacities
Help commissioning organizations achieve their goals 7
Accommodate business and technical requirements
- Elegant [efficient, artful, affective]
- Represent the simplest complete solution Possess internal (selfrevealing, understandable) coherence Appropriately accommodate and stimulate cognition and emotion
- Ask relevant questions when planning manuals
- Learn about your audiences
- Understand how people use manuals
- Organize so that users can find information quickly
- Put the user in control by showing the structure of the manual
- Use typography to give readers clues to the structure of the manual
- Write so that users can picture themselves in the text
- Write so that you don’t overtax users’ working memory
- Use users’ words
- Be consistent
- Test for usability
- Expect to revise
- Understand who uses the product and why
- Adapt the dialo to the user
- Make the information accessible
- Apply a consistent organizational strategy
- Make messages helpful
- Prompt for inputs
- Report status clearly
- Explain errors fully
- Fir help smoothly into the users’ workflow


Recent Comments