Pattern Languages in HCI: A Critical Review

This article presents a critical review of patterns and pattern languages in human-computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for developing and communicating information and knowledge to support good design. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to interaction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI.

[1]  Doug Schmidt,et al.  Workshop on design patterns for concurrent, parallel, and distributed object-oriented systems , 1995, OOPSLA '95.

[2]  David Garlan,et al.  Formalizing Design Spaces: Implicit Invocation Mechanisms , 1991, VDM Europe.

[3]  Jens Coldewey User Interface Software , 1998 .

[4]  Christopher Alexander,et al.  A New Theory of Urban Design , 1989 .

[5]  Craig Chambers,et al.  A debate on language and tool support for design patterns , 2000, POPL '00.

[6]  Douglas C. Schmidt,et al.  Using design patterns to develop reusable object-oriented communication software , 1995, CACM.

[7]  Edward A. Fox,et al.  Improving responsiveness in interactive applications using queues , 1996 .

[8]  Kent Beck Kent Beck's Guide to Better Smalltalk: PATTERNS AND SOFTWARE DEVELOPMENT , 1997 .

[9]  Bruce Anderson Towards an architecture handbook , 1992, OOPSLA '92.

[10]  Fabio Paterno,et al.  Interactive Systems: Design, Specification, and Verification , 1995, Focus on Computer Graphics.

[11]  Pelle Ehn,et al.  From System Descriptions to Scripts for Action , 1992 .

[12]  Torsten Holmer,et al.  Three Groupware Patterns from the Activity Awareness Family , 2002, EuroPLoP.

[13]  Jakob Nielsen,et al.  Chapter 4 – The Usability Engineering Lifecycle , 1993 .

[14]  Eamonn O'Neill,et al.  User-Developer Cooperation in Software Development: Building Common Ground and Usable Systems , 2001 .

[15]  Mark Bradac,et al.  A pattern language for developing form style Windows , 1997 .

[16]  Thomas G. Lane Studying software architecture through design spaces and rules , 1990 .

[17]  Christopher Alexander The Oregon Experiment , 1975 .

[18]  Sally Fincher,et al.  Pedagogical patterns: their place in the genre , 2002, ITiCSE '02.

[19]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[20]  James Coplien,et al.  Beyond the hype (panel): do patterns and frameworks reduce discovery costs? , 1997, OOPSLA '97.

[21]  Tom Rodden,et al.  Finding patterns in the fieldwork , 2001, ECSCW.

[22]  Doug Lea,et al.  Christopher Alexander: an introduction for object-oriented designers , 1998, SOEN.

[23]  Stan Matwin,et al.  Evaluating Data Mining Models: A Pattern Language , 2002 .

[24]  Andrew M. Dearden,et al.  Evaluating pattern languages in participatory design , 2002, CHI Extended Abstracts.

[25]  Terry Trickett,et al.  Design at Work , 1992 .

[26]  Elizabeth A. Kendall,et al.  Patterns of intelligent and mobile agents , 1998, AGENTS '98.

[27]  Douglas C. Schmidt,et al.  Using design patterns to guide the development of reusable object-oriented software , 1996, CSUR.

[28]  Ralph Johnson,et al.  Designing reusable designs (panel session): experiences designing object-oriented frameworks , 1990, OOPSLA/ECOOP '90.

[29]  Brandon Goldfedder,et al.  A training experience with patterns , 1996, CACM.

[30]  Andrew Hussey,et al.  Patterns for Safer Human-Computer Interfaces , 1999, SAFECOMP.

[31]  Paul McInerney,et al.  Patterns in practice: a workshop for UI designers , 2002, CHI Extended Abstracts.

[32]  Giuseppe Menga,et al.  Designing concurrent and distributed control systems , 1996, CACM.

[33]  Thomas Erickson,et al.  Lingua Francas for design: sacred places and pattern languages , 2000, DIS '00.

[34]  Karen Holtzblatt,et al.  Contextual design , 1997, INTR.

[35]  Jörg Roth Patterns of Mobile Interaction , 2002, Personal and Ubiquitous Computing.

[36]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[37]  John C. Thomas,et al.  Socio-Technical Pattern Language Proposal , 2002 .

[38]  David A. Carr,et al.  A pattern-supported approach to the user interface design process , 2001 .

