Professional Documents
Culture Documents
html
Lyn Pemberton
Summary
1 Introduction
Compared with the centuries old disciplines that shape the lived environment
(architecture, fine art, civil, mechanical and electrical engineering, printing and
theatre, to name the more obvious), computing is a brash newcomer. Even less
mature is our sub-discipline of human-computer interaction design. It behoves us
to show humility in recognising the immaturity of our discipline by looking to
those longer established for both general approaches to design, and perhaps also
for specific solutions. This is not to set these disciplines up as edifices of
immutable wisdom; they contain their own debates and movements, and have
been capable of radical reappraisal and change during contemporary history.
However, these debates, drawing on the accumulated wisdom of prolonged
practice, offer substantial insight into fundamental issues about designing
appropriate artefacts for sustainable human use. In this paper, we discuss the
potential advantages of adapting ideas developed in the domain of architecture for
use in human-computer interaction design.
1 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
2 Background
2.1 The Form of Patterns
The concept of patterns as developed by Alexander has enormous subtlety and far
reaching implications. We cannot hope to do it anything like justice in this short
paper. In what follows, we attempt merely a brief introduction to the topic as
encouragement to further investigation.
Patterns grew out of Alexander’s disaffection with the quality of architecture in the
1960’s, which he attributed in part to the misapplication of formal methods in
architectural design. This had resulted in buildings which failed to fulfil the real
needs of the people who lived and worked in them, which failed to adapt to local
social and physical environments and which people simply did not like [cf. 6].
Alexander contrasts these modern failed building with the many successful, ‘living’
buildings created in other societies, buildings which for Alexander embodied ‘the
quality without a name’, a recognisable but indefinable quality which floats in the
semantic space bordered by terms such as ‘alive’, ‘whole’, ‘comfortable’, ‘free’,
‘exact’, ‘egoless’ and ‘eternal’. Patterns are conceptual tools for helping people
design buildings, which might themselves have that quality.
The solutions are not simply pre-formed parts of a building kit. A pattern is an
abstraction from any specific examples: this is what gives patterns their
2 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
Title: To capture succinctly (and evocatively) the solution that the pattern
offers.
Picture: "... which shows an archetypal example of that pattern." This may
be literal or impressionistic. A subsidiary function may be to help the reader
remember and find the pattern subsequently.
Solution: (In bold type) Describing the "... field of physical and social
relationships which are required to solve the stated problem in the stated
context." as a statement, in imperative form.
3 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
The fact that individual patterns are integrated into pattern languages is not
merely for convenience of retrieval. It enables the collection of patterns to operate
generatively, each pattern showing the sub-patterns required to resolve more
detailed design issues, in the context of the larger design. Exactly what might best
be considered a ‘natural’ organisational principle for HCI patterns is an open
question.
The steps to identifying patterns that Alexander gives in ‘The Timeless Way of
Building’ [2] are:
For Alexander, within the domain of architecture, this involves finding places
which ‘feel good’. For us, this could translate to finding examples of human-
computer interaction that ‘work well’ for the users. The subjective
experience of the users is crucial in identifying patterns that are, in
Alexander’s phrase, ‘alive’, and make the user positively engaged with the
system.
3. Identify invariance
Identified patterns will be integrated into a pattern language, higher level patterns
setting the context for application of this pattern and lower level patterns
indicating how it should be completed.
4 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
At a deeper level, the analysis of the process of design that underlies patterns is
applicable to the HCI domain—as it is to any other where the design is to be
executed against a set of many specific and interacting requirements. Here the
task of the designer is to decompose the requirements into sub-sets defining
tractable design problems that will eventually be composed to satisfy the overall
goal. This approach to design is described in detail in Alexander’s Notes on the
Synthesis of Form [8].
The first of these, which describes the need for the user to be warned of potential
problems when interacting with a system, is described in full, while the rest are
left in outline ‘context, problem and solution’ form. Figures in parentheses are
references to other, fictional, patterns which would have to exist in a complete
pattern language.
85 Give a Warning *
. . . . users may be able to execute actions that can have serious unintended
consequences, so encourage or make them to THINK TWICE (86).
5 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
***
When an expert user is engaged in a flowing task, the (software) tool that they
are using disappears from their conscious perception. This is an essential idea of
Heidegger's that Winograd and Flores use in their influential book, "Understanding
Computers and Cognition" [10].
In general, the design of a software tool interface should allow this mode of work,
and not call attention to itself until a breakdown—an error occurs, or an
adjustment has to be made.
However, some actions may have consequences that the user should be alerted
to—where there is a more than usual possibility of the action being executed
mistakenly and inconvenience ensuing. The interface should be designed
syntactically so that inappropriate actions are not available—the mistake here is
more semantic in that the action may be intended by the user, but may have a
side effect that is not desired. The problem is to issue a warning without causing a
breakdown.
Thus, if all other actions are initiated by selecting from pull down menus and
releasing the mouse button, this particular action should also. However, the
significance of the action should be drawn attention to, e.g., while the mouse
pointer is over the menu item, a warning message appears along side, the item
has a different colour or typeface, an exclamation mark is appended to the item,
etc.
Therefore:
6 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
***
Problem: this is a problem in the paper world as it involves long hours by the
photocopier or messy bits of paper that have a tendency to get lost.
When we move to the level of the physical artefact in which the software is
embedded, the pattern language structure can be used to point out general
contextualised problems and general solutions which can be implemented to fit
specific situations.
Situation: business people want to carry their computers around with them.
7 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
Problem: the display of information presented in the room must allow co-workers
to consult each other’s work. For instance, colleagues glance at each other’s
screens when walking to the coffee machine and often pick up problems as they do
so.
Solution: design the new layout perhaps as a horseshoe, with the screens of
workstations facing inwards, making sure screens are big and readable and of
common design.
This pattern might be linked to another pattern, which refers to the need for
co-workers to be in auditory rather than visual contact.
8 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
An immediate reaction to the ideas presented here may be that they simply
replicate (in a rather long winded way) what has already been done in HCI design
through the introduction of style guides such as the Macintosh Human Interface
Guidelines [12], The Windows Interface: An Application Design Guide [13], NASA
Human-Computer Interface Guidelines [14], and very many others. However, we
claim that what is missing from these style guides, and is added in the pattern
approach, is the explicit acknowledgement that whole patterns are being recorded.
This implies that:
• patterns themselves are engaging and lively in a way that guidelines are
not, both in form and in the process of development, which often takes the
form of ‘pattern workshops’. This can make for continued evolution and
collaborative development of patterns.
• the use of a pattern language holds out the possibility of involving the
users of software interfaces in the design and modification of these
artefacts. By its non-jargon like nature, pattern language can serve as a
way of communicating between a number of parties to the design. We see
this as a particularly interesting area for development. Certainly some very
early work on using patterns in interaction design explicitly involved users
[16], and more recent work involved patterns as a communication medium
between HCI designer, software engineers and musicians [17].
4 Conclusion
9 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
References
1. Alexander, Christopher,, S. Ishikawa and M. Silverstein. A Pattern Language. Oxford, Oxford University
Press, 1977
2. Alexander, Christopher. The Timeless Way of Building. Oxford, Oxford University Press, 1979
5. Pemberton, Lyn & Griffiths, Richard, N. The Timeless Way: Making Living Cooperative Building with
Design Patterns, in: Streitz, N., et al. (Eds.), "Cooperative Buildings—Integrating Information,
Organization, and Archetecture." Proceedings of CoBuild'98, Lecture Notes in Computer Science.
Heidelberg, Springer, 1998
7. Lakoff G. and M. Johnson. Metaphors We Live By. Chicago University Press. 1980
10 of 11 11/6/2008 1:17 PM
Patterns & guidelines http://www.it.bton.ac.uk/staff/lp22/guidelinesdraft.html
10. Winograd, Terry & Flores, Fernando Understanding Computers and Cognition: A New Foundation For
Design. Addison-Wesley Publishing Co. Inc. 1986
11. Tidwell, Jenifer. Common Ground: A Pattern Language for Human-Computer Interface Design.
http://www.mit.edu/~jtidwell/common_ground.html viewed March 2000.
12. Apple Computer Inc. Macintosh Human Interface Guideline. Addison-Wesley Publishing Co. 1992
13. Microsoft Corporation. The Windows Interface: An Application Design Guide. Microsoft Corporation,
1987
14. Carlow International, Inc. (1992). Human-Computer Interface Guidelines. NASA, Goddard Space
Flight Centre, http:groucho.gsfc.nasa.gov:80/Code_520/Code_522/Documents/HCI_Guidelines/
viewed Dec 18 1997.
15. Cooper, Alan. About Face: The Essentials of User Interface Design. IDG Books, 1995
16. Beck, Kent & Cunningham, Ward. Using Pattern Languages for Object-Oriented Programs. Submitted
to the OOPSLA-87 workshop on the Specification and Design for Object-Oriented Programming, 1987
17. Borchers, Jan & Mühlhäuser, Max. Musical Design Patterns: An Example of a Human-Centred Model
of Interactive Multimedia, in Proceedings of the IEEE ICMCS’97 International Conference on Multimedia
Computing and Systems, 1997
11 of 11 11/6/2008 1:17 PM