Interaction Design Pattern
   HOME

TheInfoList



OR:

Interaction design patterns are
design patterns ''Design Patterns: Elements of Reusable Object-Oriented Software'' (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword ...
applied in the context human-computer interaction, describing common designs for
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
s. A design pattern is a formal way of documenting a solution to a common
design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design'' ...
problem. The idea was introduced by the architect
Christopher Alexander Christopher Wolfgang John Alexander (4 October 1936 – 17 March 2022) was an Austrian-born British-American architect and design theorist. He was an emeritus professor at the University of California, Berkeley. His theories about the nature o ...
for use in urban planning and building architecture and has been adapted for various other disciplines, including teaching and pedagogy, development organization and process, and software architecture and design. Thus, interaction design patterns are a way to describe solutions to common usability or accessibility problems in a specific context. They document interaction models that make it easier for users to understand an interface and accomplish their tasks.


History

Patterns originated as an architectural concept by
Christopher Alexander Christopher Wolfgang John Alexander (4 October 1936 – 17 March 2022) was an Austrian-born British-American architect and design theorist. He was an emeritus professor at the University of California, Berkeley. His theories about the nature o ...
. Patterns are ways to describe best practices, explain good designs, and capture experience so that other people can reuse these solutions.
Design patterns ''Design Patterns: Elements of Reusable Object-Oriented Software'' (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword ...
in computer science are used by software engineers during the actual design process and when communicating designs to others. Design patterns gained popularity in computer science after the book ''Design Patterns: Elements of Reusable Object-Oriented Software'' was published. Since then a pattern community has emerged that specifies patterns for problem domains including architectural styles and object-oriented frameworks. The
Pattern Languages of Programming Pattern Languages of Programs is the name of a group of annual conferences sponsored by The Hillside Group. The purpose of these conferences is to develop and refine the art of software design patterns. Most of the effort focuses on developing ...
Conference (annual, 1994—
proceedings
includes many examples of domain-specific patterns. Applying a pattern language approach to interaction design was first suggested in Norman and Draper's book ''User Centered System Design'' (1986). The Apple Computer's Macintosh Human Interface Guidelines also quotes Christopher Alexander's works in its recommended reading.


Libraries

Alexander envisioned a
pattern language A pattern language is an organized and coherent set of ''patterns'', each of which describes a problem and the core of a solution that can be used in many ways within a specific field of expertise. The term was coined by architect Christopher Alexa ...
as a structured system in which the semantic relationships between the patterns create a whole that is greater than the sum of its parts, much like the way that grammatical relationships between words make language meaningful. While some collections of patterns attempt to create the structural relationships needed to form a language, many others are simply an assemblage of patterns (and thus are more appropriately termed pattern libraries.)


Mobile interaction pattern libraries

The popularity of mobile devices such as smartphones and tablets usher in a need for a library of mobile interaction design patterns. This need is driven by: * Differences in user behavior and interaction on mobile devices such as swipe and tap gestures, vis-a-vis interaction on a Desktop GUI, which is mouse-driven * Differences in physical attributes between a mobile and a desktop device e.g. screen size, touch screen, etc. * Design guidelines recommended by mobile OS e.g. iOS, Android


Elements

For patterns to be helpful to the designers and developers who will make use of them, they need to be findable and readable.


Common elements

Though pattern descriptions vary somewhat, many pattern libraries include some common elements: * Pattern Name: Choosing a clear and descriptive name helps people find the pattern and encourages clear communication between team members during design discussions. * Pattern Description: Because short names like "one-window drilldown" are sometimes not sufficient to describe the pattern, a few additional lines of explanation (or a canonical screenshot) will help explain how the pattern works. * Problem Statement: Written in user-centered language, this communicates what the user wants to achieve or what the challenge is to the end-user. * Use When: "Context of use" is a critical component of the design pattern. This element helps people understand situations when the design pattern applies (and when it does not.) * Solution: The solution should explain "how" to solve the problem, and may include prescriptive checklists, screenshots, or even short videos demonstrating the pattern in action. * Rationale: Providing reasons "why" the pattern works will reinforce the solution, though time-pressed developers may prefer to ignore this explanation. * Examples: Each example shows how the pattern has been successfully applied This is often accompanied by a
screenshot screenshot (also known as screen capture or screen grab) is a digital image that shows the contents of a computer display. A screenshot is created by the operating system or software running on the device powering the display. Additionally, s ...
and a short description. * Comments: Including a place for team members to discuss the use of the pattern helps maintain an active resource and keeps the team engaged.


Optional elements

Pattern libraries can also include optional elements, depending on the needs of the team using them. These may include: * Implementation Specifications: A style guide with detailed information about font sizes, pixel dimensions, colors, and wording for messages and labels can be helpful for developers. * Usability Research: Any supporting research from usability tests or other user feedback should be captured. This can also include feedback from developers, customer service, or the sales team. * Related Patterns: The pattern library may include similar patterns, or it may be organized into a hierarchy of parent and child patterns. * Similar Approaches: Since there are likely to be many possible solutions to this problem, teams may want a place to capture similar alternatives. * Source Code: If the code is modular enough to be reused, then it can be included in the library as well.


Reasons to use design patterns

Benefits of using interaction design patterns include: * Teaching novices some best practices and common approaches * Capturing collective wisdom of designers across many uses and scenarios * Giving teams a common language, reducing misunderstandings that arise from the different vocabulary * Reducing time and costs in the design and development lifecycle * Making usable designs the "
path of least resistance The path of least resistance is the physical or metaphorical pathway that provides the least resistance to forward motion by a given object or entity, among a set of alternative paths. The concept is often used to describe why an object or entit ...
" * Eliminate wasted time spent "reinventing the wheel" * Ensuring users have a consistent and predictable experience within an application or service


Advantages over design guidelines

Guidelines are generally more useful for describing requirements whereas patterns are useful tools for those who need to translate requirements into specific software solutions. Some people consider design guidelines as an instance of interaction design pattern as they are also common approach of capturing the experience in interaction design. However, interaction design patterns usually have the following advantages over design guidelines: # Abstract guidelines, like the ''Eight Golden Rules of Interface Design'' by Shneiderman, do not suggest how to solve a problem like many interaction design pattern, and cannot be used for interdisciplinary communication. Furthermore, guidelines do not provide an explanation as to why a particular solution works. # Concrete guidelines, like Macintosh Human Interface Guidelines, are too tailored to a specific interface, and therefore are not as effective when applied to other interfaces (especially non-Macintosh interfaces). # Other problems with guidelines are that they tend to be too numerous which makes it difficult for designers to apply the right guidelines. Also guidelines assume an absolute validity while usually they can only be applied in a particular context. A result of that is also that guidelines often tend to conflict just because they lack describing a context. Guidelines and patterns are not necessarily conflicting, and both can be used in conjunction to identify the problem and then create a valid solution.


See also

*
Design pattern A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The " Gang of Four" b ...
*
Gameplay Gameplay is the specific way in which players interact with a game, and in particular with video games. Gameplay is the pattern defined through the game rules, connection between player and the game, challenges and overcoming them, plot and pla ...
*
Elements of Design Element or elements may refer to: Science * Chemical element, a pure substance of one type of atom * Heating element, a device that generates heat by electrical resistance * Orbital elements, parameters required to identify a specific orbit of ...
*
Information architecture Information architecture (IA) is the structural design of shared information environments; the art and science of organizing and labelling websites, intranets, online communities and software to support usability and findability; and an emerging ...
*
Interaction design Interaction design, often abbreviated as IxD, is "the practice of designing interactive digital products, environments, systems, and services." Beyond the digital aspect, interaction design is also useful when creating physical (non-digital) produ ...
*
Interactivity Across the many fields concerned with interactivity, including information science, computer science, human-computer interaction, communication, and industrial design, there is little agreement over the meaning of the term "interactivity", but m ...
*
Interface design User interface (UI) design or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing usability and the ...
* Mobile interaction *
Sonic interaction design Sonic interaction design is the study and exploitation of sound as one of the principal channels conveying information, meaning, and aesthetic/emotional qualities in interactive contexts. Sonic interaction design is at the intersection of interacti ...
*
Usability Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a soft ...
*
User-centered design User-centered design (UCD) or user-driven development (UDD) is a framework of process (not restricted to interfaces or technologies) in which usability goals, user characteristics, environment, tasks and workflow of a product, service or proce ...


References


Further reading

* ''A Pattern Approach to Interaction Design,'' by Jan Borchers, * ''A Pattern Language for Web Usability,'' by Ian Graham, * ''Interaction Design Patterns für NFC-basierte Electronic Data Capture Anwendungen'' by Andreas Prinz, Prinz Publishing, Dieburg 2014, . * ''The Design of Sites: Patterns for Creating Winning Websites (Second Edition),'' by Douglas K. van Duyne, James A. Landay, and Jason I. Hong, * ''Designing Interfaces: Patterns for Effective Interaction Design,'' by Jenifer Tidwell, * ''Designing Social Interfaces: Principles, Patterns, & Practices for Improving the User Experience,'' by Christian Crumlish and Erin Malone, * ''Interaction Design for Complex Cognitive Activities with Visual Representations: A Pattern-Based Approach,'' by Kamran Sedig and Paul Parsons
AIS Transactions on Human-Computer Interaction 5(2), 84-133


External links


10 Great Sites for UI Design Patterns
at Interaction Design foundation
Yahoo Design Pattern Library
{{DEFAULTSORT:Interaction Design Pattern Software design patterns