Collaborative wiki for a few of us. Fork of lines.love.
# A pattern language for Explorable Interfaces

http://www.maplefish.com/todd/papers/Experiences.html

[Real, slightly overblown paper title and introduction]

Experiences -- A Pattern Language for User Interface Design
Todd Coram (tcoram@pobox.com) and Jim Lee (jlee@btg.com)

> Software design is the act of determining the user's experience with a piece of software. It has nothing to do with how the code works inside, or how big or small the code is. The designer's task is to specify completely and unambiguously the user's whole experience.
-- David Liddle, "Bringing Design to Software" [Liddle96]

Introduction

Here are the beginnings of a pattern language that can be used to generate software designs which are user centered. By user centered, we mean software designs that place the user's experience first and foremost. We will be concentrating our patterns on the place where a user interacts with the application: the user interface. Even if a software system is architected in such a way that its internal structure and operations are efficient, elegant and correct, it is ultimately the interface by which the end user judges its usefulness.

We have spent decades perfecting the craft of software engineering and we are only now starting to concentrate on the human-computer interface. That interface needs to be more than just a series of windows, command prompts and forms. It must be designed to heighten the users experience with software systems. In order to provide pleasurable and productive experiences we must not only choose our interface tools correctly, but we must choose our conceptual environment with wisdom. A collection of tools and gadgets, no matter how logically or efficiently organized, doesn't create a whole and complete environment. We must make the environment hospitable for users.

By using the patterns described here, you should be able to develop languages that help you build environments that will be pleasurable and productive to use. You won't find information here on how to use icons, pop-up menus, dialog boxes and other interface gadgets. Our primary focus is on the higher level patterns found in all good user interfaces: Patterns that help us design interfaces that provide the user with positive experiences using well engineered software systems.