Intro to Pattern Languages

3
…The langua ge, and the processes whi ch stem from it, merely release the funda- mental order which is native to us. They do not teach us, they only remind us of what we know already, and of what we shall discover time and time again, when we give up our ideas and opinions, and do exactly what emerges from ourselves. - Christopher Alexander, The Timeless Way of Building Introduction In the late 1960s Christopher Alexander and his associates embarked on a search for a new method of architecture and planning, studying how people interacted with physical spaces. Several years later they published a series of books describ- ing this new method. Wit h philosophy and writing of soaring beauty, Alexander posits that our lives consist mainly of patterns of events, and that architecture which sup- ports these patterns helps us feel more "alive" or " whole." He says, "A pattern lan- guage is really nothing more than a pre- cise way of describing someone’s experi- ence of a building." This approach of focusing on people relates directly to the Razorfish philosophy of creating user experiences. Alexander recorded his observations in a format called "design patterns" which summarize the context of a problem and its solution. For example, one design pat- tern, "Opening to the Street," is illustrated with a photograph and begins with the essence of the pattern: "The site of action is an incentive for action. When people can see into spaces from the street their world is enlarged and made richer, there is more unders tanding; and there is the pos - sibility for communication, learning." Notice his description focuses on the human experience. Next is a detailed elab- oration of this scenario, including a report of his observa tions and ot her architectural references. The pattern continues with a solution: "In any public space which depends for its succ ess on its exposu re to the street, open it up, with a fully opening wall which can be thrown wide open, and if it is possible, include some part of the activity on the far side of the pedestrian path, so that it act ually stra ddles the path, and people walk through it as they walk along the path…" He concludes the pat- tern with a line drawing and a list of relat- ed patterns. When writing his patterns, Alexander care- fully selected the level of abstraction. The patterns are concrete enough to use as rules of thumb with good results, and yet are sufficiently abstract to apply to count- less situations, with an almost infinite vari- ety of results. A group of related design patterns are referred to as a "pattern language." The particular pattern language Alexa nde r wrote spans the entire scale of architec- ture, from "Agricultural Valleys" to "Street Cafes" to "Alcoves." But this language is only one example; his hope is that every living society and to some extent every individual will identify their own pattern language and use it to design their envi- ronment. Pattern Languages in Computer Science T he concept of pattern languages crossed over to the computer science field not via user interface designers but actually through the efforts of the programming community. The method of documenting invariant problems paired with their corre- sponding solutions was a convenient way to express repeating programming tech- niques. Additionally, the concept of asso- ciating these patterns in the hierarchical structure of a pattern language translated into interesting parallels for object-orient- ed software design. The most notable expression of design patterns in the soft- ware field is the landmark book, Design Patterns, by Gamma et al. James Coplien of Bell Laboratories com- ments, "Focusing on objects had caused us to lose the system perspective. Preoccupation with design method had caused us to lose the human perspective. The curious parallels between Alexander’s world of buildings and our world of soft- ware construction helped the ideas to take root and thrive in grassroots pro- gramming communities worldwide. The pattern discipline has become one of the most widely applied and important ideas of the past decade in software architec- ture and design." The software community started a series of Pattern Languages of Programming conferences to further c reation an d use of design patterns. It was in these confer- ences that design patterns were first cre- ated for interaction design. Pattern Languages for Interaction Design There is a small, active community of inter- action designers around the world cur- Pattern Languages For Interaction Design a publication of the science department | 0 4.24.00 | report 15 by Victor Lombardi "The pa ttern discipl ine has become one of the most widely applied and import ant ideas of the past decade in software architecture and design." -James Coplien "A pattern language is nothing more than a pre- cise way of describing som eone's experi ence... " -Christopher Alex ander

Transcript of Intro to Pattern Languages

Page 1: Intro to Pattern Languages

8/4/2019 Intro to Pattern Languages

http://slidepdf.com/reader/full/intro-to-pattern-languages 1/2

…The language, and the processes whichstem from it, merely release the funda-

mental order which is native to us. They

do not teach us, they only remind us of