[39]  John Edgar Tidwell,et al.  Common ground: a pattern language for human-computer interface design , 1997 .

[40]  Min Du,et al.  Temporal Patterns for Complex Interaction Design , 2001, DSV-IS.

[41]  Paul E. McKenney,et al.  Selecting locking primitives for parallel programming , 1996, CACM.

[42]  Christopher Gill,et al.  Synthesizer, A Pattern Language for Designing Digital Modular Synthesis Software , 2000 .

[43]  Len Bass,et al.  User interface software , 1993 .

[44]  K. Dovey,et al.  The pattern language and its enemies , 1990 .

[45]  Dirk Riehle,et al.  A pattern language for tool construction and integration based on the tools and materials metaphor , 1995 .

[46]  David B. Martin,et al.  Applying patterns of cooperative interaction to work (re)design: e-government and planning , 2002, CHI.

[47]  Frank Buschmann,et al.  A Distributed Computing Pattern Language Part II: Concurrency Patterns , 2002, EuroPLoP.

[48]  David Garlan,et al.  Formal Specifications as Reusable Frameworks , 1990, VDM Europe.

[49]  Harold W. Thimbleby,et al.  User interface design , 1990, ACM Press Frontier Series.

[50]  ALISTAIR SUTCLIFFE,et al.  On the effective use and reuse of HCI knowledge , 2000, TCHI.

[51]  Carl Bedingfield A pattern language for web usability , 2003, UBIQ.

[52]  Scott Henninger,et al.  An Organizational Learning Method for Applying Usability Guidelines and Patterns , 2001, EHCI.

[53]  David G. Novick,et al.  Conversational conventions and participation in cross-functional design teams , 1995, COCS '95.

[54]  L. J. Johnston,et al.  Principles for a usability-oriented pattern language , 1998, Proceedings 1998 Australasian Computer Human Interaction Conference. OzCHI'98 (Cat. No.98EX234).

[55]  Sally Fincher,et al.  Patterns for HCI and Cognitive Dimensions: Two Halves of the Same Story? , 2002, PPIG.

[56]  Akihiko Ohsuga,et al.  Secure and efficient mobile agent application reuse using patterns , 2001, SSR '01.

[57]  Doug Schuler,et al.  A Pattern Language for Living Communication , 2002 .

[58]  Sally Fincher Why patterns are not enough : some suggestions concerning an organising principle for patterns of UI design , 2000 .

[59]  James A. Landay,et al.  Development and evaluation of emerging design patterns for ubiquitous computing , 2004, DIS '04.

[60]  R.I.A. Mercuri,et al.  Technology as Experience , 2005, IEEE Transactions on Professional Communication.

[61]  Ellen Agerbo,et al.  How to preserve the benefits of design patterns , 1998, OOPSLA '98.

[62]  Safei El-Deen Hamed,et al.  A NEW THEORY OF URBAN DESIGN , 1989, Landscape Journal.

[63]  Sidney L. Smith,et al.  Guidelines for Designing User Interface Software , 1986 .

[64]  Sally Fincher,et al.  Analysis of design: an exploration of patterns and pattern languages for pedagogy , 1999 .

[65]  Stanford University borchers,et al.  Teaching HCI Design Patterns : Experience From Two University Courses , 2002 .

[66]  James A. Landay,et al.  Damask: A Tool for Early-Stage Design and Prototyping of Multi-Device User Interfaces , 2002 .

[67]  Ann Light,et al.  Quality, value(s) and choice: exploring deeper outcomes for HCI products , 2005, CHI EA '05.

[68]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[69]  Gerrit C. van der Veer,et al.  Pattern Languages in Interaction Design , 2003, INTERACT.

[70]  Jan O. Borchers A pattern approach to interaction design , 2001, DIS '00.

[71]  Robert S. Hanmer,et al.  Fault-tolerant telecommunication system patterns , 1996 .

[72]  Jakob Nielsen,et al.  Heuristic Evaluation of Prototypes (individual) , 2022 .

[73]  John Grundy,et al.  Design pattern modelling and instantiation using DPML , 2002 .

[74]  Lyn Pemberton,et al.  Pattern languages for interaction design: building momentum , 2000, CHI Extended Abstracts.

