[Tom's Home Page]
[
Professional] [Life, Fun, &c] [Tell Me...]
[
Bookmarks] [Publications List] <and many papers and essays>

Of more general interest: [Apple HI Alumni page] [Interaction Design Patterns page] [Social Computing]


Note: I am no longer actively maintaining this page.

You should be automatically re-directed to my new site in a few seconds, but if not go to http://www.visi.com/~snowfall/InteractionPatterns.html


 

The Interaction Design Patterns Page

This page contains information about resources related to pattern languages for interaction design (of which user interface design is a subset), and a few links to more general papers that may be of use to interaction designers. I also include some links to organizational design patterns, which I find hard http:InteractionPatterns.htmlto disentangle from interaction design. Interested parties should also see Jan Borcher's HCI patterns page. Those interested in other uses of pattern languages should see the Patterns Home Page, which is the most comprehensive source of information, and also Brad Appleton's Software Patterns Links.

Last update: 16 January 2004

How to Get Added to this Page

Send email to Tom Erickson at snowfall@acm.org with a description of your work and an accessible URL. Also, if you make significant additions to on-going work, let me know.

Recent Additions

Montessori Design Patterns, by TJ Leone. Articles about the development and application of design patterns mined from Montessori literature and classrooms. Methods used to mine the patterns are discussed. A range of applications are suggested. One paper describes the application of Montessori patterns to the design of educational geometry software and the results of using the software in a course for elementary school students. The site is: http://www.leonelearningsystems.com/design_patterns.htm

Architecturally Sensitive Usability Patterns, by Eelke Folmer. An "architecturally sensitive usability pattern" to refers to a technique or mechanism that should be applied to the design of the architecture of a software system in order to address a need identified by a usability property at the requirements stage. The collection contains fifteen patterns including "Actions for Multiple Objects", "History Logging", "User Profiles" and "Context Sensitive Help". The site is http://www.designforquality.com

Making Rich Web Application Architecture Usable, byViswanath Gondi. The article lists various usability constraints in the first two pages and then introduces a design pattern for addressing them in web application architectures. The article can be found at: http://www.sitepoint.com/article/1223

User Interface Design Patterns. A set of 21 patterns written by Laakso, Laakso and Saura of the University of Helsinki. The patterns include "Continuous Highlighting", "Placeholder", "Double List", "Calendar Strip", and "Object-Specific Undo".The patterns can be found at http://www.cs.helsinki.fi/u/salaakso/patterns/

Book: Interaction Design for Complex Problem Solving: Developing Useful and Usable Software, by Barbara Mirel
I just finished a book that will be out in September (Morgan Kaufmann). At the heart of it is the need to design for people's patterns of inquiry(i.e. socio-technical or application-level patterns), with 3 extensive case studies presenting these patterns for designing for 3 different problems in distinct domains -- troubleshooting in IT, product management in merchandising, and drug dosage decisions in inpatient healthcare. More on the book can be found at the Academic Press Book Catalogue site: http://www.bh.com/apcatalog/?country=none (Enter my name and/or book title to get taken to the write-up.)

Patterns for Speech Dialogues for Older Adults. A set of design patterns by Mary Zajicek.
Older adults experience a wide range of age related impairments including loss of vision, hearing, memory and mobility, the combined effects of which contribute to loss of confidence and difficulties in orientation and absorption of information. These patterns encapsulate the results of experiments on speech dialogues and multimodal output for older adults, and are intended to reflect the experience of older adults gained through experimentation and observation, and inform new designers of speech systems for older adults, who lack the experience, thus nurturing, and providing a framework for, good design. See: http://cms.brookes.ac.uk/computing/speech/index.php?id=61 [8 patterns, based on empirical work, including "Menu Choice Message," "Talk Through Message," and "Error Recovery Loop." --TE]

A Visualization Pattern Language. This is a start at a set of patterns for Visualization, by Barry Wilkins. See: http://www.cs.bham.ac.uk/~bxw/vispatts/index.html [38 Patterns -- examples including "Small Multiples," "Redundant Encoding," and "Dynamic Queries" -- assembled into a pattern language. --TE]

Patterns for Groupware. Quote: "In the Groupware-Patterns project we aim to collect patterns for computer supported collaborative work. Allthough there are not so many patterns on the page yet, we would welcome any comments on the existing patterns or - even better - additions of patterns to the catalogue. Authors, who have a pattern in this area can submit it using the provided forms at the web site. The URL for the project is http://www.groupware-patterns.org." [Implemented on a Swiki, this seems like an interesting attempt to create an open-source sort of patterns community. --TE]

Pattern Language for Living Communication. Doug Schuler, the well-known advocate of Community Networks, writes: "You may be interested in the large, participatory "Pattern Language for Living Communication" project that I am helping to facilitate. We now have about 170 "patterns in progress" and we're beginning to nudge themcloser into a pattern language." And, from the web site: "The core concept is that certain forms of information and communication systems are likely to be more effective at promoting conviviality in the human and environmental spheres. These systems are also more "authentic" and more equitable; [...] the systems we hope to promote are more likely to be equitable and participatory." See: http://www.cpsr.org/program/sphere/patterns/ [Based on my rather quick look, it looks like a deep and well done piece of work, with lots of room for collaborators. --TE]

PoInter (Patterns of INTERaction). This project, centered at Lancaster University, is using ethnographic methods to develop descriptive patterns, and is one that I am personally very excited about. What is especially nice is that the PoInter patterns come with real examples. Here are four things, two languages, and two papers describing their work

  1. Patterns of Cooperative Interaction. A collection of 10 patterns, with more coming, including patterns like "Artefacts as Audit Trail," "Receptionist as Hub," and "Doing a Walkabout." See http://www.comp.lancs.ac.uk/computing/research/cseg/projects/pointer/patterns.html
  2. Patterns of Interaction in Extreme Programming. "A set of related [to the main Lancaster project] patterns which are all derived from an ethnographic study of extreme programming (XP) as a collaborative enterprise." The patterns inlcude new examples of five patterns from the Lancaster project, and three new "candidate" patters: "BroadcastingKnowledge," "StatusCheck," "RunningComentary." See: http://polo.lancs.ac.uk/pointer
  3. Applying Patterns of Cooperative Interaction To Work: (Re)Design: E-Government and Planning [CHI02], by David Martin, Mark Rouncefield, and Ian Sommerville. These patterns, derived from ethnographic studies of cooperative work, consist of examples of similar social and interactional phenomena found in different studies that serve as resources for defining and envisaging design concepts, and potential work process and technical solutions. We outline new pattern examples and demonstrate their use in application to a complex setting, e-government in local government planning.
  4. Finding Patterns in the Fieldwork [ECSW01], by David Martin and Ian Sommerville. "In this paper we focus on outlining some of our experiences and difficulties in developing patterns from ethnographic studies and present some initial ideas towards the development of a pattern language to exploit the experience gained from a decade of field studies."

 

Amsterdam Patterns Collection. Martijn Van Welie has continued to expand (and has relocated) his Amsterdam Patterns Collection, which is now up to about 60 patterns classified as web, GUI or mobile patterns making it one of the largest patterns collection for Interaction Design. As before, his patterns are focused on user-oriented problems, rather than developer-oriented problems (though of course they are nevertheless very relevant for developers). [Added June 2002]

The CHI 2002 Patterns workshop. This page contains position papers from the members of the CHI 2002 patterns workshop, and will (soon) contain a short report on the workshop. [Added June 2002]

"Patterns for HCI and Cognitive Dimensions: two halves of the same story?" by Sally Fincher. An excellent analysis (and presentation) of the role of structure in pattern languages, and comparison with the "cognitive dimensions" approach. [Added May 2002]

Less Recent Additions

The Brighton Usabilty Collection, maintained by the Usability Group at the University of Brighton (which includes Lyn Pemberton and Richard Griffiths). Ten patterns, including Allow Type Ahead, Emergency Exits and Think Twice, and a very nice matrix showing interconnections among patterns. This is dated fall of 1998, but I only just came across it.

Various papers by Lyn Pemberton and/or Richard Griffiths:

Teach Usability Design through Pattern Language, Griffiths and Pemberton
The Promise of Patterns for Interaction Design: Draft of article based on presentation at HF2000. Loughborough
Don't Write Guidelines, Write Patterns - draft of a joint paper with Richard Griffiths concentrating on the relationship between patterns and guidelines
Genre as a Structuring Concept for Interaction Design Pattern Languages - a position paper for the recent HCI-SIG Workshop on patterns, Nov. 2000, London
Teaching Interaction Design with Pattern Language - a draft paper on approaches to using pattern language in interaction design teaching, based on some experiences at the University of Brighton

A Pattern Approach to Interaction Design. This is Jan Borcher's book, just out from Wiley. It is both an introduction to the use of patterns in HCI, and also contains his Pattern Language for Interactive Music Exhibits, which is, in my opinion, the nicest example of an HCI pattern language. The language contains about thirty patterns, ranging from music patterns (e.g. Twelve-Bar Progression ) to HCI Patterns (Attraction Space and Easy Handover) to Software patterns (e.g. Metric Transformer).

Patterns of a Conservation Economy. While most would not see this as an example of interaction design (though I do, albeit at a very high level), it is such a lovely example of both content and form, as well as illustrating one approach to trying to make a pattern language a participatory entity, that I can't resist including it here. This pattern language includes about 80 patterns for the Pacific Northwest bioregion, aimed at supportinga sustainable economy. Patterns include Ecological Literacy, Celebration of Place, Eco-Forestry, Mixed Housing Types, and Adaptive Re-Use and Infill.

The Pattern Gallery. This work-in-progress by Sally Fincher is a collection that illustrates the variety of pattern-forms that HCI folk are devising; it is devoted to exploring pattern form, not pattern content. [Added August 2000]

Interaction Patterns in User Interfaces, by Martijn van Welie and Hallvard Trætteberg. This paper discusses and presents interaction patterns in user interfaces. These patterns are focused on solutions to problems end-users have when interacting with systems. The patterns take an end-user perspective which leads to a format where usability is the essential design quality. The format is discussed and presented along with twenty patterns that have been written in that format. [Added July 2000]

Lingua Francas for Design: Sacred Places and Pattern Languages, by Thomas Erickson. A paper to appear at the DIS 2000 conference; some overlap with the Pattern Languages as Languages paper (below), but much more comprehensive. Presents fragments from various (usually hypothetical) pattern languages. (This is the final draft of a paper with a very similar name, that I have now taken down.) [Added ~May 2000]

Patterns as Tools for UI Design, by M. van Welie, G.C. van der Veer, A. Eliëns. A paper that discusses interaction patterns for UI Design; in particular, it explores how patterns should be structured in order to be effective and usable tools for designers. A structure for UI design patterns is proposed and is illustrated with an example. [Added ~March 2000]

Pattern Languages as Languages, by Thomas Erickson. Drawing on an example from the architecture literature (though not an example, explicitly of pattern language use), it discusses the role a pattern language might play in allowing a community to gain control over the design of its environment. Gives a fragment of a workplace pattern language called "Design Consultancy" that includes patterns such as Maintaining Mutual Awareness, Locally Mobile Workers, and Receptionist as Hub. [Added February 2000]

Mailing Lists

The most relevant mailing list is ui-patterns. To subscribe send email to ui-patterns-request@cs.uiuc.edu containing the word subscribe in the Subject: field (and nothing else). Don't say "please subscribe me" or "I want to subscribe" or anything else, and don't put "subscribe" in the body of the message--you are talking to a machine, not a human, and it only looks for single words in the subject field.

To unsubscribe send email to ui-patterns-request@cs.uiuc.edu containing the word unsubscribe in the Subject: field (and nothing else).

See the Patterns Home Page Mailing Lists section for other mailing lists on software patterns, and associated discussion archives.

Papers About Pattern Languages for Interaction and UI Design

Putting It All Together: Towards a Pattern Language for Interaction Design. Summary Report of the CHI '97 Workshop by Bayle, E., Bellamy, R., Casaday, G., Erickson, T., Fincher, S., Grinter, B., Gross, B., Lehder, D., Marmolin, H., Potts, C., Skousen, G. & Thomas, J.

A Pattern Approach to Interaction Design. This is Jan Borcher's book, just out from Wiley in the Spring of 2001. It is both an introduction to the use of patterns in HCI, and also contains his Pattern Language for Interactive Music Exhibits, which is, in my opinion, the nicest example of an HCI pattern language. The language contains about thirty patterns, ranging from music patterns (e.g. Twelve-Bar Progression ) to HCI Patterns (Attraction Space and Easy Handover) to Software patterns (e.g. Metric Transformer).

HCI Patterns page, by Jan Borcher, which includes a suite of patterns papers submitted to CHI '99:
Pattern Languages in Human-Computer Interaction, by Jan O. Borchers
What is a Pattern Language? by Sally Fincher
Teaching Usability Design Through Pattern Language, Richard N. Griffiths and Lyn Pemberton
Towards a pattern language to shape the Information Technology Environment, Brian J. Moore
User Interface Patterns for Data Intensive Applications, Michael P. Anton
Breaking the Interdisciplinary Limits of Computer-Human Interaction Design: A Pattern Approach, Jan O. Borchers

Towards a Pattern Language for Interaction Design by Thomas Erickson

Interaction Pattern Languages: A Lingua Franca for Interaction Design? by Thomas Erickson. [Slides from a talk presented at the Usability Professionals's Association Conference, June 1998]. Download a PDF File (1.2 megabytes) or download a Powerpoint 97 file (779K)

Pattern Languages as Languages, by Thomas Erickson. Drawing on an example from the architecture literature (though not an example, explicitly of pattern language use), it discusses the role a pattern language might play in allowing a community to gain control over the design of its environment. Gives a fragment of a workplace pattern language called "Design Consultancy" that includes patterns such as Maintaining Mutual Awareness, Locally Mobile Workers, and Receptionist as Hub.

Lingua Francas for Design: Sacred Places and Pattern Languages, by Thomas Erickson. A paper to appear at the DIS 2000 conference; some overlap with the Pattern Languages as Languages paper (below), but much more comprehensive. Presents fragments from various (usually hypothetical) pattern languages. (This is the final draft of a paper with a very similar name, that I have now taken down.)

The Pattern Gallery. (A page, not a paper.) This work-in-progress by Sally Fincher is a collection that illustrates the variety of pattern-forms that HCI folk are devising; it is devoted to exploring pattern form, not content.

A Pattern-Supported Approach to the User Interface Design Process, by Åsa Granlund and Daniel Lafrenière. A PDF format paper outlines a framework for a pattern-based approach to UI design. What I like about this paper is that it provides a more unified approach, discussing types of patterns ranging from those for describing particular work domains to task and design patterns.

Principles for a Usability-Oriented Pattern Language by Mahemoff, M. J. and Johnston, L. J. (1998).

Pattern Languages for Usability: An Investigation of Alternative Approaches, Michael J. Mahemoff and Lorraine J. Johnston.

Finding Patterns in the Fieldwork [ECSW01], by David Martin and Ian Sommerville [from the PoInter project at Lancaster University]. "In this paper we focus on outlining some of our experiences and difficulties in developing patterns from ethnographic studies and present some initial ideas towards the development of a pattern language to exploit the experience gained from a decade of field studies."

The Case for UI Patterns, by Jenifer Tidwell

Design Patterns for User Interfaces, by PR Warren & M Viljoen. The paper describes shortcomings in UI's designed by students, and observes that the UI literature does not provide advice that enables students to avoid or correct most of their errors. It suggests that design patterns are useful in this respect, and presents a single pattern (The Center Stage) which would correct many of the problems the student designers experienced.

Patterns as Tools for UI Design, by M. van Welie, G.C. van der Veer, A. Eliëns. A paper that discusses interaction patterns for UI Design; in particular, it explores how patterns should be structured in order to be effective and usable tools for designers. A structure for UI design patterns is proposed and is illustrated with an example.

 

Patterns and Pattern Languages for Interaction and UI Design

User Interface [from the Portland Patterns Repository), by Kent Beck
The beginnings of a pattern language for UI design: the patterns drive the initial phases of designs. Example patterns include Story, Task Window, and Early Program.
 
A Pattern Approach to Interaction Design, by Jan Borchers.
This is Jan Borcher's book, just out from Wiley in the Spring of 2001. It is both an introduction to the use of patterns in HCI, and also contains his Pattern Language for Interactive Music Exhibits, which is, in my opinion, the nicest example of an HCI pattern language. The language contains about thirty patterns, ranging from music patterns (e.g. Twelve-Bar Progression ) to HCI Patterns (Attraction Space and Easy Handover) to Software patterns (e.g. Metric Transformer).
 
Usability Pattern Collection. Maintained by the Usability Group at the University of Brighton, UK.
A nice general introduction to patterns an their application to usability. Contains the "seeds" of five potential patterns: Give a Warning, Interaction Feedback, Show Computer is Thinking, Think Twice, and Time to Do Something Else.
 
Notes on a Pattern Language for Interactive Usability, by George Casaday
Explores a way of applying pattern based design to interactive systems. It describes three pattern types: simple, instrinsic, and circumstantial.

Patterns and Pattern Languages for Organizational Design, by Jim Coplien
Describes patterns underlying successful projects and uses them to establish organizational structures and practices that improve the prospects for success in a new software development organization. Examples of process patterns include Size the Schedule, Scenarios Define Problem, and Don't Interrupt and Interrupt; examples of organizational structure patterns include Self-selecting Team, Architect Also Implements, and Mercenery Analyst.
 
Experiences -- A Pattern Language for User Interface Design by Tod Coram and Jim Lee
A UI pattern language of about two dozen patterns (quite a few of which are TBD). Examples of patterns are Explorable Interface, Cooperating Windows, and Mutliple Settings.
 
CyberPatterns by Heather Duggan
Some notes for patterns for virtual social networks or associations. Five patterns: All Roads Lead to Rome; Neighborhoods Make Poor Neighbors; Maintain a Consistent Theme; Leave Spaces In-Between; Broadcast Your Mistakes.
 
Patterns of a Conservation Economy., sponsored by EcoTrust
While most would not see this as an example of interaction design (though I do, albeit at a very high level), it is such a lovely example of both content and form, as well as illustrating one approach to trying to make a pattern language a participatory entity, that I can't resist including it here. This pattern language includes about 80 patterns for the Pacific Northwest bioregion, aimed at supportinga sustainable economy. Patterns include Ecological Literacy, Celebration of Place, Eco-Forestry, Mixed Housing Types, and Adaptive Re-Use and Infill.
 
Towards a Pattern Vocabulary for Dissemination Techniques, by Sally Fincher
[For download only: postscript.]
 
Patterns of Cooperative Interaction, by David Martin, et al [PoInter project at Lancaster University].
A collection of 10 patterns, with more coming, including patterns like "Artefacts as Audit Trail," "Receptionist as Hub," and "Doing a Walkabout." See http://www.comp.lancs.ac.uk/computing/research/cseg/projects/pointer/patterns.html
 
Patterns of Interaction in Extreme Programming, by David Martin, et al [PoInter project at Lancaster University].
"A set of related [to the main Lancaster project] patterns which are all derived from an ethnographic study of extreme programming (XP) as a collaborative enterprise." The patterns inlcude new examples of five patterns from the Lancaster project, and three new "candidate" patters: "BroadcastingKnowledge," "StatusCheck," "RunningComentary." See: http://polo.lancs.ac.uk/pointer
 
Applying Patterns of Cooperative Interaction To Work: (Re)Design: E-Government and Planning [CHI02], by David Martin, Mark Rouncefield, and Ian Sommerville. [PoInter project at Lancaster University].
These patterns, derived from ethnographic studies of cooperative work, consist of examples of similar social and interactional phenomena found in different studies that serve as resources for defining and envisaging design concepts, and potential work process and technical solutions. We outline new pattern examples and demonstrate their use in application to a complex setting, e-government in local government planning.
 
An HTML 2.0 Pattern Language, by Robert Orenstein
About two dozen patterns for making web sites stronger. Examples of patterns include Known Audience, Interlaced Images, and Exposable Guts.
 
Hold Me, Thrill Me, Kiss Me, Kill Me: Patterns for Developing Effective Concept Prototypes, by Carol Stimmel
This collection of eight patterns tarkgets developers and managers who are involved in creating and demonstrating concept prototypes. Example patterns include Use It and Lose It, Engage the Client Early, and One Way Street. Notable for its witty choice of pictures...
 
Interaction Design Patterns (AKA Common Ground), by Jenifer Tidwell
About four dozen patterns for designing interactive systems -- this is the most ambitious attempt at a UI pattern language that I know of. Examples of patterns include Stack of Working Surfaces, Choice from a Small Set, Pointer Shows Affordances, and Important Message.
 
Patterns for Human-Computer Interaction Studies of Principle Aggregation and Pattern Naming, by Ingjerd Skogseid and Michael Spring.
Examines evidence to support the existence of patterns for HCI. Identifies nine patterns including, Universal Commands, Accomodating Dialog, Recognizable Objects, and Appropriate Information.
 
Cyberpatterns: A Pattern Language for Software, by Gary Swift
Examples for four patterns having to do with the use of color (e.g. Color as Information and Colors for the Colorblind)
 
A Telephone Pattern Language, by Bill Wake
A Start of a pattern language for phone-based systems (last updated 1/16/96). Patterns include Describe then Prescribe, Minimize Expected Path Length, and Human of Last Resort.
 
Patterns for Interactive Applications, by William Wake and Edward Fox
Draft of a submission for PLoP '98. Describes patterns derived from classic applicatiosn such as Emacs, WordStar, DBASEIII, and VisiCalc; these patterns are intended to dovetail with Kent Beck's patterns (above). About a dozen patterns, including Position Reflects Relationship, Engender a Sense of Progress, Support Lapses in Attention, and Two Layer Architecture.
 
The Amsterdam Collection of Patterns for User Interface Design, by Martijn van Welie, last updated on June 2002
The start of a UI Pattern Language focused on improving user experience (in contrast to helping designers implement UIs). As of June 2002 there are about 60 patternsclassified as web, GUI or mobile patterns. As before, his patterns are focused on user-oriented problems, rather than developer-oriented problems (though of course they are nevertheless very relevant for developers). This language is under active deveopment.
 
Interaction Patterns in User Interfaces, by Martijn van Welie and Hallvard Trætteberg, July 2000.
This paper discusses and presents interaction patterns in user interfaces. These patterns are focused on solutions to problems end-users have when interacting with systems. The patterns take an end-user perspective which leads to a format where usability is the essential design quality. The format is discussed and presented along with twenty patterns that have been written in that format. About 20 patterns, including The Wizard; The Grid; The Preview; Container Navigation; Hinting; etc. [I suspect this is an expansion of Welie's "Amsterdam Collection" paper also referenced in this list.

On Writing Patterns

Seven Habits of Successful Pattern Writers, by John Vlissides

Patterns: The Top Ten Misconceptions, by John Vlissides

A Pattern Language for Pattern Writing, by Gerard Meszaros and Jim Doble

 


[Tom's Home Page]
[
Professional] [Life, Fun, &c] [Tell Me...]
[
Bookmarks] [Publications List] <and many papers and essays>

Of more general interest: [Apple HI Alumni page] [Interaction Design Patterns page] [Social Computing]

Maintained by snowfall@acm.org)