what we know already, and of what we

shall discover time and time again, when

we give up our ideas and opinions, and

do exactly what emerges from ourselves.

- Christopher Alexander, The Timeless Way of Building

IntroductionIn the late 1960s Christopher Alexander

and his associates embarked on a search

for a new method of architecture and

planning, studying how people interacted

with physical spaces. Several years later

they published a series of books describ-

ing this new method. With philosophy and

writing of soaring beauty, Alexander posits

that our lives consist mainly of patterns of

events, and that architecture which sup-

ports these patterns helps us feel more

"alive" or "whole." He says, "A pattern lan-

guage is really nothing more than a pre-cise way of describing someone’s experi-

ence of a building." This approach of

focusing on people relates directly to the

Razorfish philosophy of creating user

experiences.

Alexander recorded his observations in a

format called "design patterns" which

summarize the context of a problem and

its solution. For example, one design pat-

tern, "Opening to the Street," is illustratedwith a photograph and begins with the

essence of the pattern: "The site of action

is an incentive for action. When people

can see into spaces from the street their

world is enlarged and made richer, there is

more understanding; and there is the pos-

sibility for communication, learning."

Notice his description focuses on the

human experience. Next is a detailed elab-

oration of this scenario, including a report

of his observations and other architectural

references. The pattern continues with a

solution: "In any public space which

depends for its success on its exposure to

the street, open it up, with a fully opening

wall which can be thrown wide open, and

if it is possible, include some part of the

activity on the far side of the pedestrian

path, so that it actually straddles the path,

and people walk through it as they walk

along the path…" He concludes the pat-

tern with a line drawing and a list of relat-

ed patterns.

When writing his patterns, Alexander care-

fully selected the level of abstraction. The

patterns are concrete enough to use as

rules of thumb with good results, and yet

are sufficiently abstract to apply to count-

less situations, with an almost infinite vari-

ety of results.

A group of related design patterns are

referred to as a "pattern language." The

particular pattern language Alexa n d e r

wrote spans the entire scale of architec-

ture, from "Agricultural Valleys" to "Street

Cafes" to "Alcoves." But this language isonly one example; his hope is that every

living society and to some extent every

individual will identify their own pattern

language and use it to design their envi-

ronment.

Pattern Languages

in Computer ScienceThe concept of pattern languages crossed

over to the computer science field not via

user interface designers but actuathrough the efforts of the programmin

community. The method of documentin

invariant problems paired with their corr

sponding solutions was a convenient w

to express repeating programming tec

niques. Additionally, the concept of ass

ciating these patterns in the hierarchic

structure of a pattern language translate

into interesting parallels for object-orien

ed software design. The most notab

expression of design patterns in the so

ware field is the landmark book, Desi

Patterns, by Gamma et al.

James Coplien of Bell Laboratories com

ments, "Focusing on objects had cause

us to lose the system perspectiv

Preoccupation with design method ha

caused us to lose the human perspectiv

The curious parallels between Alexande

world of buildings and our world of so

ware construction helped the ideas

take root and thrive in grassroots pr

gramming communities worldwide. T

pattern discipline has become one of t

most widely applied and important ide

of the past decade in software archite

ture and design."

The software community started a seriof Pattern Languages of Programmi

conferences to further creation and use

design patterns. It was in these confe

ences that design patterns were first cr

ated for interaction design.

Pattern Languages

for Interaction DesignThere is a small, active community of inte

action designers around the world cu

Pattern Languages For Interaction Design

a publication of the science department | 0 4.24.00 | report

by Victor Lombardi

"The pattern disciplinehas become one ofthe most widelyapplied and importantideas of the pastdecade in softwarearchitecture anddesign." -James Coplien

"A pattern language is

nothing more than a precise way of describingsomeone's experience...-Christopher Alexander

Page 2: Intro to Pattern Languages

8/4/2019 Intro to Pattern Languages

http://slidepdf.com/reader/full/intro-to-pattern-languages 2/2

rently creating design patterns and exper-

imenting with their use. An example is

Common Ground, a user interface pattern