[75]  Gerard Meszaros Patterns for decision making in architectural design: workshop summary , 1995, OOPSLA '95.

[76]  Sam S. Adams Functionality ala carte , 1995 .

[77]  CohenA.,et al.  Tools for Working with Guidelines , 2001, Springer London.

[78]  R. G. Studer,et al.  Notes on the Synthesis of Form , 1965 .

[79]  Ellen Tove Christiansen Competence affirmation as a complementary quality of human-computer interaction , 2005, CHI 2005.

[80]  Gustavo Rossi,et al.  Design reuse in hypermedia applications development , 1997, HYPERTEXT '97.

[81]  Gerrit C. van der Veer,et al.  Patterns as Tools for User Interface Design , 2000, TFWWG.

[82]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[83]  John M. Carroll,et al.  Designing claims for reuse in interactive systems design , 1999, Int. J. Hum. Comput. Stud..

[84]  Kevin E. Mullet Structuring Pattern Languages to Facilitate Design , 2002 .

[85]  Jan Borchers,et al.  Interaction Design Patterns: Twelve Theses , 2000 .

[86]  Douglas K. van Duyne,et al.  The Design of Sites , 2003 .

[87]  Dwight B. Davis Tektronix Inc. , 1993 .

[88]  A. Maslow Motivation and personality, 3rd ed. , 1987 .

[89]  John Rheinfrank,et al.  Design languages , 1996 .

[90]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[91]  Michael D. Harrison,et al.  Abstract models for HCI , 1997, Int. J. Hum. Comput. Stud..

[92]  A. Maslow Motivation and Personality , 1954 .

[93]  Helen Sharp,et al.  Evolving Pedagogical Patterns: The Work of the Pedagogical Patterns Project , 2003, Comput. Sci. Educ..

[94]  D. Norman The psychology of everyday things", Basic Books Inc , 1988 .

[95]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[96]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[97]  Serge Demeyer,et al.  Making design patterns explicit in FACE: a frame work adaptive composition environment , 1997, ESEC '97/FSE-5.

[98]  Steve Berczuk,et al.  Getting Ready to Work: Patterns for a Developer's Workspace , 2000 .

[99]  Shailey Minocha,et al.  Design Patterns as a Guide to the Cultural Localisation of Software , 2003, IWIPS.

[100]  John C. Thomas,et al.  Perspectives on HCI patterns: concepts and tools , 2003, CHI Extended Abstracts.

[101]  Nuno Jardim Nunes,et al.  Interactive Systems. Design, Specification, and Verification , 2003, Lecture Notes in Computer Science.

[102]  Christopher Alexander Notes on the Synthesis of Form , 1964 .

[103]  Rebecca E. Grinter,et al.  Putting it all together: towards a pattern language for interaction design: A CHI 97 workshop , 1998, SGCH.

[104]  Christopher Alexander The Origins of Pattern Theory: The Future of the Theory, and the Generation of a Living World , 1999, IEEE Softw..

[105]  Staffan Björk,et al.  Patterns In Game Design , 2004 .

[106]  Gustavo Rossi,et al.  Developing hypermedia applications with methods and patterns , 1999, CSUR.

[107]  D. Norman The psychology of everyday things , 1990 .

[108]  Brian Marick Using Ring Buffer Logging to Help Find Bugs , 2000 .

[109]  Hans Toetenel,et al.  VDM'91 Formal Software Development Methods , 1991, Lecture Notes in Computer Science.

[110]  Richard P. Gabriel,et al.  Patterns of Software: Tales from the Software Community , 1996 .

[111]  Gustavo Rossi,et al.  User interface patterns for hypermedia applications , 2000, AVI '00.

[112]  Alan F. Blackwell,et al.  CHAPTER 5 – Notational Systems—The Cognitive Dimensions of Notations Framework , 2003 .

[113]  Marshall Cline The pros and cons of adopting and applying design patterns in the real world , 1996, CACM.

[114]  James O. Coplien,et al.  Multi-paradigm design for C++ , 1998 .

[115]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[116]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[117]  Jan O. Borchers CHI meets PLoP: an interaction patterns workshop , 2000, SGCH.

[118]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[119]  Fabio Paternò Model-Based Design and Evaluation of Interactive Applications , 2000 .