language created by Jenifer Tidwell at the

M a s sa chusetts Institute of Te ch n o l o g y.

Here is a summary of one of her patterns:Pointer Shows Affordance

Examples:

• Finger pointer over a hyperlink, especially

pictorial links

• Buttons whose borders change when

you point to them

Context: The artifact contains a pointer, or

"virtual fingertip" (mouse or pen point, for

instance) that is the focal point for the

user’s interaction with the artifact…

Problem: How can the artifact indicatethat an entity represents an action that the

user may take?

Forces: Static affordances aren’t always

enough to indicate the presence of a

ma n ipul atable control, especially when

space is tight or when an esthetic design

is of paramount importance.

Solution: Change the affordance of the

thing as the pointer moves over it. This can

be done by changing the pointer to com-

municate what action can be performed or

by changing the artifact to make it stand

out perceptually…

Tidwell concludes this pattern with the

resulting context, an illustration, refer-

ences to related patterns in her language,

and examples of well-known interface

designs. This pattern contributes to a pat-

tern language spanning all of user inter-

face design, including patterns such as

"Background Posture," "Status Display,"

and "Progress Indicator."

This pattern language shows consistency

with Alexander’s ideas in several ways: the

focus on human interaction, the format

that includes a problem, context, and solu-

tion, and the composition of a language

describing human behavior within an envi -

ronment. Additionally, the level of abstrac-

tion enables designers to use this design

pattern repeatedly while never duplicating

the details of implementation.

BenefitsInterest in pattern languages for computer

interaction design continues to grow for

several reasons. First, design patterns pro-

vide an accessible format to document

design knowledge on a personal, project,

or organizational level, creating a com-

plete but accessible reference source.

Design patterns elegantly summarize a

problem, context, examples, and solution

in a format that is more rigorous than a

heuristic and more accessible than a

library of design books.

Second, the format of design patterns

facilitates communication with other par-

ticipants of a design project. Because

design is a distributed social process,

effective communication plays an impor-

tant role.

Third, pattern languages serve as a tool to

practice actual design. They move the

designer to an abstract level to help

escape repetition and encourage innova-

tion. Because design patterns transcend

particular implementations, they assist the

designer in moving easily among plat-

forms, devices, and media (visual, audito-

ry, haptic, etc.). When used as a toolbox of

techniques, design patterns can lower

costs, in terms of time and usability test-

ing, by helping designers form educat

design choices at the beginning of a proje

The ChallengeAt the Object-Oriented Program

Systems, Languages, and Applicatioconference in 1996, Christoph

Alexander lamented that architects still d

not create in a generative way throug

observation of human experience. H

pointed out that the spread of compute

effectively increases the influence of com

puter professionals in a way that cou

prove more important to human expe

ence than architecture. He challe ng

software professionals to create the "na

ural, genetic infrastructure of a living wo

which you/we are capable of creatin

managing, making available, and whicould then have the result that a livin

structure…becomes an attainable thing.

Pattern Languages for Interaction Desig

reports.razorfish.com | [email protected] | www.razorfish.com

for more information

Alexander, Christopher.

The Timeless Way of Building. OxfordUniversity Press, 1979.

Alexander, Christopher.A Pattern Language: Towns, Building,Construction. Oxford University Press,1977

Alexander, Christopher.The Origins of Pattern Theory: The Futureof the Theory, and the Generation of a

Living World.http:/ / www.computer.org/ software/ 

so1999/ s5071abs.htm

Erickson, Thomas.

The Interaction Design Patterns Page.http:/ / www.pliant.org/ personal/ 

Tom_Erickson/ InteractionPatterns.html

Gamma, Erich, et al.Design Patterns: Elements of ReusableObject-Oriented Software .Addison-Wesley, 1995.

Tidwell, Jenifer.

Common Ground: A Pattern Languagefor Human-Computer Interface Design.

http:/ / www.mit.edu/ ~jtidwell/ interaction_patterns.html

"Focusing on objects

had caused us tolose the system per-spective.Preoccupation withdesign method hadcaused us to lose thehuman perspective."-James Coplien