[120]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[121]  Gerrit C. van der Veer,et al.  Pattern Languages in Interaction Design: Structure and Organization , 2003 .

[122]  John C. McCarthy,et al.  Technology as experience , 2004, INTR.

[123]  Paul Dyson,et al.  State patterns , 1997 .

[124]  Christopher Alexander,et al.  The production of houses , 1985 .

[125]  Bruce Anderson,et al.  Patterns: building blocks for object-oriented architectures3 , 1993, OOPSLA '93.

[126]  Stephen Grabow Christopher Alexander: The Search for a New Paradigm in Architecture , 1983 .

[127]  Hany H. Ammar,et al.  A Pattern Language of Statecharts , 1998 .

[128]  Ralph E. Johnson,et al.  Beyond the Hype: Do Patterns and Frameworks Reduce Discovery Costs? (Panel) , 1997, OOPSLA.

[129]  Terry Winograd,et al.  Bringing Design to Software , 1996 .

[130]  Donald A. Norman,et al.  User Centered System Design: New Perspectives on Human-Computer Interaction , 1988 .

[131]  Jocelyne Nanard,et al.  Pushing reuse in hypermedia design: golden rules, design patterns and constructive templates , 1998, HYPERTEXT '98.

[132]  Morten Kyng,et al.  Cardboard Computers: Mocking-it-up or Hands-on the Future , 1992 .

[133]  Sweden alete,et al.  What is a Pattern , 2016 .

[134]  Françoise Détienne,et al.  People and Computers XVI - Memorable Yet Invisible , 2002, Springer London.

[135]  Paul Taylor,et al.  Knowledge management with patterns , 2003, CACM.

[136]  Andy Dearden,et al.  Pattern Languages in Participatory Design , 2002 .

[137]  Lon Barfield,et al.  Interaction design at the Utrecht School of the Arts , 1994, SGCH.

[138]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

[139]  Tom Dayton,et al.  Participatory Practices in the Software Lifecycle , 1997 .

[140]  Ann Blandford,et al.  Values in HCI: what drives our practice? Panel Presentation , 2004 .

[141]  S. J. Goldsack,et al.  Formalising design patterns , 1996, FME 1996.

[142]  Ahmed Seffah Learning the ropes: human-centered design skills and patterns for software engineers' education , 2003, INTR.

[143]  James Coplien,et al.  Industrial experience with design patterns , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[144]  John C. Thomas,et al.  Patterns: what's in it for HCI? , 2001, CHI Extended Abstracts.

[145]  전상백 특집 : Christopher Alexander의 사상과 계획기법 , 1986 .

[146]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[147]  A. P. Hussey,et al.  Safety-critical usability: Pattern-based reuse of successful design concepts , 1999 .

[148]  Robert S. Hanmer,et al.  Real Time and Resource Overload Language , 2000 .

[149]  Åke Walldius Patterns of recollection : the documentary meets digital media , 2001 .

[150]  Michel de Champlain,et al.  A Pattern Language To Visitors , 2001 .

[151]  Lyn Pemberton,et al.  Usability pattern language: Creating a community , 2001, AI & SOCIETY.

[152]  John C. Thomas,et al.  Human-computer-human interaction patterns: workshop on the human role in HCI patterns , 2004, CHI EA '04.

[153]  Thomas Erickson,et al.  Making sense of computer-mediated communication (CMC): conversations as genres, CMC systems as genre ecologies , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[154]  O BorchersJan CHI meets PLoP , 2000 .

[155]  Andy Dearden,et al.  Using Pattern Languages in Participatory Design , 2012 .

[156]  James A. Landay,et al.  Design Patterns for Ubiquitous Computing , 2003, Computer.

[157]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[158]  Antonio C. Siochi,et al.  The UAN: a user-oriented representation for direct manipulation interface designs , 1990, TOIS.

[159]  Landon P. Cox,et al.  Design patterns: an essential component of CS curricula , 1998, SIGCSE '98.

[160]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[161]  Akihiko Ohsuga,et al.  Agent system development method based on agent patterns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[162]  Michael Weiss Patterns for e-Commerce Agent Architectures: Using Agents as Delegates , 2001 .

[163]  Douglas Schuler,et al.  Participatory Design: Principles and Practices , 1993 .

[164]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.