SOME NOTES ON CHRISTOPHER ALEXANDER. By Dr. Nikos A. Salingaros.

1. BIOGRAPHY 2. PUBLICATIONS 3. BUILDINGS 4. INFLUENCE ON COMPUTER SCIENCE 5. INFLUENCE ON INFORMATION STRUCTURES AND ORGANIZATIONS 6. INFLUENCE ON ORIENTAL CARPET STUDIES 7. PHILOSOPHICAL CONTRIBUTIONS 8. THE NATURE OF ORDER

9. CHRISTOPHER ALEXANDER'S IDEAS ON OFFICE FURNITURE AND INTERIORS

[I have tried here to put together a summary of Christopher Alexander's wide-ranging contributions, utilizing what is already posted on the Web. In-text links are usually to external pages by other authors, which can be looked up on a second reading. Additional pages, listed at the end, explore some topics in greater detail.]

BIOGRAPHY

Christopher Alexander was born in Vienna, Austria, and raised in Oxford and Chichester, England. He graduated from Cambridge University, where he studied Mathematics and Architecture. He then obtained a Ph. D. in Architecture at Harvard University. For his Ph. D. Thesis, later published as the book Notes on the Synthesis of Form, he was awarded the first Gold Medal for Research by the American Institute of Architects. Since 1963 he has been Professor of Architecture at the University of California at Berkeley, and Director of the Institute for Environmental Structure. In 1980, Professor Alexander was elected member of the Swedish Royal Academy; and in 1996 he was elected fellow of the American Academy of Arts and Sciences. Christopher Alexander is a Trustee of the Prince of Wales's Institute of Architecture.

PUBLICATIONS

Dr. Alexander is the author of numerous books and papers. He has initiated a new approach to architectural thinking, in which the same set of laws determines the structure of a city; a building; or a single room. He has spent most of his life in searching for these laws. His approach to solving this universal problem takes advantage of scientific reasoning, and totally opposes other, unscientific approaches based on fashion, ideology, or arbitrary personal preferences. This is so different from the way architecture has been taught since the second world war that it causes conflicts with established architectural schools. Alexander offers definitive solutions to the problems of urban architecture and design. It is a great pity that these were not adopted when first published. Fortunately, a small number of his ideas have been incorporated into the "New Urbanism". Nevertheless, this very recent movement by no means represents a wholesale application of his results. Alexander has actually abstracted the process by which organic and inorganic forms evolve -- which is the same process that governs the growth of a city. These results lie at the basis of how matter organizes itself coherently, and are the opposite of the modern planning approach in which grids, zones, roads, and buildings, based on some preconceived design on paper, are imposed on human activity. These results will be expounded at length in the four-volume The Nature of Order, which is now ready for publication [see Alexander's Nature of Order webpage].

A comprehensive bibliography up to 1982 is listed in the biography by Stephen Grabow: Christopher Alexander: The Search for a New Paradigm in Architecture, Oriel Press, Stocksfield, England, 1983. Some of Alexander's key publications are:

1. Christopher Alexander, Notes on the Synthesis of Form (Cambridge, Massachusetts: Harvard University Press, 1964). 2. Christopher Alexander, A city is not tree, Architectural Forum 122 April (1965): No. 1, pages 58-61 and No. 2, pages 58-62. Reprinted in: Design After Modernism, Edited by John Thackara, Thames and Hudson, London, 1988; and in: Human Identity in the Urban Environment, Edited by G. Bell and J. Tyrwhitt, Penguin, 1992. 3. C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and S. Angel, A Pattern Language (New York: Oxford University Press, 1977). [Review by Nikos Salingaros; Review by Stewart Brand]. 4. C. Alexander, H. Neis, A. Anninou and I. King, A New Theory of Urban Design (New York: Oxford University Press, 1987). 5. Christopher Alexander, The Nature of Order (New York: Oxford University Press, 2002). (in press). [Salingaros's Nature of Order webpage; Alexander's Nature of Order webpage, which is set up for ordering the book online].

(A CITY IS NOT A TREE

CHRISTOPHER ALEXANDER

The tree of my title is not a green tree with leaves. It is the name of an abstract structure. I shall contrast it with another, more complex abstract structure called a semilattice. In order to relate these abstract structures to the nature of the city, I must first make a simple distinction. I want to call those cities which have arisen more or less spontaneously over many, many years natural cities. And I shall call those cities and parts of cities which have been deliberately created by designers and planners artificial cities. Siena, Liverpool, Kyoto, Manhattan are examples of natural cities. Levittown, Chandigarh and the British New Towns are examples of artificial cities.

It is more and more widely recognized today that there is some essential ingredient missing from artificial cities. When compared with ancient cities that have acquired the patina of life, our modern attempts to create cities artificially are, from a human point of view, entirely unsuccessful.

Both the tree and the semilattice are ways of thinking about how a large collection of many small systems goes to make up a large and complex system. More generally, they are both names for structures of sets.

In order to define such structures, let me first define the concept of a set. A set is a collection of elements which for some reason we think of as belonging together. Since, as designers, we are concerned with the physical living city and its physical backbone, we must naturally restrict ourselves to considering sets which are collections of material elements such as people, blades of grass, cars, molecules, houses, gardens, water pipes, the water molecules in them etc.

When the elements of a set belong together because they co-operate or work together somehow, we call the set of elements a system.

For example, in Berkeley at the corner of Hearst and Euclid, there is a drugstore, and outside the drugstore a traffic light. In the entrance to the drugstore there is a newsrack where the day's papers are displayed. When the light is red, people who are waiting to cross the street stand idly by the light; and since they have nothing to do, they look at the papers displayed on the newsrack which they can see from where they stand. Some of them just read the headlines, others actually buy a paper while they wait.

This effect makes the newsrack and the traffic light interactive; the newsrack, the newspapers on it, the money going from people's pockets to the dime slot, the people who stop at the light and read papers, the traffic light, the electric impulses which make the lights change, and the sidewalk which the people stand on form a system - they all work together.

From the designer's point of view, the physically unchanging part of this system is of special interest. The newsrack, the traffic light and the sidewalk between them, related as they are, form the fixed part of the system. It is the unchanging receptacle in which the changing parts of the system - people, newspapers, money and electrical impulses - can work together. I define this fixed part as a unit of the city. It derives its coherence as a unit both from the forces which hold its own elements together and from the dynamic coherence of the larger living system which includes it as a fixed invariant part. Of the many, many fixed concrete subsets of the city which are the receptacles for its systems and can therefore be thought of as significant physical units, we usually single out a few for special consideration. In fact, I claim that whatever picture of the city someone has is defined precisely by the subsets he sees as units.

Now, a collection of subsets which goes to make up such a picture is not merely an amorphous collection. Automatically, merely because relationships are established among the subsets once the subsets are chosen, the collection has a definite structure.

To understand this structure, let us think abstractly for a moment, using numbers as symbols. Instead of talking about the real sets of millions of real particles which occur in the city, let us consider a simpler structure made of just half a dozen elements. Label these elements 1,2,3,4,5,6. Not including the full set [1,2,3,4,5,6], the empty set [-], and the one-element sets [1],[2],[3],C4],[5], [6], there are 56 different subsets we can pick from six elements.

Suppose we now pick out certain of these 56 sets (just as we pick out certain sets and call them units when we form our picture of the city). Let us say, for example, that we pick the following subsets: [123], [34], [45], [234], [345], [12345], [3456].

What are the possible relationships among these sets? Some sets will be entirely part of larger sets, as [34] is part of [345] and [3456]. Some of the sets will overlap, like [123] and [234]. Some of the sets will be disjoint - that is, contain no elements in common like [123] and [45].

We can see these relationships displayed in two ways. In diagram A each set chosen to be a unit has a line drawn round it. In diagram B the chosen sets are arranged in order of ascending magnitude, so that whenever one set contains another (as [345] contains [34], there is a vertical path leading from one to the other. For the sake of clarity and visual economy, it is usual to draw lines only between sets which have no further sets and lines between them; thus the line between [34] and [345] and the line between [345] and [3456] make it unnecessary to draw a line between [34] and [3456].

Diagrams A & B redrawn by Nikos Salingaros

As we see from these two representations, the choice of subsets alone endows the collection of subsets as a whole with an overall structure. This is the structure which we are concerned with here. When the structure meets certain conditions it is called a semilattice. When it meets other more restrictive conditions, it is called a tree.

The semilattice axiom goes like this: A collection of sets forms a semilattice if and only if, when two overlapping sets belong to the collection, the set of elements common to both also belongs to the collection.

The structure illustrated in diagrams A and B is a semilattice. It satisfies the axiom since, for instance, [234] and [345] both belong to the collection and their common part, [34], also belongs to it. (As far as the city is concerned, this axiom states merely that wherever two units overlap, the area of overlap is itself a recognizable entity and hence a unit also. In the case of the drugstore example, one unit consists of newsrack, sidewalk and traffic light. Another unit consists of the drugstore itself, with its entry and the newsrack. The two units overlap in the newsrack. Clearly this area of overlap is itself a recognizable unit and so satisfies the axiom above which defines the characteristics of a semilattice.) The tree axiom states: A collection of sets forms a tree if and only if, for any two sets that belong to the collection either one is wholly contained in the other, or else they are wholly disjoint.

The structure illustrated in diagrams C and D is a tree. Since this axiom excludes the possibility of overlapping sets, there is no way in which the semilattice axiom can be violated, so that every tree is a trivially simple semilattice.

Diagrams A & B redrawn by Nikos Salingaros

However, in this chapter we are not so much concerned with the fact that a tree happens to be a semilattice, but with the difference between trees and those more general semilattices which are not trees because they do contain overlapping units. We are concerned with the difference between structures in which no overlap occurs, and those structures in which overlap does occur.

It is not merely the overlap which makes the distinction between the two important. Still more important is the fact that the semilattice is potentially a much more complex and subtle structure than a tree. We may see just how much more complex a semilattice can be than a tree in the following fact: a tree based on 20 elements can contain at most 19 further subsets of the 20, while a semilattice based on the same 20 elements can contain more than 1,000,000 different subsets.

This enormously greater variety is an index of the great structural complexity a semilattice can have when compared with the structural simplicity of a tree. It is this lack of structural complexity, characteristic of trees, which is crippling our conceptions of the city.

To demonstrate, let us look at some modern conceptions of the city, each of which I shall show to be essentially a tree.

Figure 1. Columbia, Maryland, Community Research and Development, Inc.: Neighbourhoods,in clusters of five, form 'villages'. Transportation joins the villages into a new town. The organization is a tree.

Figure 2. Greenbelt, Maryland, Clarence Stein: This 'garden city' has been broken down into superblocks. Each superblock contains schools, parks and a number of subsidiary groups of houses built around parking lots. The organization is a tree.

Figure 3. Greater London plan (1943), Abercrombie and Forshaw: The drawing depicts the structure conceived by Abercrombie for London. It is made of a large number of communities, each sharply separated from all adjacent communities. Abercrombie writes, 'The proposal is to emphasize the identity of the existing communities, to increase their degree of segregation, and where necessary to recognize them as separate and definite entities.' And again, 'The communities themselves consist of a series of sub-units, generally with their own shops and schools, corresponding to the neighbourhood units.' The city is conceived as a tree with two principal levels. The communities are the larger units of the structure; the smaller sub-units are neighbourhoods. There are no overlapping units. The structure is a tree.

Figure 4. Mesa City, Paolo Soleri: The organic shapes of Mesa City lead us, at a careless glance, to believe that it is a richer structure than our more obviously rigid examples. But when we look at it in detail we find precisely the same principle of organization. Take, particularly, the university centre. Here we find the centre of the city divided into a university and a residential quarter, which is itself divided into a number of villages (actually apartment towers) for 4000 inhabitants, each again subdivided further and surrounded by groups of still smaller dwelling units.

Figure 5. Tokyo plan, Kenzo Tange: This is a beautiful example. The plan consists of a series of loops stretched across Tokyo Bay. There are four major loops, each of which contains three medium loops. In the second major loop, one medium loop is the railway station and another is the port. Otherwise, each medium loop contains three minor loops which are residential neighbourhoods, except in the third major loop where one contains government offices and another industrial offices.

Figure 6. Chandigarh (1951), Le Corbusier: The whole city is served by a commercial centre in the middle, linked to the administrative centre at the head. Two subsidiary elongated commercial cores are strung out along the maior arterial roads, running north-south. Subsidiary to these are further administrative, community and commercial centres, one for each of the city's 20 sectors. Figure 7. Brasilia, Lucio Costa: The entire form pivots about the central axis, and each of the two halves is served by a single main artery. This main artery is in turn fed by subsidiary arteries parallel to it. Finally, these are fed by the roads which surround the superbiocks themselves. The structure is a tree.

Figure 8. Communitas, Percival and Paul Goodman: Communitas is explicitly organized as a tree: it is first divided into four concentric major zones, the innermost being a commercial centre, the next a university, the third residential and medical, and the fourth open country. Each of these is further subdivided: the commercial centre is represented as a great cylindrical skyscraper, containing five layers: airport, administration, light manufacture, shopping and amusement; and, at the bottom, railroads, buses and mechanical services. The university is divided into eight sectors comprising natural history, zoos and aquariums, planetarium, science laboratories, plastic arts, music and drama. The third concentric ring is divided into neighbourhoods of 4000 people each, not consisting of individual houses, but of apartment blocks, each of these containing individual dwelling units. Finally, the open country is divided into three segments: forest preserves, agriculture and vacation lands. The overall organization is a tree.

Figure 9.The most beautiful example of all I have kept until last, because it symbolizes the problem perfectly. It appears in Hilberseimer's book The Nature of Cities. He describes the fact that certain Roman towns had their origin as military camps, and then shows a picture of a modern military encampment as a kind of archetypal form for the city. It is not possible to have a structure which is a clearer tree. The symbol is apt, for, of course, the organization of the army was designed precisely in order to create discipline and rigidity. The photograph on the [left] is Hilberseimer's own scheme for the commercial area of a city based on the army camp archetype.

Each of these structures, then, is a tree. Each unit in each tree that I have described, moreover, is the fixed, unchanging residue of some system in the living city (just as a house is the residue of the interactions between the members of a family, their emotions and their belongings; and a freeway is the residue of movement and commercial exchange).

However, in every city there are thousands, even millions, of times as many more systems at work whose physical residue does not appear as a unit in these tree structures. In the worst cases, the units which do appear fail to correspond to any living reality; and the real systems, whose existence actually makes the city live, have been provided with no physical receptacle.

Neither the Columbia plan nor the Stein plan for example, corresponds to social realities. The physical layout of the plans, and the way they function suggests a hierarchy of stronger and stronger closed social groups, ranging from the whole city down to the family, each formed by associational ties of different strength.

In a traditional society, if we ask a man to name his best friends and then ask each of these in turn to name their best friends, they will all name each other so that they form a closed group. A village is made up of a number of separate closed groups of this kind.

But today's social structure is utterly different. If we ask a man to name his friends and then ask them in turn to name their friends, they will all name different people, very likely unknown to the first person; these people would again name others, and so on outwards. There are virtually no closed groups of people in modern society. The reality of today's social structure is thick with overlap - the systems of friends and acquaintances form a semilattice, not a tree (Figure 10).

In the natural city, even the house on a long street (not in some little cluster) is a more accurate acknowledgement of the fact that your friends live not next door, but far away, and can only be reached by bus or car. In this respect Manhattan has more overlap in it than Greenbelt. And though one can argue that in Greenbelt, too, friends are only minutes away by car, one must then ask: since certain groups have been emphasized by the physical units of the physical structure, why are just these the most irrelevant ones? Part II

The units of which an artificial city is made up are always organized to form a tree. So that we get a really clear understanding of what this means, and shall better see its implications, let us define a tree once again. Whenever we have a tree structure, it means that within this structure no piece of any unit is ever connected to other units, except through the medium of that unit as a whole.

The enormity of this restriction is difficult to grasp. It is a little as though the members of a family were not free to make friends outside the family, except when the family as a whole made a friendship.

In simplicity of structure the tree is comparable to the compulsive desire for neatness and order that insists the candlesticks on a mantelpiece be perfectly straight and perfectly symmetrical about the centre. The semilattice, by comparison, is the structure of a complex fabric; it is the structure of living things, of great paintings and symphonies.

It must be emphasized, lest the orderly mind shrink in horror from anything that is not clearly articulated and categorized in tree form, that the idea of overlap, ambiguity, multiplicity of aspect and the semilattice are not less orderly than the rigid tree, but more so. They represent a thicker, tougher, more subtle and more complex view of structure.

Let us now look at the ways in which the natural, when unconstrained by artificial conceptions, shows itself to be a semilattice.

A major aspect of the city's social structure which a tree can never mirror properly is illustrated by Ruth Glass's redevelopment plan for Middlesbrough, England, a city of 200,000 which she recommends be broken down into 29 separate neighbourhoods. After picking her 29 neighbourhoods by determining where the sharpest discontinuities of building type, income and job type occur, she asks herself the question: 'If we examine some of the social systems which actually exist for the people in such a neighbourhood, do the physical units defined by these various social systems all define the same spatial neighbourhood?' Her own answer to this question is no. Each of the social systems she examines is a nodal system. It is made of some sort of central node, plus the people who use this centre. Specifically she takes elementary schools, secondary schools, youth clubs, adult clubs, post offices, greengrocers and grocers selling sugar. Each of these centres draws its users from a certain spatial area or spatial unit. This spatial unit is the physical residue of the social system as a whole, and is therefore a unit in the terms of this discussion. The units corresponding to different kinds of centres for the single neighbourhood of Waterloo Road are shown in Figure 11. The hard outline is the boundary of the so- called neighbourhood itself. The white circle stands for the youth club, and the small solid rings stand for areas where its members live. The ringed spot is the adult club, and the homes of its members form the unit marked by dashed boundaries. The white square is the post office, and the dotted line marks the unit which contains its users. The secondary school is marked by the spot with a white triangle in it. Together with its pupils, it forms the system marked by the dot-dashed line.

As you can see at once, the different units do not coincide. Yet neither are they disjoint. They overlap.

We cannot get an adequate picture of what Middlesbrough is, or of what it ought to be, in terms of 29 large and conveniently integral Chunks called neighbourhoods. When we describe the city in terms of neighbourhoods, we implicitly assume that the smaller elements within any one of these neighbourhoods belong together so tightly that they only interact with elements in other neighbourhoods through the medium of the neighbourhoods to which they themselves belong. Ruth Glass herself shows clearly that this is not the case.

Next to Figure 11 are two representations of the Waterloo neighbourhood. For the sake of argument I have broken it into a number of small areas. Figure 12 shows how these pieces stick together in fact, and Figure 13 shows how the redevelopment plan pretends they stick together.

There is nothing in the nature of the various centres which says that their catchment areas should be the same. Their natures are different. Therefore the units they define are different. The natural city of Middlesbrough was faithful to the semilattice structure of the units. Only in the artificial-tree conception of the city are their natural, proper and necessary overlaps destroyed.

Consider the separation of pedestrians from moving vehicles, a tree concept proposed by Le Corbusier, Louis Kahn and many others. At a very crude level of thought this is obviously a good idea. Yet the urban taxi can function only because pedestrians and vehicles are not strictly separated. The cruising taxi needs a fast stream of traffic so that it can cover a large area to be sure of finding a passenger. The pedestrian needs to be able to hail the taxi from any point in the pedestrian world, and to be able to get out to any part of the pedestrian world to which he wants to go. The system which contains the taxicabs needs to overlap both the fast vehicular traffic system and the system of pedestrian circulation. In Manhattan pedestrians and vehicles do share certain parts of the city, and the necessary overlap is guaranteed (Figure 14).

Another·favourite concept of the CIAM theorists and others is the separation of recreation from everything else. This has crystallized in our real cities in the form of playgrounds. The playground, asphalted and fenced in, is nothing but a pictorial acknowledgment of the fact that 'play' exists as an isolated concept in our minds. It has nothing to do with the life of play itself. Few self-respecting children will even play in a playground.

Play itself, the play that children practise, goes on somewhere different every day. One day it may be indoors, another day in a friendly gas station, another day down by the river, another day in a derelict building, another day on a construction site which has been abandoned for the weekend. Each of these play activities, and the objects it requires, forms a system. It is not true that these systems exist in isolation, cut off from the other systems of the city. The different systems overlap one another, and they overlap many other systems besides. The units, the physical places recognized as play places, must do the same.

In a natural city this is what happens. Play takes place in a thousand places it fills the interstices of adult life. As they play, children become full of their surroundings. How can children become filled with their surroundings in a fenced enclosure! They cannot.

A similar kind of mistake occurs in trees like that of Goodman's Communitas or Soleri's Mesa City, which separate the university from the rest of the city. Again, this has actually been realized in the common American form of the isolated campus.

What is the reason for drawing a line in the city so that everything within the boundary is university, and everything outside is nonuniversity? It is conceptually clear. But does it correspond to the realities of university life? Certainly it is not the structure which occurs in nonartificial university cities. There are always many systems of activity where university life and city life overlap: pub- crawling, coffee-drinking, the movies, walking from place to place. In some cases whole departments may be actively involved in the life of the city's inhabitants (the hospital-cum- medical school is an example). In Cambridge, a natural city where university and city have grown together gradually, the physical units overlap because they are the physical residues of city systems and university systems which overlap (Figure 15).

Let us look next at the hierarchy of urban cores realized in Brasilia, Chandigarh, the MARS plan for London and, most recently, in the Manhattan Lincoln Center, where various performing arts serving the population of greater New York have been gathered together to form just one core.

Does a concert hall ask to be next to an opera house? Can the two feed on one another? Will anybody ever visit them both, gluttonously, in a single evening, or even buy tickets from one after going to a performance in the other? In Vienna, London, Paris, each of the performing arts has found its own place, because all are not mixed randomly. Each has created its own familiar section of the city. In Manhattan itself, Carnegie Hall and the Metropolitan Opera House were not built side by side. Each found its own place, and now creates its own atmosphere. The influence of each overlaps the parts of the city which have been made unique to it.

The only reason that these functions have all been brought together in Lincoln Center is that the concept of performing art links them to one another.

But this tree, and the idea of a single hierarchy of urban cores which is its parent, do not illuminate the relations between art and city life. They are merely born of the mania every simple-minded person has for putting things with the same name into the same basket.

The total separation of work from housing, started by Tony Garnier in his industrial city, then incorporated in the 1929 Athens Charter, is now found in every artificial city and accepted everywhere where zoning is enforced. Is this a sound principle? It is easy to see how bad conditions at the beginning of the century prompted planners to try to get the dirty factories out of residential areas. But the separation misses a variety of systems which require, for their sustenance, little parts of both.

Finally, let us examine the subdivision of the city into isolated communities. As we have seen in the Abercrombie plan for London, this is itself a tree structure. The individual community in a greater city has no reality as a functioning unit. In London, as in any great city, almost no one manages to find work which suits him near his home. People in one community work in a factory which is very likely to be in another community.

There are therefore many hundreds of thousands of worker-workplace systems, each consisting of individuals plus the factory they work in, which cut across the boundaries defined by Abercrombie's tree. The existence of these units, and their overlapping nature, indicates that the living systems of London form a semilattice. Only in the planner's mind has it become a tree.

The fact that we have so far failed to give this any physical expression has a vital consequence. As things are, whenever the worker and his workplace belong to separately administered municipalities, the community which contains the workplace collects huge taxes and has relatively little on which to spend the tax revenue. The community where the worker lives, if it is mainly residential, collects only little in the way of taxes and yet has great additional burdens on its purse in the form of schools, hospitals, etc. Clearly, to resolve this inequity, the worker-workplace systems must be anchored in physically recognizable units of the city which can then be taxed.

It might be argued that, even though the individual communities of a great city have no functional significance in the lives of their inhabitants, they are still the most convenient administrative units, and should therefore be left in their present tree organization. However, in the political complexity of a modern city, even this is suspect.

Edward Banfield, in his book Political Influence, gives a detailed account of the patterns of influence and control that have actually led to decisions in Chicago. He shows that, although the lines of administrative and executive control have a formal structure which is a tree, these formal chains of influence and authority are entirely overshadowed by the ad hoc lines of control which arise naturally as each new city problem presents itself. These ad hoc lines depend on who is interested in the matter, who has what at stake, who has what favours to trade with whom.

This second structure, which is informal, working within the framework of the first, is what really controls public action. It varies from week to week, even from hour to hour, as one problem replaces another. Nobody's sphere of influence is entirely under the control of any one superior; each person is under different influences as the problems change. Although the organization chart in the Mayor's office is a tree, the actual control and exercise of authority is semilattice-like.

Now, why is it that so many designers have conceived cities as trees when the natural structure is in every case a semilattice? Have they done so deliberately, in the belief that a tree structure will serve the people of the city better? Or have they done it because they cannot help it, because they are trapped by a mental habit, perhaps even trapped by the way the mind works - because they cannot encompass the complexity of a semilattice in any convenient mental form, because the mind has an overwhelming predisposition to see trees wherever it looks and cannot escape the tree conception? I shall try to convince you that it is for this second reason that trees are being proposed and built as cities - that is, because designers, limited as they must be by the capacity of the mind to form intuitively accessible structures, cannot achieve the complexity of the semilattice in a single mental act.

Let me begin with an example. Suppose I ask you to remember the following four objects: an orange, a watermelon, a football and a tennis ball. How will you keep them in your mind, in your mind's eye? However you do it, you will do it by grouping them. Some of you will take the two fruits together, the orange and the watermelon, and the two sports balls together, the football and the tennis ball. Those of you who tend to think in terms of physical shape may group them differently, taking the two small spheres together - the orange and the tennis ball and the two large and more egg-shaped objects - the watermelon and the football. Some of you will be aware of both.

Let us make a diagram of these groupings (Figure 16). Either grouping taken by itself is a tree structure. The two together are a semilattice. Now let us try and visualize these groupings in the mind's eye. I think you will find that you cannot visualize all four sets simultaneously - because they overlap. You can visualize one pair of sets and then the other, and you can alternate between the two pairs extremely fast, so that you may deceive yourself into thinking you can visualize them all together. But in truth, you cannot conceive all four sets at once in a single mental act. You cannot bring the semilattice structure into a visualizable form for a single mental act. In a single mental act you can only visualize a tree.

This is the problem we face as designers. While we are not, perhaps, necessarily occupied with the problem of total visualization in a single mental act, the principle is still the same. The tree is accessible mentally and easy to deal with. The semilattice is hard to keep before the mind's eye and therefore hard to deal with.

It is known today that grouping and categorization are among the most primitive psychological processes. Modern psychology treats thought as a process of fitting new situations into existing slots and pigeonholes in the mind. Just as you cannot put a physical thing into more than one physical pigeonhole at once, so, by analogy, the processes of thought prevent you from putting a mental construct into more than one mental category at once. Study of the origin of these processes suggests that they stem essentially from the organism's need to reduce the complexity of its environment by establishing barriers between the different events that it encounters.

It is for this reason - because the mind's first function is to reduce the ambiguity and overlap in a confusing situation and because, to this end, it is endowed with a basic intolerance for ambiguity - that structures like the city, which do require overlapping sets within them, are nevertheless persistently conceived as trees.

The same rigidity dogs even perception of physical patterns. In experiments by Huggins and myself at Harvard, we showed people patterns whose internal units overlapped, and found that they almost always invent a way of seeing the patterns as a tree - even when the semilattice view of the patterns would have helped them perform the task of experimentation which was before them.

The most startling proof that people tend to conceive even physical patterns as trees is found in some experiments of Sir Frederick Bartlett. He showed people a pattern for about a quarter of a second and then asked them to draw what they had seen. Many people, unable to grasp the full complexity of the pattern they had seen, simplified the patterns by cutting out the overlap. In Figure 17, the original is shown on the left, with two fairly typical redrawn versions to the right of it. In the redrawn versions the circles are separated from the rest; the overlap between triangles and circles disappears.

These experiments suggest strongly that people have an underlying tendency, when faced by a complex organization, to reorganize it mentally in terms of non- overlapping units. The complexity of the semilattice is replaced by the simpler and more easily grasped tree form.

You are no doubt wondering by now what a city looks like which is a semilattice, but not a tree. I must confess that I cannot yet show you plans or sketches. It is not enough merely to make a demonstration of overlap - the overlap must be the right overlap. This is doubly important because it is so tempting to make plans in which overlap occurs for its own sake. This is essentially what the high- density 'life-filled' city plans of recent years do. But overlap alone does not give structure. It can also give chaos. A garbage can is full of overlap. To have structure, you must have the right overlap, and this is for us almost certainly different from the old overlap which we observe in historic cities. As the relationships between functions change, so the systems which need to overlap in order to receive these relationships must also change. The recreation of old kinds of overlap will be inappropriate, and chaotic instead of structured. One can perhaps make the physical consequences of overlap more comprehensible by means of an image. The painting illustrated is a work by Simon Nicholson (Figure 18). The fascination of this painting lies in the fact that, although constructed of rather few simple triangular elements, these elements unite in many different ways to form the large units of the painting - in such a way indeed that, if we make a complete inventory of the perceived units in the painting, we find that each triangle enters into four or five completely different kinds of unit, none contained in the others, yet all overlapping in that triangle.

Thus, if we number the triangles and pick out the sets of triangles which appear as strong visual units, we get the semilattice shown in Figure 19.

Three and 5 form a unit because they work together as a rectangle; 2 and 4 because they form a parallelogram; 5 and 6 because they are both dark and pointing the same way; 6 and 7 because one is the ghost of the other shifted sideways; 4 and 7 because they are symmetrical with one another; 4 and 6 because they form another rectangle; 4 and 5 because they form a sort of Z; 2 and 3 because they form a rather thinner kind of Z; 1 and 7 because they are at opposite corners; 1 and 2 because they are a rectangle; 3 and 4 because they point the same way as 5 and 6, and form a sort of off-centre reflection; 3 and 6 because they enclose 4 and 5; 1 and S because they enclose 2, 3 and 4. I have only listed the units of two triangles. The larger units are even more complex. The white is more complex still and is not even included in the diagram because it is harder to be sure of its elementary pieces.

The painting is significant, not so much because it has overlap in it (many paintings have overlap in them), but rather because this painting has nothing else in it except overlap. It is only the fact of the overlap, and the resulting multiplicity of aspects which the forms present, that makes the painting fascinating. It seems almost as though the painter had made an explicit attempt, as I have done, to single out overlap as a vital generator of structure. All the artificial cities I have described have the structure of a tree rather than the semilattice structure of the Nicholson painting. Yet it is the painting, and other images like it, which must be our vehicles for thought. And when we wish to be precise, the semilattice, being part of a large branch of modern mathematics, is a powerfu1 way of exploring the structure of these images. It is the semilattice we must look for, not the tree.

When we think in terms of trees we are trading the humanity and richness of the living city for a conceptual simplicity which benefits only designers, planners, administrators and developers. Every time a piece of a city is torn out, and a tree made to replace the semilattice that was there before, the city takes a further step toward dissociation.

In any organized object, extreme compartmentalization and the dissociation of internal elements are the first signs of coming destruction. In a society, dissociation is anarchy. In a Person, dissociation is the mark of schizophrenia and impending suicide. An ominous example of city-wide dissociation is the separation of retired people from the rest of urban life, caused by the growth of desert cities for the old like Sun City, Arizona. This separation isonly possible under the influence of treelike thought.

It not only takes from the young the company of those who have lived long, but worse, it causes the same rift inside each individual life. As you pass into Sun City, and into old age, your ties with your own past will be unacknowledged, lost and therefore broken. Your youth will no longer be alive in your old age - the two will be dissociated; your own life will be cut in two.

For the human mind, the tree is the easiest vehicle for complex thoughts. But the city is not, cannot and must not be a tree. The city is a receptacle for life. If the receptacle severs the overlap of the strands of life within it, because it is a tree, it will be like a bowl full of razor blades on edge, ready to cut up whatever is entrusted to it. In such a receptacle life will be cut to pieces. If we make cities which are trees, they will cut our life within to pieces. )

(Dr. Nikos Salingaros ([email protected]) from San Antonio, Texas USA , May 28, 1998. ***** "One of the great books of the century".

Alexander tried to show that architecture connects people to their surroundings in an infinite number of ways, most of which are subconscious. For this reason, it was important to discover what works; what feels pleasant; what is psychologically nourishing; what attracts rather than repels. These solutions, found in much of vernacular architecture, were abstracted and synthesized into the "Pattern Language" about 20 years ago.

Unfortunately, although he did not say it then, it was obvious that contemporary architecture was pursuing design goals that are almost the opposite of what was discovered in the pattern language. For this reason, anyone could immediately see that Alexander's findings invalidated most of what practicing architects were doing at that time. The Pattern Language was identified as a serious threat to the architectural community. It was consequently suppressed. Attacking it in public would only give it more publicity, so it was carefully and off-handedly dismissed as irrelevant in architecture schools, professional conferences and publications.

Now, 20 years later, computer scientists have discovered that the connections underlying the Pattern Language are indeed universal, as Alexander had originally claimed. His work has achieved the highest esteem in computer science. Alexander himself has spent the last twenty years in providing scientific support for his findings, in a way that silences all criticism. He will publish this in the forthcoming four-volume work entitled "The Nature of Order". His new results draw support from complexity theory, fractals, neural networks, and many other disciplines on the cutting edge of science.

After the publication of this new work, our civilization has to seriously question why it has ignored the Pattern Language for so long, and to face the blame for the damage that it has done to our cities, neighborhoods, buildings, and psyche by doing so.)

A Pattern Language was originally expected to enable every citizen to design and construct their own home. While that ambitious objective was not entirely realized, it did result in a liberation from empty architectural dogma. Armed with this book, a client can evolve and express his or her own desires for a building. An architect is no longer the absolute and sole source of design ideas and solutions. On a larger scale, mistakes in urban design and planning can be detected and corrected. I believe that this remarkable shift in power, which enables ordinary people to understand their environment -- often better than the professionals -- is responsible for the harsh suppression of this monumental work by certain short-sighted members of the architectural profession.

For a general discussion of Pattern Languages, see "The Structure of Pattern Languages", by Nikos Salingaros. Another recent paper is "Lingua Franca for Design: Sacred Places and Pattern Languages", by Tom Erickson.

A flavor of Alexander's writings may be obtained from his presentation entitled Domestic Architecture at the 1994 DOORS 2 Conference in Amsterdam. Brief extracts from the Pattern Language are posted by Heather Duggan, and by Sunlight Homes Company. The Pattern Language is now available on-line for a subscription fee from Alexander's company patternlanguage.com. The notes of a review talk given by Jim Coplien on the Nature of Order, with commentary by Brad Appleton, are highly recommended. Finally, there is an appreciation of Alexander's work by John Miller. The Structure of Pattern Languages

Nikos A. Salingaros

Division of Mathematics University of Texas at San Antonio San Antonio, TX 78249, USA e-mail: [email protected]

Published in arq -- Architectural Research Quarterly volume 4 (2000) pages 149-161. © Cambridge University Press; posted by permission. The printed version includes additional diagrams of Alexandrine patterns for urban interfaces taken from A Pattern Language, which are not shown here.

Abstract. Pattern languages help us to tackle the complexity of a wide variety of systems ranging from computer software, to buildings and cities. Each "pattern" represents a rule governing one working piece of a complex system, and the application of pattern languages can be done systematically. Design that wishes to connect to human beings needs the information contained in a pattern language. This paper describes how to validate existing pattern languages, how to develop them, and how they evolve. The connective geometry of urban interfaces is derived from the architectural patterns of Christopher Alexander.

CONTENTS

 Introduction  What is a pattern?  Combining Alexandrine patterns  The connective geometry of urban interfaces  Reversing the order of the patterns  Validation of the patterns  Patterns and science  The nature of a pattern language  Hierarchical connections across scales  Finding patterns for new disciplines  Consistency and connectivity  Stylistic rules and the replication of viruses  Evolution and repair of pattern languages  The importance of detail  Conclusion

Introduction

We observe the world around us and learn its structure by abstracting cause and effect, and by documenting recurring solutions obtained under different conditions. Such empirical rules, representing regularities of behavior, are called "patterns." Visual patterns are the simplest expression of the pattern concept (Salingaros, 1999). Many patterns are hard-wired into our mind: we inherit actions and reactions that guarantee our survival. Other patterns have to be learned, and form an artificial extension of the human mind. The ability to observe patterns gives us the human advantage of both adapting to, and changing our environment. Of course, the complexity enveloping a pattern in each specific setting has to be partially cleared so as to get at its basic mechanism.

The language of a group of patterns forms the groundwork for any discipline. Learned pattern languages -- not intrinsic to the human mind -- were carefully preserved in the past. Many patterns of human relations are codified into religions, myths, and literary epics. A collective intelligence develops from pooling discoveries accumulated over generations. This process is entirely general. The sciences rely on mathematics for the ability to organize data and explain phenomena by means of regularities, or logical patterns (Steen, 1988). Breakthroughs occur when patterns in one area link to patterns in other areas.

This paper discusses the language that links patterns together. A pattern language contains useful connective information that helps both to validate the patterns, and to apply them. We are going to cast the structure of a pattern language in terms of the properties of pattern combinations. Such an approach reveals the ordering of patterns in space, time, and human dimensions. I will assume readers have a minimal familiarity with the architectural patterns of Christopher Alexander as published in A Pattern Language (Alexander, Ishikawa et al., 1977). Although introduced into architecture more than twenty years ago, their true significance has been appreciated by only a few practitioners. Patterns are a powerful tool for controlling complex processes, but because of misunderstandings, they have not played a wide role in architectural design. Instead, patterns have found unexpected success in computer science.

The audience for this paper is anyone interested in connecting their designs to human beings. We will show that this cannot be done without incorporating patterns. After describing in general terms what patterns are, and the ways they can combine, I will discuss the relationship between patterns and science. Graph theory visually illustrates some key aspects of pattern languages: how patterns combine to form higher-level patterns containing new information; how linked patterns exist on different levels; how to find patterns in a new language; and how a pattern language is validated through its connective structure independently of each individual pattern's validity. A major concern is how a pattern language is damaged through the imposition of arbitrary stylistic rules and anti-patterns, which are often mistaken for patterns. All too often, people have tried to change a society by changing its architectural pattern language. An application to the geometry of urban interfaces is given from the patterns approach.

What is a pattern?

In A Pattern Language, Alexander and his colleagues extracted 253 solutions or design "patterns" that recur in architecture, such as the need for SMALL PARKING LOTS (#103), or SIX-FOOT BALCONY -- the minimum depth that makes it useful -- (#167) (Alexander, Ishikawa et al., 1977). They argued that built designs violating the derived patterns were noticeably less successful than those that followed them. The Alexandrine format fixing a pattern consists of a statement summarizing the philosophy about a specific topic (i.e., for SMALL PARKING LOTS): "Vast parking lots wreck the land for people."

They follow the pattern statement by an explanation that supports the pattern: statistical data; a scientific analysis; discovering the simultaneous occurrence of this pattern in totally different cultures; psychological, structural, or cultural reasons; etc. For example, the discussion following the above pattern includes: "... the fabric of society is threatened by the mere existence of cars, if areas for parked cars take up more than 9 or 10% of the land in a community. ... tiny parking lots are far better for the environment than the large ones, even when their total areas are the same. ... Large parking lots, suited for the cars, have all the wrong properties for people."

A pattern ends with some sort of prescription in practical terms, to help incorporate the pattern into an actual design. For example: "Make parking lots small, serving no more than 5 to 7 cars, each lot surrounded by garden walls, hedges, fences, slopes, and trees, so that from outside the cars are almost invisible. ..."

Many criticisms of Alexander's Pattern Language are valid to some degree -- that it reflects the philosophy of the 1960's, that it is too radical and not easily incorporated into contemporary design and planning, that it ignores almost all of what is considered important architecture in the twentieth century -- but these are trivial compared with the important message it offers. This paper will attempt to show that any design that ignores patterns can never hope to connect to human beings.

Combining Alexandrine patterns

You can combine design patterns in an infinite number of ways. However, the connective rules -- i.e., the language -- were only briefly sketched out. To obtain an understanding of the relationship between patterns, you have to go back to Alexander's earlier work (Alexander, 1964; Alexander, 1965). Other than Chapter 16 of The Timeless Way of Building (Alexander, 1979), Alexander himself has not dwelled on the synthesis between patterns. Any perceived weakness of patterns could lie in individual patterns, but it is more likely the result of not understanding their combinatorial language. Although design patterns written in Alexandrine form allude to their connectivity to other patterns (in the prelude and postscript), it is difficult to visualize those without a connective map. Even architects who use patterns tend to be unaware of how patterns link to each other, so the resulting design frequently lacks large-scale coherence.

In an entirely unanticipated development, the Pattern Language format has found a basic application in computer programming. Any programming solution that reappears in separate instances may be identified as a "pattern," and be subsequently reused as a unit. Patterns are now recognized as a powerful theoretical framework in which to assemble complex computer programs (Coplien and Schmidt, 1995; Gabriel, 1996; Gamma, Helm et al., 1995). The proponents of software patterns believe that patterns can help to solve a wide range of practical problems that would otherwise be too cumbersome or time-consuming.

To give readers a better sense of what is meant by patterns connecting to each other, we list some examples of coupling.

 One pattern contains or generalizes another smaller-scale pattern.  Two patterns are complementary and one needs the other for completeness.  Two patterns solve different problems that overlap and coexist on the same level.  Two patterns solve the same problem in alternative, equally valid ways.  Distinct patterns share a similar structure, thus implying a higher-level connection.

With connective rules, two different aspects of a pattern come into play. On one hand, a pattern's internal components will determine its inclusion into a larger pattern. On the other hand, it is the interface that determines overlap, or connection on the same level. Two patterns on the same level may either compete, loosely coexist, or necessarily complement of each other.

One criticism of Alexandrine patterns arises from their clash with existing economic practice and construction process. The Pattern Language extends from the scale of surface detail, to the scale of a large city, and covers Alexander's ideas on how to best implement a more human built environment (Alexander, Ishikawa et al., 1977). Some of the urban patterns flatly contradict land speculation and the erection of megatowers, while the building patterns make obvious the need for more structural quality than today's contractors are used to providing. Both of these points threaten a profit source in the construction industry. While it is not yet clear how to reconcile those differences, Alexander's critics find in this an excuse to dismiss all of the Pattern Language as impractical and unrealistic (Dovey, 1990). That is very short-sighted.

A more serious concern comes from practitioners who attempt to apply Alexandrine patterns to shape the built environment. The Pattern Language is not, and was never claimed to be a design method and it is always a struggle to integrate patterns into an actual design project. Architects, however, desperately need a self-contained design method, and, not finding it in Alexander's theories, will adopt whatever design method is currently in fashion. The tools that Alexander is proposing are thereby bypassed, appearing useful only in retrospective analysis, which also explains the Pattern Language's relative lack of impact. Design is tremendously hard work, and I would like to help show how to utilize patterns in practice.

A set of connected patterns provides a framework upon which any design can be anchored. The patterns do not determine the design. By imposing constraints, they eliminate a large number of possibilities while still allowing an infinite number of possible designs. The narrowing of possibilities is, after all, an essential part of a practical design method. In this case, the remaining choices are precisely those that connect to human beings either visually, emotionally, functionally, or by facilitating their interactions and activities. People have fundamental physical and emotional needs that should be satisfied by the built environment, though most of them are neglected nowadays. Architectural design that accommodates -- or, better still, enhances -- a framework of Alexandrine patterns will be felt as more "natural" than one which doesn't.

The connective geometry of urban interfaces

In a living city, boundaries define and connect different regions, and encourage many human processes that make the city successful. Whether these functions take place is largely a consequence of the geometry of the urban boundaries: it has to be both crinkly and permeable. (In mathematical terms, it is accurate to call such a line a "fractal," since it is neither continuous, nor perfectly smooth). The needed information for this already exists in several Alexandrine patterns, which combine to give a definite urban geometry very different from that found in contemporary cities.

In practice, it is very cumbersome to work from a complete catalogue of discovered patterns to create a product. A simplified connective list can drastically improve the utility of any pattern language. A procedure for generating such a map is based on the conceptual "chunking" of information (Miller, 1956). The goal is to cluster patterns into groups of about five or fewer on each level of scale. Suppose one needs to design something using available patterns; pick those that are most relevant to the problem at hand, then choose not more than about a dozen related patterns from an existing patterns catalogue. Identify a vertical dimension (e.g., time, space, or group size) appropriate to the process that generates the end product, and study how the generative process develops as one moves up the levels of scale.

Once you assemble a group of patterns from a patterns catalogue, you can go back and develop others for related processes, which will include patterns left out in the initial round. Pattern groups for different results should be separate, and not confuse each other's clarity. In the case of urban interfaces, several patterns are directly relevant. I have listed them here, numbered as in the Pattern Language (Alexander, Ishikawa et al., 1977).

13. SUBCULTURE BOUNDARY

15. NEIGHBORHOOD BOUNDARY

42. INDUSTRIAL RIBBON

53. MAIN GATEWAYS

108. CONNECTED BUILDINGS

119. ARCADES

121. PATH SHAPE 122. BUILDING FRONTS

124. ACTIVITY POCKETS

160. BUILDING EDGE

165. OPENING TO THE STREET

166. GALLERY SURROUND

These dozen patterns serve as an empirical foundation for a geometry of urban interfaces.

Reversing the order of the patterns

Alexander numbered the patterns according to decreasing size, yet I will reverse the order in the above list for our discussion. GALLERY SURROUND proposes that people should be able to walk through a connecting zone such as a balcony to feel connected to the outside world. OPENING TO THE STREET is the corollary: people on a sidewalk should feel connected to functions inside a building, made possible by direct openings. BUILDING EDGE should be such as to encourage life, creating pedestrian nodes and the necessarily crinkly, crenelated geometry that they require. ACTIVITY POCKETS reveal that any public space is successful only if its edge contains and accommodates successful pedestrian nodes. BUILDING FRONTS define the life at the built edge of a street, while uniform set-backs "almost always destroy the value of the open areas between the buildings." PATH SHAPE requires pedestrian nodes along a path, and these will deform any straight edges into a more fractal form. ARCADES connect the inside of buildings with the world outside via an intermediate partially-enclosed space; without them, the transition is too abrupt.

CONNECTED BUILDINGS create both a boundary and a path along it, which is destroyed by having intermediate space between the buildings. MAIN GATEWAYS give significance -- by defining access -- to what would otherwise be a useless space between buildings. INDUSTRIAL RIBBON functions as one possible way to create a wide boundary for separating regions containing other types of buildings. Finally, the two patterns NEIGHBORHOOD BOUNDARY and SUBCULTURE BOUNDARY stress the necessity of containment in a living city, and show how one zone can destroy an adjoining zone if the appropriate boundaries are absent. Together, the above patterns combine to create the picture of a living city that depends in large part on its convoluted, permeable interfaces. The information gathered by Alexander and his colleagues in putting together the Pattern Language offers a conception of the urban fabric as a highly connected structure, whose subdivisions are defined by complex boundaries.

Some critics may wish to dismiss the first group of patterns as relevant only to a pedestrian city, which in their estimation, no longer exists. Quite the opposite is true. The discussion of this paper makes it clear that, since human beings are anatomically geared for walking as their principal mode of transport, these patterns are timeless and relevant even if their domain is restricted in today's car-dominated urban landscape. They still apply wherever we walk, whether it be in parking lots, along storefronts, suburban sidewalks, or indoor shopping malls. Decades of suppression by patterns for the automobile network has erased most pedestrian patterns (Newman and Kenworthy, 1999). Whenever there is an architectural opportunity, however, these patterns reemerge spontaneously to create a living interface.

Validation of the patterns

Alexander presents the Pattern Language as a practical tool, and orders the patterns in roughly decreasing size. That is the correct ordering when one is using them for design, since decisions on the largest scale have to be made first. Nevertheless, that presupposes that the patterns are understood to be true in a fundamental sense. The problem is that mainstream architecture never entirely accepted Alexandrine patterns; it was the more sensitive and spiritual fringe movements that did. In order to validate the above patterns, they have to be read in the opposite order: small to large. The human mind can combine the smaller patterns into groups; the larger patterns utilize these groupings and also generate new properties that are not present in the component patterns. The mind is capable of validating the patterns subconsciously when we read the patterns in an evolving (small-to-large) order.

Even now, more than twenty years after its publication, the fundamental significance of the Pattern Language is hardly appreciated. Many people still think of it as a catalogue of personal preferences, which is a total misconception (Dovey, 1990). Even those who realize that each pattern is established either though empirical observation, or by scientific reasoning, often fail to see its inevitability. I recommend, though, that you photocopy the relevant patterns from A Pattern Language (Alexander, Ishikawa et al., 1977), and staple them together in the reversed order. Reading them without the distractions of all other patterns helps to connect them in the reader's mind, and the natural progression small to large reveals the connections between successively larger scales. Doing this leads to the conclusion that the type of urban boundary described is not simply our suggestion, but is necessary for a living city.

Quite separate from the internal validation offered by their ability to combine, what demonstrates the patterns' inevitability is their connection to fundamental patterns of human behavior and movement. Many human functions and interactions are facilitated by the proposed urban geometry, and we could graphically link behavioral patterns to these architectural patterns directly. In most instances, this connection is revealed as an intuition that the patterns for urban boundaries "feel right." Alexander based much of the validation for the Pattern Language on this intuitive assessment (Chapter 15 of The Timeless Way of Building (Alexander, 1979)), which was dismissed as unscientific. But a graphic and theoretical basis underlies this.

The smaller the scale on which a pattern acts, the more immediately it connects to human beings. Architectural patterns on the human range of scales 1cm - 1m create a visceral response because we can experience them with most of our senses. Larger patterns that cannot be touched or felt require synthesis and recognition; they become more intellectual. People who have not experienced them in person (in some region of the world where they still exist) can rarely imagine their emotional impact. This is the reason why the sequence small-to-large works in a validation process: it brings in the strongest personal connection at the beginning, and successive patterns build upon an intuitively accepted base.

Patterns and science

In the remainder of this paper, I will discuss patterns in very general terms, with the intention of demonstrating their inevitability. A pattern is a discovered solution that has been tested for some time, and under varying conditions. For architectural and urban patterns, the time-frame can be several millennia. A pattern is not usually invented, so creativity is subordinated here to scientific inquiry and observation. Although you can find novel ways to combine and relate patterns, creativity is reserved for the products arising from an application of the pattern language, not the process. Since patterns are derived empirically from observations, they differ from scientific theory, which derives solutions starting from first principles. Nevertheless, discovered patterns provide a phenomenological foundation out of which scientific theories can grow. Once established, those theories explain why some patterns work.

Sometimes, a pattern may arise as an informed conjecture. It has to survive the intense criticism and scrutiny that are part of the scientific method of validation. Although patterns are prescientific, they are in fact much broader than science. A pattern may be the intersection of separate scientific mechanisms. Many patterns do not yet have a scientific explanation; for others that do, the explanations may be bulky and convoluted compared to the simplicity of the pattern itself. Medicine, pharmacology, and psychology are based at least partially on pattern languages, while their phenomenological foundation is slowly being replaced by a biological/chemical basis. Morphological and scaling rules that apply broadly across many different disciplines (West and Deering, 1995) are patterns that are useful independently of the particular mechanisms that generate the observed phenomena.

Unfortunately, architecture as a discipline currently has no means of validating an architectural pattern, so the basic mechanism for pattern formation doesn't exist. Architects who are not also trained in the scientific method will not distinguish between a design method or procedure that gives successful results and one that fails; the validation process that should follow any proposed solution does not form part of architectural education (Stringer, 1975). The reasons why some buildings fail -- in the sense of being unpleasant and difficult to use -- are never seriously examined. Consequently, design mistakes tend to be repeated indefinitely.

A philosophical reversal presents an even more serious impediment to the use of architectural patterns. Architecture has changed in this century from being a trade serving humanity with comfortable and useful structures, to an art that serves primarily as a vehicle for self-expression for the architect. In the current architectural paradigm, the emotional and physical comfort of the user are of only minor importance. Architects resist using the Pattern Language because they erroneously believe it hinders artistic freedom. Declaring that they wish to express their creativity freely, they nevertheless force themselves to work within irrelevant stylistic constraints. Contemporary architecture has become self-referential, validated only by how well it conforms to some currently accepted style, and not by any objective external or scientific criteria (Stringer, 1975).

The nature of a pattern language

In practice, pattern languages arise from two very different needs: (a) as a way of understanding, and possibly controlling, a complex system; (b) as necessary design tools with which to build something that is functionally and structurally coherent. To visualize patterns and their interconnections, we use a graph representation. Patterns may be identified with nodes in a graph, and the graph is connected by edges of different lengths (Figure 1). A pattern is an encapsulation of forces; a general solution to a problem. The "language" combines the nodes together into an organizational framework. A loose collection of patterns is not a system, because it lacks connections.

Figure 1. Individual patterns group to form six higher-level patterns having additional properties.

The rules by which the patterns (nodes) connect are just as important as the patterns themselves. Words without connection rules cannot make up a language. A coherent combination of patterns will form a new, higher-level pattern that possesses additional properties (Figure 2). Not only does each original pattern work in combination as well as it did individually, but the whole contains organizational information that is not present in any of its constituent patterns. A higher-level pattern cannot be predicted from the lower-level patterns alone. Sticking patterns together without proper ordering will not provide an overall coherence. Each component might work individually, but the whole does not work, precisely because it is not a whole. Figure 2. Further connections organize the patterns in Figure 1 into a pattern on the next higher level. New properties of the whole correspond to new symmetries.

A pattern language is more than just a patterns catalogue. Individual patterns are easier to describe than their language, yet a catalogue is only a dictionary. It does not give a script; it has no rules for flow, internal connections, or ordered substructures. A patterns catalogue lacks the essential validation that comes from recognizing the combinatorial properties in the language. Some patterns will require other complementary patterns for completeness, and the allowed combinations are usually infinite. A language tells you which of them can be combined, and in what manner, in order to create a higher-level pattern. Drawing an analogy with biological systems, the system works because of the connections between subsystems (Passioura, 1979).

Hierarchical connections across scales

Every complex system has a hierarchical structure; i.e., different processes are occurring on different scales or levels. Connections exist both on the same levels, and across levels (Mesarovic, Macko et al., 1970). The same is true for a pattern language. The "language" generates a connective network by which the ordering of nodes on one level creates nodes at a higher level. This process goes on all the way up, and all the way down in levels (Figure 3). The cohesive framework provided by the language enables the upward transition to all the higher levels. We can better understand a language if it has organization at different levels, because each level is shielded from the complexity in all the other levels. Figure 3. Hierarchical connections show how patterns on higher levels depend on those on lower levels.

A pattern language does not have a strictly modular rule structure -- as would be the case if the language were defined by only a few basic units -- but adds new rules as the scales grow. Higher levels in a system are dependent on all lower levels, but not vice- versa (Passioura, 1979). Even though disconnected lower-level patterns can work without necessarily forming a higher-level pattern, such a system is not cohesive, because it exists on only one level. Each level in a complex hierarchical system is supported by the properties of the next-lower level. The combination of patterns acting on a smaller level of scale acquires new and unexpected properties not present in the constituent patterns, and these are expressed in a higher-level pattern (Figure 4). Patterns on higher levels are therefore necessary because they incorporate new information.

Figure 4. Patterns on one level combine to help define a new pattern on a higher level. Many failures in describing a complex system are due to not allowing for enough levels. A gap between levels disconnects the pattern language, since the patterns on different levels are then too far apart to be related (Figure 5). We tend to fall into this trap because of non-hierarchical thinking. Some urban patterns work on the scale of 100m and contain architectural patterns that work on the scale of 1m, but what about the patterns on all the intermediate scales? An even more serious problem is the widespread association of importance with size in our culture. Working within that mind set, it is very easy to concentrate only on the large-scale patterns (or anti-patterns), and ignore those on lower levels. That makes it impossible to validate patterns through their vertical connections, which are illustrated in Figures 3 and 4.

Figure 5. Two groups of patterns are too far apart in scale to connect effectively.

One of the principal methods of validating a pattern language is that every pattern be connected vertically to patterns on both higher and lower levels. Damage to a pattern language can be understood visually, by crossing out any single pattern in Figure 3. This will remove the coordination of all the linked patterns below it; moreover, if a vertical relation is one of inclusion, then obviously those patterns below are also eliminated. In addition, all linked patterns above the crossed pattern are automatically eliminated. Therefore, removing one pattern without understanding its connections damages a significant portion of the pattern language because it also removes at least one vertical chain of patterns.

It is necessary to address a misunderstanding that identifies any multi-level structure with an inverted tree-like hierarchical ordering. In a tree, everything is ordered from a single node above, and nodes on the same level do not link directly. Although some authors use this terminology, that is not what is meant here. Figure 3 shows that the hierarchy we propose for pattern languages is not an inverted tree, because it has multiple tops and horizontal connections; i.e., several times more connections than a tree has. A hierarchical inverted tree structure is too restrictive, since all communication has to pass through higher-level nodes. Inverted tree-like hierarchies are associated with systems that exert top-down control (Alexander, 1965).

Finding patterns for new disciplines

A new discipline needs to abstract its patterns as they appear. It is building its own foundation and logical skeleton, upon which future growth can be supported. Knowing its basic patterns early on will speed up the language's development, and guide it in the right direction. You may obtain insight into a new field lacking a pattern language by studying patterns from established disciplines. A universal high-level structure is inherent in all pattern languages. The solution space, which is distinct from the parameter space, is rarely one-dimensional, which means that knowing what doesn't work cannot give what works simply by doing the opposite. There may be an infinity of different opposites. One needs to exhaust the solution space by identifying many neighboring anti-patterns before zeroing in on the pattern itself.

Here we need to warn against the destructive tendency in our times of judging patterns prematurely using strict criteria such as efficiency, cost reduction, and streamlining. It is not that these are inappropriate criteria, but rather that they tend to ignore the linkage between patterns. In other words, patterns in a pattern language depend on each other is a complex manner, and a hasty culling of what are erroneously deemed "superfluous" patterns may damage the cohesion of the language. Many fundamental patterns have been discarded in the false interest of economy, without realizing that they are essential to a system's coherence and overall performance. The long-term consequences of this are negative, and significant. You may attempt to streamline a process after its complexity is well understood, but not before. Promising new patterns, and time- honored old ones, have been ruthlessly scrapped by short-sighted thinking, borne out of the belief that complex systems have to conform to some sort of "minimalist design." This comes from a superficial understanding of how a system works.

The most elegant complex systems are nearly (but not perfectly) ordered. Having to accommodate patterns on the smaller and intermediate scales -- indeed, actually growing out of them -- the larger-scale patterns cannot be perfect in the sense of being pure or too simple. Good design avoids unnecessary complication. It is balanced between arising out of loosely organized small-scale patterns, which could lead to somewhat random forms or processes, and patterns which might pay too much attention to the large scale. Going too far in either extreme damages the coherence (and therefore the efficiency) of the system.

The general ideas offered here prove useful in extending urban patterns to the electronic city. The notion of an "intelligent environment" defines the urban connectivity of the new millennium. On top of the existing path structure governed by Alexandrine patterns (Salingaros, 1998), we need to develop rules for electronic connectivity (Droege, 1997; Graham and Marvin, 1996). To define a coherent, working urban fabric, the pattern language of electronic connections (which is only now being developed) must tie in seamlessly to the language for physical connections. Already, some authors misleadingly declare that the city is made redundant by electronic connectivity. Such opinions ignore new observed patterns, which correlate electronic nodes to physical nodes in the pedestrian urban fabric. The two pattern languages will most likely complement and reinforce each other.

Consistency and connectivity

Of the two criteria: (a) internal consistency, and (b) external connectivity, the second is by far the more important. A system's complexity -- the extent of which may not be known for some time, if ever -- can prevent a new pattern language from having a smooth internal structure. It is essential, however, that any pattern language link to existing languages at its boundaries (Figure 6). For example, a building that is internally inconsistent would be unusable. Once a building has achieved a minimum degree of internal consistency, however, external connectivity with other patterns becomes more important. The point is to avoid the isolation of pathological systems, which then survive because they are not subject to interactive checks and balances.

Figure 6. The enclosed pattern candidates are internally consistent but fundamentally flawed, because they fail to connect to external patterns.

It is possible to define a set of anti-patterns that "clean up" complexity by imposing rigid, one-dimensional ideas. Such a language could itself be perfectly consistent internally, but it cannot coexist with other pattern languages that respect complexity. The best example comes from government. Fascism and totalitarianism clean up the messiness of human society, but clash with our most deeply-held patterns of human values. In the same way, any organizational pattern language that attempts to create a positive work environment will necessarily connect with and provide a transition to Alexander's architectural pattern language, which determines built form on all levels of scale (Alexander, Ishikawa et al., 1977). The architectural pattern SIX-FOOT BALCONY helps to illustrate connectivity (Alexander, Ishikawa et al., 1977). Many social patterns of family life, such as sitting around a table; eating a meal; children playing with toys on the floor; growing plants in large pots; outdoor cooking on a charcoal grill; etc., can occur on a balcony only if it is at least six feet (2m) deep. When a balcony is made too narrow so as to follow some arbitrary design canon or simply to be cheap (which satisfies internally consistent criteria), it fails to connect to the above social patterns. Connection here means accommodation and inclusion among patterns belonging to two different languages. Mathematical isolation, as in Figure 6, guarantees the physical isolation of the balcony from potential users.

We don't appreciate how completely architectural patterns connect to social patterns; the former make up a significant part of the traditional culture in any society. Losing them irreparably damages the way a society functions, because architectural patterns help to define all the higher-level social patterns (Figure 7). Especially among the rural poor, tradition is the only way of safeguarding their culture. Tradition embodies solutions evolved over countless generations, so design patterns are connected with and have become part of a way of life. This point has been stressed by Alexander (Alexander, 1979), and is very eloquently argued by Hassan Fathy (Fathy, 1973) (pp. 24-27). Sensitive architects pay attention so that their designs accommodate and nurture social patterns.

Figure 7. Architectural patterns that pair with social patterns (solid) further combine to create a socio-architectural pattern on a higher level.

Sometimes, a pattern might have an unwanted secondary characteristic; the same way an inherited trait in an organism may be essential for survival, but have a mildly negative side-effect. The same pattern is expressed as two different features. Attempting to remove the secondary, unwanted feature (for example, getting rid of every architectural element or social pattern that "spoils" an overall perfect symmetry) without realizing what it connects to can destroy the entire language. By condemning secondary features of human patterns because they are not consistent with arbitrary ideas of style, or because of some antisocial aversion, architects have succeeded in eliminating traditional pattern languages around the world.

Stylistic rules and the replication of viruses

During a time of crisis, or in the desire to be totally innovative, established disciplines sometimes willingly replace their pattern languages by stylistic rules. Those are entirely arbitrary, however, coming either from fashion or dogma (someone in authority pronounces a rule that is never questioned), or they refer to a very specific situation that does not apply broadly. Stylistic rules are incompatible with complex patterns such as the one shown in Figure 7. The mechanism by which stylistic rules propagate bears essential similarities to the replication of viruses. A stylistic rule is usually given as a template, and proponents are required to replicate it in the environment. Its success is measured not by how well it serves any human activity, but rather by how many copies are produced.

Stylistic rules frequently have no connection to human needs: they are just images with a superficial symbolic content. While some are benign, many are pathological. An information code for built form -- for example, "flat, smooth, continuous walls at street level" -- enters the mind of a designer either through teaching, or from seeing built examples. Otherwise intelligent people are easily seduced by simplistic ideas in a design method, which is easy to apply because it eliminates or suppresses natural complexity. That individual then becomes an agent for replicating the virus. Every time this code is replicated, it destroys human connections in that region of the city; the result is obvious because this particular virus undoes all the patterns for connective urban interfaces discussed previously.

By contrast, a pattern is not dictated or forced, but arises out of use, and is accepted on its benefits. It facilitates human life and interactions, and has to continually stand up to tests of its efficacy in this respect. An essential difference is that, because of its underlying forces, no architectural pattern can be represented as a simple visual image. A pattern solves a complex problem; it is not a template to be mindlessly copied. It is far easier to reproduce a visual template than to solve a fundamental design problem, however, because the former requires no reasoned thought; only intuitive matching. The intellect does not need to work, and the designer can withdraw from the responsibility of making difficult decisions about the complex interactions between built forms and human activities. Partly as a result of this shift, architectural design is now heavily oriented towards visual templates defined by design style.

Many stylistic rules are anti-patterns: they are neither accidental, nor the simple preferences of an individual. They intentionally do the opposite of some traditional pattern for the sake of novelty. By masquerading as "new" patterns, they misuse a pattern language's natural process of repair to destroy it. Patterns work via cooperation to build up complex wholes that coexist and compete in some dynamic balance. By contrast, stylistic rules tend to be rigid and unaccommodating. Their replication in many cases fixes the geometry of built form so as to exclude human patterns. Any single stylistic rule is capable of suppressing an entire chain of linked patterns on many different scales (Figure 3). A destructive stylistic rule, like a virus, is an informational code that dissolves the complexity of living systems.

Today's architects are trained to use a limited vocabulary of simple forms, materials, and surfaces. Their possible combinations are insufficient to even approach the structure of a language. This replaces an accumulated literature of patterns corresponding to words, sentences, paragraphs, chapters, and books that encapsulates meaning from human experience and life. Few people realize the enormous consequences on society of adopting a particular design vocabulary. Decisions concerning architectural style affect the surrounding culture; contrary to what is widely proclaimed, one person's visions are not restricted to a building as a single art work. A single visual template can eventually destroy a culture just as effectively as a deadly virus.

Evolution and repair of pattern languages

Validated patterns are more-or-less permanent, yet there exists a process of repair and replacement. Now and then, we may play Devil's Advocate and ignore old solutions so as to see new, innovative ones in an old discipline. A new pattern is superior if it increases the connectivity with the majority of established patterns compared to the old pattern it is replacing. It could have a broader context, or supersede several older patterns, thus tightening the language. This is a process whose goal is to strengthen an existing pattern language by repair and evolution, so as to preserve accumulated wisdom by keeping it relevant to changing needs.

Much less frequently, a paradigm shift occurs to make an entire pattern language irrelevant: e.g., horse-drawn vehicles are replaced by automobiles. That does not invalidate the pattern language showing how to create the former; it just makes that end product less desirable. While the technology and materials changed, however, many patterns were saved almost intact in going from carriages to cars. In general, the adoption of innovation is greatly facilitated by minimizing the perception of change; and consequently the number of patterns that need to be replaced. It is wasteful to throw out a repository of patterns, some of which may have been established over millennia.

The introduction of a new pattern language need not displace an older one entirely. Coexistence of competing or complementary patterns is often desirable and even necessary, especially if the new patterns occupy different positions in the hierarchy (by acting on different scales). If properly connected, they will lead to a richer and more stable complex system. Patterns for the automobile transportation network were falsely believed to be threatened by patterns for pedestrian and mass-transit networks. On the basis of this misunderstanding, urban planners and car manufacturers simply suppressed the latter (Newman and Kenworthy, 1999). Nowadays, we are beginning to understand that a balanced coexistence of all three languages -- describing pedestrian, automobile, and mass-transit movement, respectively -- is a necessary prerequisite for a comprehensive transportation system (Salingaros, 1998). A few patterns might work equally well on different levels, though most patterns' context establishes their place in a particular scale of the pattern language. Some patterns can be moved up or down vertically within a language. Such a property leads to economy in a pattern language through self-similar scaling, which means that one scale looks the same as another scale when magnified. A pattern language that develops coherence over time may also develop a degree of self-similar scaling as a result of the connections across levels. As the ensemble of patterns evolves a cooperative structure, driven by the alignment of patterns (or anti-patterns) on different levels, it creates unexpected similarities. Thus, each level of a coherent structure expresses a property that is characteristic of the whole.

The importance of detail

A language requires patterns on as many levels as it takes to connect to natural processes. Every level is important by itself. In any complex system, detail is part of the lower scales in a hierarchy. If these are unconnected, or missing, then the system is not coherent, and cannot work (Mesarovic, Macko et al., 1970). Neglecting a pattern because it is on a lower level handicaps the entire structure. It is not always obvious what the lowest level of a system is upon which all the higher levels depend. Detail that is part of a scaling hierarchy will be connected to all higher levels of complexity, and is not just "added on." Physical forms have structural features on different scales as a result of internal and external forces. From the microscopic to the macroscopic through all intermediate scales, different levels of scale cooperate.

In the design of buildings, there are several scales -- corresponding to the human range of scales, 1cm to 1m -- that are difficult to justify purely on structural grounds. Yet, in order to define a connected hierarchy of scales, those scales have to be present in the structure (Salingaros, 2000). Therefore, either the design should allow the emergence of structure and subdivisions on those scales, or substructure has to be intentionally generated on those scales. This need creates traditional "ornament" and all the patterns that generate it (Alexander, Ishikawa et al., 1977; Salingaros, 1999). The appropriate ornament is essential for a large form to be coherent (Salingaros, 2000). An analysis of structural coherence arising from a linked hierarchy of scales reveals the necessity for ornament, though nowadays, ornament is discordant because it is unrelated to the larger form.

Detail is a separate question. The smallest perceivable detail at arm's length goes down to 0.25mm, which relates to a visual system such as a textile or a computer display. While such detail is available in richly-textured materials, it is usually the scales between texture and ornament (1mm - 1cm) that are missing from contemporary buildings. Our minimalist design tradition removes the intermediate and smaller scales from built form. After half a century of training in this idiom, we tend to forget that the best-loved architecture (Modernist included) works especially well on these scales. People need to connect to structure on every scale.

Conclusion Pattern languages encapsulate human experience, and help us cope with complexity in our environment. They apply to everything from computer programs, to buildings, to organizations, to cities. A civilization's pattern languages are often synonymous with its technical and cultural heritage. New spheres of human endeavor develop their own pattern language, which must link to existing pattern languages in related fields. Individual patterns are validated empirically over time. The language itself will be on the right track if it evolves a connective structure that incorporates scaling and hierarchy. Architecture and urban design in the twentieth century rely on a set of stylistic rules that fail to connect to patterns of human life. People have been taught by schools, critics, television, and magazines to prefer abstract visual forms, and to ignore the fact that environments generated by such templates cannot accommodate their own behavioral patterns. An example of this was traced to a fundamental misunderstanding about urban geometry. It is believed that the removal of urban interfaces would help to create the contemporary city, but it has seriously damaged it instead.

This paper argued that patterns provide a necessary foundation for any design solution to connect with human beings. Contradicting them disconnects the built form from people. This conclusion has profound consequences for architectural practice. It drastically shifts the position of pattern languages in contemporary architecture. From the peripheral position at the fringes they have occupied for more than two decades, they jump to a central point of architectural relevance. Pattern languages were revealed as the "taproot" of all architecture, from which design draws its life by virtue of satisfying human needs. This is true even if one disagrees with one or more of Alexander's patterns. Our results imply that design styles which cut themselves off from this source of life are condemned to remain forever sterile. Those that intentionally do so have to admit from now on that this is indeed their aim.

Acknowledgments

The author's research is supported in part by a grant from the Alfred P. Sloan foundation. I am grateful to G. Arbon, P. L. Briggs, J. O. Coplien, C. L. Jeffery, R. Johnson, J. Tidwell, M. Waddington, and S. Woo for helpful comments.

References

Alexander, C. (1964). Notes on the Synthesis of Form, Harvard University Press, Cambridge, Massachusetts.

Alexander, C. (1965). "A City is Not a Tree" Architectural Forum vol. 122 April . No. 1, pages 58-61 and No. 2, pages 58-62. [Reprinted in: "Design After Modernism", Edited by John Thackara, Thames and Hudson, London, 1988, pp. 67-84]

Alexander, C. (1979). The Timeless Way of Building, Oxford University Press, New York. Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I. and Angel, S. (1977). A Pattern Language, Oxford University Press, New York.

Coplien, J. O. and Schmidt, D., Ed. (1995). Pattern Languages of Program Design, Addison-Wesley, Reading, Massachusetts.

Dovey, K. (1990). "The Pattern Language and its Enemies", Design Studies vol. 11 pp. 3-9.

Droege, P., Ed. (1997). Intelligent Environments, Elsevier, Amsterdam.

Fathy, H. (1973). Architecture for the Poor, University of Chicago Press, Chicago.

Gabriel, R. (1996). Patterns of Software, Oxford University Press, New York.

Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995). Design Patterns, Addison- Wesley, Reading, Massachusetts.

Graham, S. and Marvin, S. (1996) Telecommunications and the City, Routledge, London.

Mesarovic, M. D., Macko, D. and Takahara, Y. (1970) Theory of Hierarchical Multilevel Systems, Academic Press, New York.

Miller, G. A. (1956). "The Magical Number Seven Plus or Minus Two: Some Limits on Our Capacity for Processing Information", The Psychological Review vol. 63 pp. 81-97.

Newman, P. and Kenworthy, J. (1999). Sustainability and Cities, Island Press, Washington D.C.

Passioura, J. B. (1979). "Accountability, Philosophy, and Plant Physiology", Search (Australian Journal of Science) vol. 10 No. 10 pp. 347-350.

Salingaros, N. A. (1998). "Theory of the Urban Web" Journal of Urban Design vol. 3 pp. 53-71. [Earlier version published electronically by Resource for Urban Design Information in 1997 ]

Salingaros, Nikos (1999) "Architecture, Patterns, and Mathematics", Nexus Network Journal, vol 1 pp. 75-85. Electronic version available from http://www.math.utsa.edu/sphere/salingar/ArchMath.html

Salingaros, N. A. (2000). "Hierarchical Cooperation in Architecture, and the Mathematical Necessity for Ornament", Journal of Architectural and Planning Research vol. 17 pp. [to appear]

Steen, L. A. (1988). "The Science of Patterns", Science vol. 240 pp. 611-616.

Stringer, P. (1975). "The Myths of Architectural Creativity", Architectural Design vol. 45 pp. 634-635. West, B. J. and Deering, B. (1995). The Lure of Modern Science, World Scientific, Singapore.

Salingaros Homepage Contributions to Architecture

Lingua Francas for Design: Sacred Places and Pattern Languages*

Thomas Erickson

IBM T. J. Watson Research Center

[email protected]

ABSTRACT

A central challenge in interaction design has to do with its diversity. Designers, engineers, managers, marketers, researchers and users all have important contributions to make to the design process. But at the same time they lack shared concepts, experiences and perspectives. How is the process of design-which requires communication, negotiation and compromise-to effectively proceed in the absence of a common ground? I argue that an important role for the interaction designer is to help stakeholders in the design process to construct a lingua franca. To explore this issue, which has received remarkably little attention in HCI, I turn to work in urban design and architecture. I begin by discussing a case study in community design, reported by Hester [10], that demonstrates the power of a lingua franca for a particular design project. I then describe the concept of pattern languages and discuss how they might be adapted to the needs of interaction design in general, and used, in particular, as meta- languages for generating lingua francas for particular design projects.

Keywords

Design methods, patterns, pattern language, interaction design, interdisciplinary design, architecture, urban design. 1. INTRODUCTION

The fundamental premise of this paper is that the design of interactive systems is, at its heart, a communicative process. Successful design requires communication- presentation, discussion, disagreement, negotiation, compromise, and so on-among a diverse array of people. If we take this premise seriously, it raises the question of how we go about supporting the communicative aspect of design. And, indeed, there has been a lot of work to this end. The basic repertoire of designers' tools-storytelling, scenario-making, prototype building, user testing, etc.-are all methods which aim to improve communication. However, often these tools are 'owned' by the designers-that is, they require the designers' expertise to deploy, administer, operate or interpret. Workers in the participatory design tradition (e.g. [13, 15]) have explored various approaches to making these tools more open, but more remains to be done.

The fundamental goal of this paper is to describe and explore one approach to making communication in design a more egalitarian process: the notion of creating a lingua franca-a common language-for a design project. The idea is that a lingua franca is accessible to all stakeholders, particularly those who are traditionally marginalized in the design process: the users. A secondary goal is to encourage readers to join in exploring ways of creating design lingua francas. That is, I strive to raise important questions, share provocative examples, point to common resources, and suggest productive directions for research and design practice; however this is a new area of investigation for HCI-those looking for solid, empirically validated answers will not find them here.

The paper begins by making the case for a lingua franca, arguing that the increasing complexity and diversity of the design process creates a need for common languages. Next, drawing from the urban design literature, it describes the example of the redevelopment of the town of Manteo, North Carolina [10]. Manteo provides an illustration of the possibility-and the power-of creating a lingua franca as part of a design project. The next two sections turn to the topic of pattern languages. Originally developed in architecture by Alexander and his colleagues [1, 2], pattern languages have been taken up by the object oriented programming community [6, 11, 12, 16, 17, 19] and are now seeing increasing interest from the HCI community [3, 5, 7, 8, 18]. The sections describe Alexandrian pattern languages, discuss why they are well suited to the generation of lingua francas, and explore ways in which they might be used to support interaction design. The paper ends with a discussion of questions and issues raised by the paper's reviewers, and a summary. 2. THE NEED FOR A LINGUA FRANCA

The interactive systems design space is growing rapidly. From the technical vantage point it is evident that microprocessors are continuing to shrink in terms of their cost, power, and space requirements. This, in combination with similar trends in sensing and effector technologies, and the increasing ubiquity of wireless communications, provides a host of new possibilities for making technology an intimate part of daily life. A panoply of products-reactive rooms, interactive walls, augmented objects, smart jewelry, implanted chips-all conspire to make interactive systems more and more entwined with the minutia of our daily lives.

To me, it feels as though this new intimate relationship with interactive systems is coming quite rapidly, quite a bit more rapidly, perhaps, than we are able to cope. That is, quite simply, how do we figure out how to design such systems? While we certainly understand, in principle, how to make such systems usable, it is not clear that we know how to make them useful. How can we design interactive systems so that they enhance the quality of our lives? Or, at the very least, how do we go about doing interactive systems design so that it doesn't disrupt our lives?

The challenges posed by the increasing size of interactive systems design space are exacerbated by another trend: the increasing diversity of the design process. This is, in part, a side effect of the increasing size of the interactive systems design space. While it is well accepted that visual designers and social scientists, as well as technologists, have roles to play in interactive systems design, as interactive systems colonize an increasing number of product niches more disciplines will become involved in the design process. Architects, musicians, video artists, fashion designers, jewelers, are all playing increasing roles in the design of interactive systems. Similarly, the more entwined interactive systems are with daily life, the more 'users' (who are, of course, no more homogenous than 'designers') need to be involved in the design process. All of this diversity poses a problem: how are the various stakeholders in the design process to communicate with one another, when they share little or nothing in the way of a core discipline, practice, or theoretical basis?

This brings us to the concept of a lingua franca, a common language which is accessible to all the participants in a design process. By common language I am referring not just to vocabulary (otherwise English or another natural language would typically serve quite well), but to the conceptual frameworks which disciplines and professions bring to bear during the design process. The idea to be explored here is that part of the process of interactive systems design should be the development of a lingua franca for a particular design project, a common language which permits all stakeholders to participate more fully in the design process.

In the next section, we look at an example of a simple lingua franca that emerged during a design process. The goal of this section is to demonstrate the power and importance of a lingua franca. However, the lingua franca described was hand crafted- it was developed from scratch specifically for the project described, requiring a considerable investment of time, energy and expertise. Since time, energy and expertise are typically limited resources in high tech design, the following sections introduce the concept of pattern languages, and explore the notion that they might serve as short cuts or scaffoldings for generating project-specific lingua francas. 3. THE POWER OF A LINGUA FRANCA

The content of this section is drawn almost entirely from an article by Randolph T. Hester, Jr. [10]. In addition to its description of an interesting design process, the article is noteworthy because it is retrospective: the designer returned to the site of the design seven years later, and assessed how the design-and the remnants of the design process- fared over the long term.

3.1 The Problem

In the 1950s North Carolina built a bridge to facilitate tourist travel to the beaches of its Outer Banks. While this was a boon to the Outer Banks' tourist trade, it was a slow catastrophe for the town of Manteo, North Carolina, which was bypassed by the new highway and the flow of tourists. Over the next thirty years Manteo changed from the region's principal trade center to a near ghost town with the highest unemployment and tax rates in the state.

In 1980 the town of Manteo asked Hester, a community designer, to devise a plan to bring about an economic revival by developing Manteo's historic waterfront to encourage tourism. At the same time, the residents wanted to preserve the aspects of Manteo that they valued; they didn't want to sacrifice the town's character to tourism.

3.2 The Beginning of the Process

Hester began by trying to identify what it was that residents valued about their town. Initially he used surveys and face to face interviews to explore what was important to the residents. These techniques resulted in a number of general findings: people valued small-town qualities such as friendliness and informality; they also saw certain areas (e.g., the waterfront) and places (e.g., particular shops) as important to their quality of life.

Hester and his team were not satisfied by these findings. It was not obvious how to move from the general sentiments expressed to decisions about what might be changed and what ought to be preserved. So Hester and his colleagues turned to an approach they called "behavior mapping." This involved observing and recording the activities of the townsfolk over a period of several weeks. The result was a set of sketches of settings and maps of place-based activity that seemed important to the life of community. Mapped behaviors included activities such as "hanging out at the docks", "watching the sunset", and "debating politics in the Dutchess restaurant" (Figure 1). As Hester said, "Lifestyle and landscape were intertwined. Daily ritual was place-specific, and the cultural dependence on places seemed more widespread than people had reported in our interviews." It is interesting to note that most of the places in which seemingly important activities were observed had not been mentioned in the surveys or interviews.

Figure 1. An activity map of The Dutchess restaurant, indicating that locals often gathered in a corner booth (redrawn from figure 12.3, page 277 [10]). 3.3 Validation and Ranking

The next step was to verify that the places where the activities occurred were actually important to the residents. Using information from the surveys, interviews and behavior mapping, and drawing on knowledge of social patterns in other towns and discussions with Manteo's leaders, Hester and his team generated a list of 'important places'. The list, in conjunction with a newspaper based questionnaire, was used to allow the residents to rank the places in order of their importance. The idea was that items above a certain point would be protected from development. The results were collated, and the resulting list was published in the town newspaper. One resident, observing that quite a few places were ranked higher than the local churches and cemetery, dubbed the list "the Sacred Structure of Manteo." The name stuck, and came to be used for the places that were to be preserved and protected.

3.4 Manteo's "Sacred Structure"

Manteo's sacred structure-eventually codified in a map (Figure 2)-consisted of rather mundane places. As Hester notes, "these places are almost universally unappealing to the trained professional eyes of an architect, historian, real estate developer, or upper- middle-class tourist." For example, the sacred structure included the marshes surrounding the town, a park, the Dutchess restaurant, locally made (unreadable) street signs, and a gravel parking lot where people gathered to watch the sun set and where the town's Christmas tree was set up. Of the sacred places, only two were protected by historic preservation legislation, and a few more by zoning laws; that is, the existing planning and legal mechanisms that were intended to help preserve the character of places missed most of what the residents of Manteo actually valued.

Figure 2. A portion of Manteo's Sacred Structure map (redrawn from figure 12.4, page 278 [10]).

The codification of Manteo's sacred structure had a number of important consequences. First, it shifted the discussion of the town's redevelopment from the abstract ('let's keep it friendly and homey') to the concrete ('let's keep the Dutchess restaurant and the gravel parking lot'). Second, it enabled the residents to see that each person's preferences weren't idiosyncratic: for the first time, for example, it became evident that many people liked the unreadable street signs. Third, the sacred structure map became a vehicle for legitimization. That is, Manteo's sacred structure was not, as already noted, composed of impressive buildings or places. Indeed, Manteo was not a particularly "quaint" place, and occasional disparaging comments from tourists led many residents to feel that the unpretentious places reflected poorly on their town. When the design team recognized that locals were somewhat ashamed, they stepped forward and spoke in favor of the places, and the townspeople came to feel that their values were legitimate.

3.5 A Linguistic Common Ground

Over time, the sacred structure map became a part of the local vocabulary, and, by so doing, it came to serve as a collective tool for controlling the development of Manteo. The concept of Manteo's sacred structure played two important roles. One role was that of a measuring rod. What the sacred structure really did was to project abstract values onto concrete places. That is, while it may be difficult to see whether building a shopping mall in a particular location will decrease the friendliness of the town, it is very easy to see whether it will require the marsh to be filled in, or the gravel parking lot to be built on. Second, the sacred structure also served as a negotiating tool. It provided a way for residents to articulate their intuitive responses to particular development plans and proposals. And, because the sacred structure was representation that the townspeople shared, it gained power. A developer intent on building a strip mall on the gravel parking lot might ignore the first few people who described it as a sacred structure, but, as the developer encounters more and more people who speak of it in the same way, a powerful impression is formed.

3.6 Seven Years Later: Manteo's Sacred Spots

Hester's work did not stop with the creation of Manteo's sacred structure; the process continued for several months, resulting in a development plan and the solicitation of proposals from developers. However, we will not look at that; instead we will jump ahead seven years to when Hester returned to Manteo to see how the plan had fared over the years.

The redevelopment effort had been extremely successful in stimulating economic growth without destroying what residents liked about the town. However, what is of primary interest here is the degree to which the community's knowledge of Manteo's sacred structure had persisted. The residents of Manteo-not just politicians and planners, but 'ordinary people' as well-continued to refer to it, though by this time they used the phrase "sacred spots". Hester reports that his interviews with residents revealed that knowledge of the town's sacred structure influenced the redesign of the Dutchess restaurant, the rebuilding of Fearing's Soda Shop (another part of the sacred structure) after it was destroyed in a fire, and that "community members have consistently undertaken similar conscious actions to save and enhance what they now call 'Sacred Spots.'"

3.7 Discussion To me, this is an amazing and inspiring result, perhaps the highest goal to which a designer can aspire. Hester's work in Manteo resulted not only in a plan for achieving economic renewal without sacrificing the town's character (the explicit goal he was employed to achieve), but it also resulted in a shared, self-sustaining system of beliefs and values that enabled the plan to be realized over a much longer period of time.

It seems to me that a key aspect of this self-sustaining system was that it became part of the common language of the town. It gained its power because people had shared understandings and values, and because they knew that their understandings and values were shared by the community. I also believe that a critical aspect of the adoption of sacred structure as a shared vocabulary was that it was expressed in terms of concrete objects that were part of the community's everyday life.

If we agree that the emergence of Manteo's sacred structure as a shared vocabulary provided a tool that allowed a community to exert some control over its own development and evolution, and if we agree that such control is desirable, the next question that arises is whether this process is repeatable. That is, it may be that the circumstances in this case-a skilled design team, a receptive populace that was well aware of both the need to change and the perils that accompany such change, and a situation in which the central issues could be bound to everyday objects-are so unusual as to preclude repetition of the process. Or, it may be that the process that occurred in Manteo requires so much effort to support, that it is impractical to apply in most cases (i.e. when the stakeholders do not see the outcome of the design process as fundamentally shaping their future).

For this reason it is worthwhile to examine a different approach to the creation of design lingua francas. In the next section I describe a method-drawn, again, from architecture and urban design, but distinct from that employed by Hester and his colleagues-known as design patterns or pattern languages, which have the potential to lower the cost of creating lingua francas for various design projects. 4. PATTERN LANGUAGES IN ARCHITECTURE AND URBAN DESIGN

In this section I describe a pattern language for architecture and urban design developed by Christopher Alexander and his colleagues [1, 2]. Alexander's pattern language is a network of patterns of varying scales embodied as concrete prototypes. The goals of Alexander's pattern language range from supporting the design of environments that have what Alexander calls "the quality without a name," to-most relevant to our purposes-helping non-architects participate in the design of their own environments. Alexander's pattern language addresses the latter goal by providing its users with a common language that enables them to reflect on their experiences and on the relationship between their experiences and their environment.

4.1 Ways Pattern Languages are Used

Before we examine Alexander's pattern language, it's useful to provide a bit of context. First, it's important to emphasize that the pattern language is more than an engaging theory: it has been used by a wide variety of people for nearly two decades. The firmest evidence is that the book of design patterns, A Pattern Language [2], continues to be a best selling architecture book after nearly two decades on the market, even though it is available only as a rather expensive hard back. There are a couple dozen published accounts of building projects employing patterns (see [9] for some of these). A practicing architect who sometimes uses patterns tells me that Alexander's approach has a relatively small following within the architecture profession; however, 'patterns architects' do get a steady stream of clients who have sought them because they wish to use Alexandrian patterns. Most use of pattern languages appears to be by those outside the architecture profession: designer-builders, and people with no design training whatsoever who simply wish to remodel or build their own homes [14]. The continuing popularity and use of Alexander's pattern language by layfolk is an argument in favor of its status as a lingua franca.

In the last decade pattern languages have become popular among technologists. In the early nineties they began to be appropriated by the object-oriented programming community, which has employed them to support the production and re-use of high quality programming constructs. The Communications of the ACM published a special issue on software patterns [17], and there are now annual conferences, mailing lists, web sites [16], and books [6, 11, 12, 19] devoted to the application of patterns to object oriented software design. For example, Gamma, et al. [12] have produced a book of design patterns for reusable components and object classes. At a different level of inquiry, Coplien [6] has proposed a family of patterns for shaping software development organizations and processes. More recently, beginning with the CHI '97 workshop on pattern languages [3], pattern languages have begun to attract increasing interest within the HCI community, with four more workshops occurring in 1999 and 2000 (see [8]).

I should begin by acknowledging that my view of the role and usefulness of pattern languages differs from the perspectives of other exponents of pattern languages. The two most oft-cited rationales for the use of pattern languages are these:

1. Quality. Pattern languages will support the creation of systems that have what Alexander and his colleagues [1, 2] call "The Quality Without a Name"-this is a shorthand for systems which really 'work' for people, in all of the many meanings of that phrase, and 2. Re-Use. Pattern languages permit the re-use of the hard-won wisdom of designers, allowing the accumulation and generalization of successful solutions to commonly encountered problems.

As should be evident from the preceding sections of this paper, my concern is with pattern languages as a possible lingua franca for design process. This concern is not entirely divorced from Alexander's views. Although Alexander focuses on the use of pattern languages for achieving the quality without a name, he has much to say about pattern languages as common languages. For instance, in A Timeless Way of Building [1] he argues that, in pre-industrial societies, pattern languages were not the domain of specialists like architects, but were shared by all members of a community:

In a town with a living language, the pattern language is so widely shared that everyone can use it. (page 229)

And he goes on to say: Each person in a town knows that his own small acts help to create and to maintain the whole. Each person feels tied into society, and proud because of it. (page 231)

This seems in remarkable synchrony with what happened in Manteo, with the creation of the sacred structures leading to a shared understanding that certain places were valued by the community, and that those valuations were legitimate. This lends some credence to the supposition that pattern languages are not disconnected from the events in Manteo.

Now let us turn to the pattern language for architecture developed by Alexander and his colleagues. There are several purposes to our examination. One is to dispel a number of common misconceptions about pattern languages. A second is to discuss pattern languages as representational systems in general, and as representational systems suitable for constructing lingua francas, in particular. Finally, it is difficult to understand pattern languages without giving an extended example, and so we will do that as well. Once we've covered Alexander, et al's work, we will return to its relationship with the wider field of interactive systems design.

4.2 Alexander's Pattern Language

Alexander's language consists of a network of 253 patterns. The patterns range in scale from a pattern for the distribution of towns and cities down to a pattern for walls. The patterns are loosely connected across scales: any given pattern typically references smaller scale patterns which can support it, and larger scale patterns in which it may participate. For example, the IDENTIFIABLE NEIGHBORHOOD pattern (aimed at creating neighborhoods with their own sense of place) invokes smaller scale patterns such as STREET CAFE, INDIVIDUALLY OWNED SHOPS, and CORNER GROCERY, and participates in larger scale patterns such as MOSAIC OF SUBCULTURES that specify characteristics of communities.

4.2.1 An Example of a Pattern: Street Café

Let's look at an example of a pattern. Each pattern is presented in a standard form which provides a prototypic example of the pattern, describes its relationship to other patterns of larger and smaller scales, as well as describing the pattern's rationale and implementation. Figure 3 shows an abbreviated version of pattern 88-STREET CAFE [2]. (It is important to note that this, and all other patterns described in this paper, are greatly abbreviated: Alexander's patterns average about four pages in length.) STREET CAFE begins with its name, number, and (omitted) photograph of a sidewalk cafe. The first paragraph describes some of the larger scale patterns (e.g. ACTIVITY NODE; IDENTIFIABLE NEIGHBORHOOD) of which it is part. These pointers to larger scale patterns support the generation of particular, project-specific languages, though the process just described. Next is a statement of the essence of the pattern, followed by a longer rationale (most omitted from Figure 3) which describes the background of the pattern, evidence for its validity, and ways in which the pattern can be manifested, etc. For example, in this case, the discussion ranges from a careful description of the experience of being in a cafe, to an analysis of the elements of successful street cafes, to discussion of a survey on the role played by student-oriented cafes in educational settings. The extended rationale for the pattern is quite important because it helps the user judge how appropriate it is for the situation to which it's being applied, and whether the pattern needs to be modified to fit the current situation. The pattern concludes with a short statement describing how to implement the key features of STREET CAFE, and another paragraph with pointers to smaller scale patterns-such as OPENING TO THE STREET and SITTING WALL-which may be used to strengthen this pattern. Again, these pointers support the generation of project-specific languages.

4.2.2 Applying Pattern Languages

Perhaps the most common misconception about pattern languages is that they are sets of templates that are rigidly applied to situations. This is not the case. Understanding how a pattern languages are intended to be applied is absolutely crucial to their effective use.

Alexander's pattern language is actually a meta-language. Both the language and individual patterns are malleable and are used to generate site-specific pattern languages for particular projects. Alexander carefully describes the process of generating a project- specific pattern language [2, pp xxxviii-xl], which I've summarized as follows:

1. Choose the pattern which best describes the overall scope of the project 2. Go to the end of the pattern, where it refers to the smaller scale patterns which support it, and make a list of the patterns which seem to apply to the project. 3. For each pattern selected in step 2, repeat step 2, and also examine the larger scale patterns at the beginning of each pattern, adding all relevant patterns to the list. 4. Repeat steps 2 and 3 until you have worked your way through the list of patterns. 5. Adjust the list of patterns by adding your own material, either by modifying existing patterns so that they are more relevant to the current situation, or by creating new patterns.

88 Street Cafe

[picture omitted]

...neighborhoods are defined by Identifiable Neighborhood (14); their natural points of focus are given by Activity Nodes (30) and Small Public Squares (61). This pattern, and the ones which follow it, give the neighborhood and its points of focus, their identity.

The street cafe provides a unique setting, special to cities: a place where people can sit lazily, legitimately, be on view, and watch the world go by.

The most humane cities are always full of street cafes. Let us try to understand the experience which makes these places so attractive. We know that people enjoy mixing in public, in parks, squares, along promenades and avenues, in street cafes. The preconditions seem to be: the setting gives you the right to be there, by custom; there are a few things to do that are part of the scene, almost ritual: reading the newspaper, strolling, nursing a beer, playing catch; and people feel safe enough to relax, nod at each other, perhaps even meet. A good cafe terrace meets these conditions. But it has in addition, special qualities of its own: a person may sit there for... [nine paragraphs of rationale omitted]

Therefore:

Encourage local cafes to spring up in each neighborhood. Make them intimate places, with several rooms, open to a busy path, where people can sit with coffee or a drink and watch the world go by. Build the front of the cafe so that a set of tables stretch out of the cafe, right into the street.

[diagram omitted]

Build a wide, substantial opening between the terrace and indoors- OPENING TO THE STREET (165); make the terrace double as A PLACE TO WAIT (150) for nearby bus stops and offices; both indoors and on the terrace use a great variety of different kinds of chairs and tables- DIFFERENT CHAIRS (251); and give the terrace some low definition at the street edge if it is in danger of being interrupted by street action-STAIR SEATS (125), SITTING WALL (243), perhaps a CANVAS ROOF (244).

[text omitted]...

Figure 3. An example of an Alexandrian pattern.

Thus, for any particular situation, Alexander's pattern language is used to generate a subset of its patterns; in addition, users modify existing patterns and create new patterns so as to reflect the culture, environment, history, customs and goals of the site's location and inhabitants. These patterns-old, modified, and new-form a site-specific language which is used to guide reflection and discussion about the relationships among the site, the proposed design, and the activities of the inhabitants. (Thus, for example, it is conceivable that Alexander's pattern language could have been used to help the residents of Manteo identify important places, i.e. those that instantiated Alexandrian patterns.)

4.3 Pattern Languages as Representations

Alexander's pattern language has a number of attributes that make it suitable for generating lingua francas.

1. Concrete Prototypes. Alexandrian patterns are embodied as concrete prototypes rather than abstract principles. Every pattern comes with a name (often sufficient to evoke an image), a picture of an archetype of the pattern, and a diagram of how it is implemented. This is true for patterns at large scales (e.g., AGRICULTURAL VALLEYS, RING ROADS) and at small scales (e.g., THICK WALLS, CHILD CAVES). Whereas abstract principles require users of the principles to understand some conceptual framework, and to be able to map the principles onto their domain of concern, the concrete prototypes in pattern languages make direct contact with users' experiences. Anyone who has experience with the situation can begin to understand, discuss, and contest Alexandrian patterns. 2. Grounded in the Social. Another characteristic is that the patterns tend to focus on the interactions between the physical form of the built environment and the way in which that inhibits or facilitates various sorts of behavior within it. Thus, STREET CAFE emphasizes the importance of location along a busy path because this facilitates casual meetings, people watching, etc. This linkage between the components of design and everyday activity reinforces the concrete, grounded nature of the pattern language. 3. Expresses Values. Alexander's Pattern Language is not value neutral. Patterns such as INDIVIDUALLY OWNED SHOPS, BIKE PATHS AND RACKS, FARMHOUSE KITCHEN, and OLD AGE COTTAGE all manifest particular values in their names alone (and more explicitly in their rationales). While this aspect of A Pattern Language can alarm those who view it as prescriptive-that is, who think it is intended to be The pattern language-I see its ability to clearly and explicitly express values as part of its representational power, and as yet another way the language becomes grounded for its users. 4. Supports Piecemeal Use. Finally, pattern languages are amenable to gradual, piecemeal use. If a pattern language exists for a particular domain, users can begin with just a few patterns and work out from there. If a pattern language is being developed from scratch, it feels natural to start with particular cases and to identify patterns which recur from one case to another. It is easy to imagine identifying a few basic patterns, and then testing and re-testing them as new cases are encountered, creating more general patterns, and defining more particular ones as appropriate.

5. EXPLORING PATTERN LANGUAGES FOR INTERACTION DESIGN

Thus far I've argued that interaction design has an increasing need for lingua francas, I've given an example which illustrates the power and import of a lingua franca and, in this last section, I've introduced pattern languages as a means for generating project- specific lingua francas, and discussed the representational properties which make them suited to that end. In what remains, I explore how the pattern language concept-which was developed for architecture and urban design-might be transposed to other types of interaction design. Here I discuss my explorations, and describe some fragments of pattern languages that might be used to design various sorts of interactive systems.

5.1 From Space to Time

One important aspect of Alexander's pattern language is that its patterns are aimed at supporting the design of physical spaces. This gives them a concrete character and doubtless plays an important role in making them comprehensible to a wide audience. An important question for our purposes is whether it is possible to design a pattern language that is not aimed strictly at the built environment. That is, is it possible to develop pattern languages that are oriented towards events or situations?

An answer to this question, came, quite coincidentally, while I was working while sitting in a local cafe. Two women sat down at an adjacent table and began discussing an upcoming wedding. As the conversation went on it became clear that one of them was a wedding consultant: her goal was to ensure that the wedding came off smoothly and was a good experience for all concerned. I was struck by the similarity between her advice and Alexandrian patterns: though she did not frame her advice in these terms, what she was basically doing was describing patterns for designing a successful wedding.

Here are two examples of her recommendations.

1. Have someone responsible for collecting extraneous objects from the bride and bridesmaids. The recommended procedure is to have a bunch of paper bags labeled with each person's name. About fifteen before the wedding begins, the collector should go to each bridesmaid and throw her things (e.g., hair dryer, make up) in her sack, and then take all the sacks and lock them in the trunk of a car. This prevents things from getting left behind in the excitement of going off to the reception, or stolen from the dressing room during the wedding ceremony. 2. For the reception, arrange to have two people manning the gift table. Their task is not only to accept and watch gifts, but also to be armed with tape so that loose cards can be firmly attached to their packages. One person can be taping, while the other is receiving gifts. By ensuring that the cards and gifts remain attached, the bride is later able to complete the gifting ritual by sending thank you notes.

Clearly the wedding consultant understands the structure of the wedding experience and realizes that the wedding is not just the ceremony and reception: it begins months before the wedding, and extends long afterwards. For example, she recognized that receiving gifts is part of a larger pattern which includes returning formal thanks, and she made sure that one of the smaller scale patterns (the gift reception table) was structured so as to allow the larger scale gifting pattern to be completed much later on. In general, she had identified many recurring wedding patterns, identified points where the wedding experience could potentially break down (typically where a pattern was protracted over time), and devised procedures for avoiding or repairing breakdowns.

Figure 4 recasts the wedding consultant's first recommendation in the Alexandrian format, as though it were part of a pattern language for weddings. There are two marked differences from Alexander's patterns. First, time is an important element these of patterns. And second, people-or at least roles-are important.

While the wedding consultant's 'patterns' provided a useful hint, weddings are still quite different from the sorts of situations that most interaction designers are face with in their work (although I believe that event design, and organizational design, are perfectly valid areas of interaction design). One might argue that while one could design a pattern language for weddings, it might be much more difficult to move from the relatively well structured domain of weddings (which tend to have similar goals, roles, structures, and rituals), to the more general and less defined domains such as office work.

The Final Fifteen Minutes-Bride

...the two main events of THE WEDDING DAY are THE MARRIAGE CEREMONY and THE RECEPTION. Many things must be taken care of in advance so that these events go smoothly: while most of these may be done ahead of time, this pattern, and the others in this section, must be done on the day itself.

The final fifteen minutes before the ceremony is a frenetic time. The bride and bridesmaids will be engaged in final adjustments of cosmetics and clothing.

In the final fifteen minutes, wedding participants are focused on the upcoming ceremony, not the farther future. There is the potential for handbags, cosmetics, unworn jewelry and other accessories to be left behind in the dressing area, where they may be left behind in the excitement of going off to the reception, or stolen from the dressing room during the wedding ceremony. etc. etc.

Therefore:

Designate a person to be responsible for collecting each participant's belongings, and storing them in a safe place.

Other patterns which may overlap or interact with this one are FINAL FIFTEEN MINUTES-GROOM, USHERS , and ASSEMBLY FOR PROCESSION

Figure 4. A pattern from a (hypothetical) wedding pattern language.

5.2 Towards Interaction Pattern Languages

5.2.1 A Pilot Study of Office Activity

As a consequence of reflecting on the wedding example, I decided to look for temporal interaction patterns in a pilot study I had just conducted. The goal of the study was to do a rapid survey of the nature and structure of office worker's daily activities, as described in their verbal reports. Four people were interviewed for the pilot study: a newspaper journalist, a professor of architecture, a magazine editor (in charge of new media), and a professional mystery writer.

While I make no claims for the rigor of analysis or the breadth of this study, and am well aware of the limitations of relying on verbal reports, I was encouraged by the fact that the process of using patterns to capture regularities of interaction seemed straightforward.

Here are a few of the patterns that emerged:

1. STAYING IN SYNCHRONY. All the people interviewed reported that they made various efforts to stay in synchrony with people and events that were relevant to their activities. Very often getting in synchrony (see CLOSING THE LOOP, Figure 5) was one of the first activities of the day, and lead to the pattern MAPPING OUT THE DAY. 2. MAPPING OUT THE DAY. A common activity early in the day (and sometimes repeated later on, depending on the degree of change that characterizes the activity), is trying to structure the day, either formally or informally. (We know from other studies that people in extremely event-driven activities may not have the option of using this pattern.) 3. BALANCE BETWEEN PRODUCTIVITY AND RESPONSIVENESS. Three of the four people we spoke with described their jobs as being filled with interruptions... but also said that responding to interruptions was part of their job, sometimes an interesting and enjoyable part. They described their work days as an effort to strike a balance between responding to events and colleagues, and accomplishing what they were 'supposed to be doing.' For them, the most important aspect of MAPPING OUT THE DAY was to schedule time for FOCUSED WORK. (The fourth person was a writer who worked at home, with very few interruptions. Interestingly enough, he described an important aspect of structuring his day as seeking out stimulation.) 4. FOCUSED WORK. All those interviewed described periods of concentration and reflection during which they worked on producing documents or other concrete artifacts. Each tried to structure their time and environment so as to minimize interruptions during these periods, and each had an (often elaborate) way of arranging their workplace to support this activity. 5. BREAK FOR FOOD. Everyone mentioned taking a break to eat. Sometimes the break was used to socialize with colleagues; other times it was used as an opportunity for reflection. Often this pattern was followed by CLOSING THE LOOP.

Figure 5 shows one other pattern, CLOSING THE LOOP, sketched out in its canonical, Alexandrian form. As with the wedding pattern, this hints at how it might fit into a pattern language for describing larger situations, in this case, the daily life of an office- based knowledge worker. This pilot study left me feeling optimistic about the prospect of constructing pattern languages for the workplace. However, since shifting priorities at work took me away from directly studying office workers, I instead decided to try extracting patterns from an ethnographic studies of workplaces. This provided an opportunity to examine patterns involving multi-user interactions and workplace roles.

Closing the Loop

An individual's actions are dependent upon, and often shaped by, the activities of others. Thus, workers make an effort to STAY IN SYNCHRONY with their coworkers, and with outside events that may have an impact on their work. One manifestation of this is the explicit process of checking relevant communications channels after a period of being out of touch.

Workers often engage in the activity of checking their communications channels when they return to the office (or arrive at a place where they can communicate) after a period of being out of touch.

In the situations studied so far, closing the loop most commonly involved checking voice mail and email. It also sometimes involves checking physical mail, the fax machine, and visiting colleagues who are nearby, but not in the immediate work area.

When engaged in the pattern, people like to quickly scan through their messages to see which ones require urgent action. Some people act only on high priority items, leaving the rest in the queue for later. Others use the period as an opportunity to organize their messages in terms of a number of classes of priority.

Therefore:

Provide a place where incoming communications and news can accumulate. Make it possible for the worker to quickly scan new items, so that high priority information can be noticed and acted upon.

Other patterns which support this one are SCANNING, PRIORITIZING, REMINDING.

Figure 5. A pattern from an office pattern language

5.2.2 Unpacking an Ethnography

Elsewhere [7] I've described more fully a fragment of a pattern language for a design consultancy based on an ethnography by Bellotti and Bly [4]. Here, I will sketch the fragment, and talk about some of the ways in which it might be used.

The Design Consultancy language's goal is to characterize the design consulting business by describing the various forces which shape it. Thus the language depicts the firm's need to act quickly and flexibly to get, keep, and complete projects, balanced with its need to do this with limited amounts of time and materials, and relatively fixed number of employees. Its designers and engineers work on project-oriented teams, which form and reform as new projects begin and old ones end. The company culture encourages kibitzing and informal collaborations across team boundaries.

One of the largest scale patterns in Design Consultancy is MAINTAINING MUTUAL AWARENESS. This pattern captures the designers' and engineers' attempts to keep up- to-date with what was going on, regardless of the projects with which they were involved. This practice is crucial to allowing the company bring a wide range of expertise to bear on problems, and is a good counterbalance to the potential inflexibility of project-oriented teams. MAINTAINING MUTUAL AWARENESS is supported by a number of smaller scale activity patterns: BLANKET EMAIL (the custom of addressing email messages with questions or answers to large groups); KIBITZING; and DOING A WALKABOUT (i.e. wandering through the work areas to see what others are up to). MAINTAINING MUTUAL AWARENESS was also supported by spatial patterns such as OPEN OFFICES, MODEL SHOP and CENTRAL SCANNING STATION.

Another large scale pattern is LOCALLY MOBILE WORKERS. This pattern captures the fact that many engineers and designers spend considerable time away from their desks, but are still in the general vicinity. On the one hand, workers are pulled away from their desks by the need to get access to immobile shared resources such as MODEL SHOP and CENTRAL SCANNING STATION, or to find local coworkers with whom they need to collaborate. On the other hand, they are pulled back to their desks by the need to use desk-based personal resources (PCs, telephones, voice mail) or to collaborate with remote colleagues. Thus, the engineers and designers spend considerable time moving about, a fact which-as Bellotti and Bly note [4]-has considerable consequences for how they accomplish their work. Clearly, to the extent that locally mobile workers encounter others, this pattern supports MAINTAINING MUTUAL AWARENESS, at least for coworkers in the same locale.

Another pattern that goes hand in hand with LOCALLY MOBILE WORKERS is RECEPTIONIST AS HUB. The mobility of many workers produces a need for coordination, a way for one person to locate another when the need arises. In this workplace, Bellotti and Bly discovered that the receptionist played an important role in keeping track of people. This arose because her location and continuous presence at the entrance enabled her to observe the arrivals and departures of people. This was facilitated by her role as the conference room coordinator, which resulted in her being aware of the time, location and composition of meetings. Finally, some employees, recognizing her role as de facto coordinator, had adopted the practice of informing her of their anticipated whereabouts.

Many other patterns could be described-OPEN OFFICES, SHARED RESOURCES, KIBITZING, BLANKET EMAIL, and DOING A WALKABOUT-but this is enough to give a flavor of the Design Consultancy pattern language. Let's now consider some ways in which it might be used.

I imagine that the design firm would own and maintain its own pattern language. Perhaps, in the future, corporations will have staff ethnographers whose job is to maintain the corporate pattern language, and make sure that it doesn't get out of synch with the actual life of the organization, which presumably gradually evolves under the influences of a myriad of internal and external pressures. Such a pattern language would be a key part of the firm's intellectual property: it would be how the firm understood itself; it would provide a way for the firm to reflect upon its success and failures and understand its strengths and weaknesses; it would provide a way of gauging the impact of new technologies, processes and people on its functioning. Just as Manteo had its sacred spots, so the design firm might have its 'sacred practices,' that is, activity patterns that it recognized as a core part of its culture.

For example, suppose that the design firm is considering the purchase of an automatic scheduling system. While the first order effects of this might be to reduce the receptionist's workload and to provide employees with more immediate access to room scheduling, consideration of the pattern language-in particular, RECEPTIONIST AS HUB and its supporting patterns-suggests that such a change might have less beneficial second order effects. For instance, reducing the receptionist's involvement in meeting scheduling might well reduce her effectiveness in keeping track of employees whereabouts. Or, to take a different example, switching from open offices to closed offices could undermine MAINTAINING MUTUAL AWARENESS and KIBITZING.

The point here is not that these patterns and their relationships should be used to reject or approve changes, but rather that they can be used as a language for discussing changes and reflecting on their possible impacts, both in terms of the activities of the organization, and in terms of the qualities of work life which its members value. Just as Manteo was able to support economic redevelopment without sacrificing its quality of life, so might organizations of the future be able to evolve without sacrificing valued aspects of their corporate cultures. 6. DISCUSSION

The draft of this paper that was submitted to the DIS conference received four thoughtful and provocative reviews. After some reflection I decided it would be appropriate to respond explicitly to the most important issues raised, rather than blending my responses back into the paper. Thus, I have extracted the central questions and issues the reviewers have raised, synthesizing and rephrasing them where necessary, and follow them with my own responses. The rationale for this approach is that the purpose of this paper is to raise questions and encourage discussion, rather than to argue that a particular method or technique is the answer. Although I am firm in my admiration of Hester's work in Manteo, I am not certain that pattern languages are, in any sense, the answer (though I believe they deserve exploration), and the dialog format that I follow here seems better suited to expressing the reservations, questions and intuitions present in my own responses.

So, without more preamble, I'll begin.

Why do need a special lingua franca? That is, why is it not sufficient to use language and discussion?

To begin with I should make it clear that I am advocating multiple lingua francas (rather than "a" lingua franca). A frequent confusion is to think of Alexander's pattern language (or the fragmentary languages I have sketched in this paper) as "the" language. But Alexander's language (et al.) is just a proto- or meta-language: it is used to generate languages appropriate to the particularities of the project, site and community involved.

As to why not just use English, to me the answer has to do with the nature of disciplines and expertise. When designers get involved in a project, they bring with them a conceptual framework that has, often implicit in it, perspectives, values, methods and so forth. When the design team is itself interdisciplinary, conflicting conceptual frameworks can lead to discord and confusion. But even if the design team has a single conceptual framework that they apply, the users are at a great disadvantage: they are confronted with designers speaking a language that-though full of words everyone understands-refers to concepts, methods, values and assumptions that arise discipline or profession rather than from the users' daily lives. The example of Manteo illustrates the power of rooting design in concrete exemplars of the design domain, rather than abstract disciplinary based concepts.

I'm not convinced by the need for a lingua franca: it could be argued that the tension between different kinds of expertise, and the integrity of their respective languages, is more likely to produce rich design than a common (and potentially comprised) agreement.

This is a good point, particularly in the case of a multi-disciplinary team where the various members have the confidence and rhetorical skill (and the time) to resolve the tensions among the various disciplinary languages. However, I am more concerned about ensuring that the users can participate in the process of resolution, and I think that framing the discussion in terms of concrete objects in the domain being designed gives users more of a chance of being heard. It also seems to me that having a project specific lingua franca doesn't necessarily eliminate the tensions among different sorts of expertiseit just means that those tensions can, perhaps, be resolved on a more level playing field.

The work hasn't been applied to real interaction design situations and I am concerned that the utility of patterns in practice to do a design is not demonstrated; nor is the utility of a pattern language assessed.

This is certainly a valid objection. Even though [9] documents one application of patterns, and a fairly large HCI pattern language is available [18], it is quite clear that serious work is just beginning. In the absence of definitive evidence, I think the best way to proceed is to spread these ideas and let the community of HCI researchers and practitioners experiment as they see fit. Enough is now happening in the area that those inclined to explore will certainly have company (see [8] for on-going developments).

The process of building such a language in a real, ongoing design project might be difficulty and potentially unwieldy.

Yes, that concerns me too. Clearly, the Manteo example took a lot of effort and time, more, perhaps, than is typically available in a high tech design process. My hope is that pattern languages can provide a head start, or catalyst, for realizing what was achieved in Manteo, but that is a hope and not a fact.

Is this anything more than yet another design notation that no one will use?

I think the longevity of Alexander's language-the fact that it has an avid following among layfolk (as illustrated by the fact the A Pattern Language [1] remains a best selling architecture book after two decades) -suggests that, at the least, people will use it. A similar point could be made about the use of patterns in the software engineering community, though that use of patterns does not generally encompass layfolk [11, 12, 17, 19].

What characteristics of a pattern language are especially useful for design?

I see three characteristics that make pattern languages suitable for design. First there is the concrete nature of pattern languages. By expressing patterns in terms of concrete prototypes they become more accessible to the diverse audiences who will ideally participate in the design process. A second characteristic is the way in which they are intended to be generatively used (as described in section 4.2.2). The ability to use a pattern language to generate a project-specific language seems of great import. Third, these two characteristics interact. Because the patterns of any given pattern language are specific to the domain, and because they are accessible to anyone who understands that domain (most particularly, the users), the patterns can be bound to the particulars of the situation and used to ground the design discussion (as occurred in the case of Manteo).

A lingua franca should probably emerge from practice, rather than being imposed from the top down as this paper might imply.

I agree. Manteo is a perfect example of this. The hope for pattern languages is that they will provide a scaffolding for the emergence of a lingua franca. That is, by using a pattern language to generate a project-specific set of patterns that users can map to their own environment, perhaps the sort of experience that occurred in Manteo can be replicated more easily. 7. SUMMARY

I've sketched out my notion of design as an inherently communicative process, and suggested that the creation of project-specific lingua francas have the potential to create a leveler playing field among the diverse parties involved in the design of interactive systems. I've offered the redevelopment of Manteo, North Carolina as an illustration of how providing a community with a common, concrete language can give ordinary people more control over how design impacts their lives. And I've suggested that pattern languages-used as meta-languages to produce project-specific pattern languages-might catalyze the production of the sorts of lingua francas which played such an important role in the redevelopment of Manteo.

In the final section of the paper I've explored what it might mean to transpose the concept of pattern languages from the more spatial, fixed-site domain of architecture and urban design, to the more fluid domains (in which time and roles become important) with which interaction designers more commonly deal. In doing this, I've provided fragments of patterns, and hinted at the sorts of pattern languages they imply.

Obviously much remains to be done. My hope is that this paper will encourage others to explore the lingua franca problem, whether it be via the pattern language route, or alternate approaches. It seems clear that as the complexity, diversity, and pace of interactive systems design continues to increase, we will all need better methods of talking about what we're doing. 8. ACKNOWLEDGMENTS

This paper draws very heavily on the work of Hester [10], and Alexander, et al. [1, 2]; and Design Consultancy on the work of Bellotti and Bly [4]. In each case I am conscious that the interpretations I have advanced, and the liberties I have taken in synthesizing different types of work, are my own, and may not meet with the approval of the authors. I am indebted to two architects, Dale Mulfinger and Robert Boylin, who spent considerable time providing me with practicing architects' perspectives on Alexander's pattern language, as well as helping me to understand its reception and use by layfolk and by professional architects. Finally, the comments of four reviewers were very helpful in producing the final version of this paper. 9. REFERENCES

1. Alexander, C. A The Timeless Way of Building. New York: Oxford University Press (1979). 2. Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. A. A Pattern Language. New York: Oxford University Press. (1977). 3. Bayle, E., Bellamy, R., Casaday, G., Erickson, T., Fincher, S., Grinter, B., Gross, B., Lehder, D., Marmolin, H., Potts, C., Skousen, G. & Thomas, J. "Putting It All Together: Towards a Pattern Language for Interaction Design. Summary Report of the CHI '97 Workshop" SIGCHI Bulletin, ACM (January, 1998). 4. Bellotti, V. & Bly, S. Walking Away from the Desktop Computer: Distributed Collaboration in a Product Design Team. Proceedings of CSCW '96 (1996). 5. Borchers, J. A Patterns Approach to Interaction Design. Wiley & Sons (in press, 2000). 6. Coplien, J. O. A Generative Development-Process Pattern Language. In Pattern Languages of Program Design. (eds. J. O. Coplien and D. C. Schmidt). Reading, Mass: Addison-Wesley (1995). 7. Erickson, T. Towards a Pattern Language for Interaction Design.. In Workplace Studies: Recovering Work Practice and Informing Systems Design. (ed. P. Luff, J. Hindmarsh, C. Heath). Cambridge: Cambridge University Press (2000). 8. Erickson, T. The Interaction Design Patterns Page. http://www.pliant.org/personal/Tom_Erickson/InteractionPatterns.html. (edition of February, 2000). 9. Fromm, D. & Bosselmann, P. Mexicali Revisited: Seven Years Later. Places, Vol. 1, No. 4, pp. 78-91. New York: The Design History Foundation (1985) . 10. Hester, R.T. "Sacred Structures and Everyday Life: A Return to Manteo, NC. In Dwelling, Seeing, and Designing: Toward A Phenomenological Ecology (ed. David Seamon). SUNY Press (1993). 11. Gabriel, R. P. Patterns of Software: Tales from the Software Community. New York: Oxford University Press (1996). 12. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, Mass: Addison-Wesley (1995). 13. Greenbaum, J. and Kyng, M., eds. Design at Work: Cooperative Design of Computer Systems (eds.). Hillsdale, NJ: Lawrence Erlbaum (1991). 14. Mulfinger, D. Personal communication, in a conversation on July 12, 1996, Minneapolis, Minnesota, U.S (1996). 15. Muller, M.J. and Kuhn, S. "Participatory design." Communications of the ACM, Vol. 36, No. 6, pp 24-28 (1993) . 16. Sane, A. (2000) The Patterns Home Page. http://hillside.net/patterns/patterns.html (edition of June 10, 1999). 17. Schmidt, D., Fayad, M., Johnson, R., eds. Special Issue on Software Patterns. Communications of the ACM, Vol. 39, No. 10. New York: ACM Press (1996). 18. Tidwell, J. Common Ground: A Pattern Language for Human-Computer Interface Design. Web site at: http://www.mit.edu/~jtidwell/interaction_patterns.html (edition of June, 2000). 19. Vlissides, J. Pattern Hatching: Design Patterns Applied. Reading, Mass: Addison-Wesley (1998)

PATTERN LANGUAGE BY CHRISTOPHER ALEXANDER Several months ago a neighbor invited me over to see the (slow) progress he was making on his house remodel. His day job had slowed down his remodel work and he remarked that friends had kidded him that he could have built a new home in the time it had taken to remodel this 1920's vintage home. "I know they are right, he said, but a new home just wouldn't have the charm that this one does". His remark struck me. What is it about the "feel" of older homes that new homes lack today? The answer to this question lies in a remarkable book by Christopher Alexander; A Pattern Language. Christopher Alexander is credited for writing one of the most important books on home design this century. In his book, A Pattern Language, he cites many design "patterns" that make homes feel comfortable. His simple but profound observations identify what give places "soul".

Alexander and his group of architects went to Europe and studied the old villages and homes which had the charm and feel missing in so much contemporary architecture. Their extensive studies lead to what is now A Pattern Language. We have studied Alexander's work for most of our career and incorporate his way of "seeing" and his design theories into every home we design. When you learn about Alexander's patterns, you begin to see spaces in a different way and you'll never look at homes without looking for the patterns ! Once you have lived in a home designed with these sensitivities, it would be difficult to ever again settle for less.

You can get an idea of Alexander's "timeless way of building" from reading the patterns below. If you enjoy these ideas, we recommend buying his book. Follow the link at our Sunlight Bookstore to A Pattern Language for the best price we've seen on this classic book.

EXAMPLES OF PATTERNS The Entry Alexander says that the placement of the main entrance is very important and should be seen immediately from the main access direction. It should stand out and be bold so there is no confusion on the part of visitors as to where they should go.

Day Lighting Indoor sunlight can add a lot to the comfort of the home if the right rooms are facing south. If the wrong rooms are facing south, the house is dark and gloomy. Alexander says to place the most important rooms along the south edge of the building, and spread the building out along the east-west axis. Bedrooms can be on the north, as can the garage and secondary spaces.

Common Areas At The Heart Social groups, including families, need informal contact among its members. The design of the home can encourage this contact by having a single common area that is located at the center of the home. The movement between rooms is as important as the rooms themselves and has as much effect on social interaction in the rooms, as the interiors of the rooms. Light On Two Sides Of Every Room This is a pattern which we at Sunlight Homes find particularly important. Alexander says that when people have a choice, they will always gravitate to those rooms which have natural light coming in from at least two sides. In designing a home, it's best to locate each room so that it has outdoor space on at least two sides, with ample windows to capture natural light in every room from more than one direction. (Think about the place in your home that you tend to go to relax. It probably has light coming in from two sides! Now think of a space that feels creepy. Does it have only one window?)

Half-Hidden Garden Alexander says that the outdoor space where you spend time needs to be situated in an area of the yard where you are half hidden and half exposed. If the space is fully exposed to the street it isn't private enough and if it's too far from the street it's too private because you can't be aware of what's going on there. An outdoor space that offers some privacy and some connection to the neighborhood feels the most comfortable.

The Hearth There is no substitute for fire, says Alexander. Place the fireplace or wood stove in a common space, perhaps in the kitchen, where it provides a natural focus for talk, dreams and thought. These are but a few of Alexander's ideas. His patterns for home design are extensive and he expands into patterns that work for designing a community.

A Pattern Language

CA has a web site (much improved from earlier cheesey site) patternlanguage.com.

This book of 253 patterns was compiled over a period of years by a team of six. The paternes are numbered and named. One or more assertions are made about each pattern and discussed. At the end of each discussion, related patterns are cross-referenced.

To give you an idea of the range, here are only the names of ten of my favorite patterns: INDEPENDENT REGIONS, THE DISTRIBUTION OF TOWNS, IDENTIFIABLE NEIGHBORHOODS, INDIVIDUALLY OWNED SHOPS, STREET CAFE, CORNER GROCERY, BEER HALL, TRAVELER'S INN, SUNNY COUNTER and STAIR SEATS.

TEENAGER's COTTAGE (154) to aid in the transition out of the family house, the teenage should have his/her own place with a (separate entrance?) in a more removed location but with connection to the house, such as off of the kitchen, or via a breezeway or other walkway. CHILD CAVES (203) A hiding place, such as under a stairway. THE COUPLE'S REALM (136) See the book! Will quote here someday.

As I said, each pattern has a page or more of discussion following assertions made about particular patterns. Consider the assertion about IDENTIFIABLE NEIGHBORHOODS, following from an observation about implementing the pattern of identifiable neighborhoods in the light of an request by the City of San Francico for citizen input on the location of all future major arteries within the city:

Help people to define the neighborhoods they live in, not more than 300 yards across, with no more than 400 or 500 inhabitants. In existing cities, encourage local groups to organize themselves to form such neighborhoods. Give the neighborhoods some degree of autonomy as far as taxes and land controls are concerned. Keep major roads outside these neighborhoods.

I have been working on a World Model since about 1977. One of my next steps is to develop a pattern language to describe it systematically. I consider all of the patterns in Pattern Language applicable!

I invite you to develop your own pattern language for whatever you like -- computer network infrastructure, for example.

BUILDINGS

Remarkably, even though Alexander is recognized as one of the most important architects of the twentieth century, and has built many projects in several countries, his buildings are not well documented. (See the web page in German maintained at the University of Weimar, for some graphics). Alexander's website patternlanguage.com promises to eventually put up a comprehensive set of pictures.

A 30-minute film on the work of Christopher Alexander was made by an independent filmmaker and highlights Alexander's approach to building, entitled Places for the Soul: The Architecture of Christopher Alexander. One can rent or purchase this video. Alexander is himself preparing a comprehensive exposition of his major projects, in a new book entitled Sketches of a New Architecture , but it is unfortunately not yet ready for publication. In the meantime, readers can find some photographs in the following works:

1. Christopher Alexander, The Linz Cafe (New York: Oxford University Press, 1981) 2. Christopher Alexander, "Sketches of a New Architecture", in Denys Lasdun, Ed., Architecture in an Age of Skepticism (New York: Oxford University Press, 1984) pp. 8-27. 3. Christopher Alexander, "Battle: The history of a Crucial Clash between World-System A and World-System B", The Japan Architect 8508 (1985) No. 8, pages 15-35. 4. Thomas Fisher and Pilar Viladas, "Harmony and Wholeness", Progressive Architecture 6:86 June (1986), pages 92-103. 5. Christopher Alexander, Thomas Fisher and Ziva Freiman, "The Real Meaning of Architecture", Progressive Architecture 7.91 July (1991), pages 100-112. 6. Ingrid Fiksdahl-King, "Christopher Alexander and Contemporary Architecture", a+u Architecture and Urbanism: Special Issue, August (1993) 7. Kenneth Baker and Mark Darley, "New American Craftsman House", American Homestyle & Gardening, April/May 1996, pages 43-47. 8. Alan Powers, "West Dean: a Radical Building in a Rural Guise", Perspectives on Architecture No. 24 August/September (1996), pages 44-47.

Alexander has developed a practical method of construction, which combines the responsibilities of architect and contractor. Although this differs markedly from current practice, it does, in his estimation, enable the whole form to evolve in a way that is not possible under the current system. For sample contracts, and a description of how this method works in an actual project, see The Mary Rose Museum, by C. Alexander, G. Black, and M. Tsutsui (New York: Oxford University Press, 1996).

Alexander's thoughts on interior design, and especially for the office environment and furniture, are discussed on a separate webpage.

INFLUENCE ON COMPUTER SCIENCE

Christopher Alexander is perhaps having a greater impact on computer science than on architecture. Alexander's Pattern Language is being applied to Object Oriented Programming, and is inspiring innovative techniques that go beyond it. Theoretical structures that he defined are now recognized as general frameworks in which to link objects in programs together in a co-operative and sequential manner. Already for several years now, the topic of Pattern Languages is established in software, and possesses a rapidly growing bibliography. There is a yearly conference called Pattern Languages of Programming (PLoP). Christopher Alexander was invited to give the keynote address at the 1996 Object Oriented Programming Conference OOPSLA. (PHOTO). (It is now available on video). An assessment of this talk by several attendees was that "this marks the beginning of a new era in computer science" -- see the interesting essay by Linda Rising.

The Patterns Home Page is a useful repository of information about the application of Pattern Languages to Computer Science. Here, one can find a comprehensive bibliography on the subject, which is constantly being updated. Another compendium posted by Manfred Schneider and Georg Odenthal contains an updated list of links on Object-Oriented Patterns. Three books that apply Alexander's ideas to programming are:

1. James Coplien and Douglas Schmidt (Editors), Pattern Languages of Program Design (Reading, Massachusetts: Addison-Wesley, 1995). 2. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns (Reading, Massachusetts: Addison-Wesley, 1995). [Description]. 3. Richard Gabriel, Patterns of Software (New York: Oxford University Press, 1996). With a foreword by Christopher Alexander.

We include links to the first web sites that presented more extensive information on the impact of Christopher Alexander's ideas on computer science; by now there are many others.

 Brad Appleton gives a lengthy essay on the development and definition of Pattern Languages.  Doug Lea provides a detailed overview of the Pattern Language approach to Object-Oriented programming. He has also posted a general patterns discussion from the programmer's viewpoint.  Un sommario de los Patrones en Español, por Pablo Figueroa.

The paper by Nikos Salingaros The Structure of Pattern Languages is more architectural. Another recent paper is Lingua Franca for Design: Sacred Places and Pattern Languages, by Tom Erickson.

One of the persons influential in the "Patterns Movement", James Coplien, has posted a History of Patterns, and is applying patterns to human organizations (see next section). A search for the deep geometrical structures in software that correlate with "beauty" and "order" in Alexander's The Nature of Order, is being documented in a series of articles published in the C++ Report.

Pattern languages have been developed for many diverse specific disciplines that relate to computer science, such as individual applications and computer-human interfaces. Tom Erickson has collected links to Pattern Languages for Interaction Design. These include user-interface pattern languages. The pattern language developed by Jenifer Tidwell is especially comprehensive, and addresses the problems inherent in the design of any complex or interactive artifact. Although, as in all links in this section, this is written by a computer scientist, it in fact answers questions about general design first raised in the 1960's (by people such as B. Archer, C. Jones, H. Rittel, and H. Simon) that were judged to be too complex to solve.

The Road, Christopher Alexander, and Good Software Design by Linda Rising

I started up the mountainside while I was recovering from a broken collarbone, the result of a biking accident. I found myself, after three weeks of sitting, shoulder full of sharp pain, resigned to forgetting about my bike for awhile, but still yearning for some kind of activity. With only one working arm, I realized the answer to my limited choices lay in a near-by mountain preserve. It was a short climb and asphalt paved all the way but as I started out, head high, arm in sling, reveling in the sun, I saw the paved road as a friend, allowing me to travel up the mountain without fear of tripping on a rough surface or slipping on loose rocks. My fellow climbers were of all ages and abilities. There were young, fit specimens with heavy loads on their backs, no doubt preparing for some arduous trip. Others were of lesser talents though surely equally determined. We all struggled together to meet the same goal, each at his own pace.

It was that road I thought back to as I sat mesmerized by the presentation of building architect Christopher Alexander at OOPSLA '96. Like many others around me, I was curious, hopeful, excited, and incredibly alert, for the early morning keynote speech. Many of us had read some or all of Alexander's works. Many of us were involved to some degree in the "patterns movement," which had sprung from Alexander's insights. We wondered what he would say to this football-field-sized room full of software people.

The Quality Mystique

By way of introduction, Jim Coplien said that Alexander has had more influence on the object-oriented software development world than any other person outside the community. Alexander has an impressive list of credentials and has written several books, the most famous being A Pattern Language [Alexander77] and The Timeless Way of Building [Alexander 79]. These books are about patterns, yes, but they are also about something else he calls, the "quality without a name." This unnamed quality is the heart of what patterns are all about. As Alexander describes it:

"There is a central quality which is the root criterion of life and spirit in [all things]. ...The search which we make for this quality, in our own lives, is the central search of any person, ... . It is the search for those moments and situations when we are most alive."

In Doug Lea's excellent critique of Alexander's work [Lea94]:

"Alexander's central premise, driving over thirty years of thoughts, actions, and writings, is that there is something fundamentally wrong with twentieth century architectural design methods and practices. ... Alexander illustrates failures in the sensitivity of contemporary methods to the actual requirements and conditions surrounding their development. He argues that contemporary methods fail to generate products that satisfy the true requirements placed upon them by individuals and society, and fail to meet the real demands of real users, and ultimately fail in the basic requirement that design and engineering improve the human condition."

At OOPSLA, Alexander kept referring to this notion or quality using the expressions "living structure," and "wholeness." He said he wondered if all the patterns activity in the field of software development had really made people's lives better. Did they feel more whole, more alive, when they were using patterns. Do software patterns really make programs more alive, more whole, or is the software community just using the pattern form for documentation? Certainly all this philosophy seems far removed from our daily struggles with deadlines and requirements changes but Alexander truly is addressing these issues. He is describing living structure as being able to grow in the face of unpredictable events. That sounds like changing requirements to me! His search for wholeness is obviously a meaningful goal for software.

As Alexander talked of wholeness, describing the difficulty of measuring it, I recalled my discovery of the road. How good it felt to be among those moving, active, living souls! How we all shared something - a smile, a nod, a greeting, pleasantries we never would have shared had we passed one another on the street. How clean the path was, while below, the litter piled up. Somehow that road made us all feel happier, more human, more alive. Could that be measured?

Measuring Information Hiding

While working on my Ph.D. research a few years ago, I tried to measure something equally elusive, information hiding. My fascination with this topic began when I was trying to learn Ada, some years earlier, by doing maintenance, a common learning technique for programmers in any language. My assignment was to take a program of about 15,000 lines of code and modify it for a different environment. I began by printing the modules, each in a different file, and sitting on the floor of my cubicle, surrounded by the files. It never occurred to me that, being new on the job, others might walk by and wonder why I was already on the floor! In fact, my new boss did just that, saying he wished he could sit on the floor with any assurance that he would be able to get up!

I studied the program, with a list near-by of file names and module names. To my surprise, I was always able to find exactly the file I needed whenever I would ask a question, for example, "I wonder where this particular activity takes place?" Determining the kind of change I would have to make for each activity was also surprisingly easy. Two answers came to mind to explain the easy, familiar way I was able to adopt with this non-trivial program: (1) I'm pretty smart! and (2) maybe it's Ada. I've been trying to solve hard problems too long to go with the first and after I had tried maintenance assignments on other Ada programs, I also discarded the second. I was truly intent on finding the answer, since my work as a maintainer and Jill-of-many-trades was only a part-time consulting activity for Fridays and vacations. My "real" job was teaching in a near-by university. I wanted to teach the secrets of this amazing program to my students. What could I carry back to the classroom? I never did answer that question directly. Instead I physically carried the program back and used it as an example in a software engineering class [Rising89].

I started to learn more about design. I attended the new offerings at the Software Engineering Institute for university staff. I paid my own way to attend one of the last classes at the Wang Institute taught by David Parnas. Parnas had written about information hiding. To most software folks, this means "hiding information," a natural assumption! Really, there is much more to it. Parnas was talking to programmers who worked in languages like FORTRAN, COBOL, C, Pascal. He kept referring to a "module" and to most, this conjured up an indistinct picture. They wanted to use a procedure or function to clarify the examples, but obviously this wouldn't work. I think most gave up and settled on the phrase "information hiding" in its most basic interpretation. If object-based or object-oriented languages had been more in vogue in the '70s things would have been easier. Module would have translated to "package" or "class" and everyone would have said "Aha!" Unfortunately, by the time these OO constructs became popular, the over-simplification of information hiding had already taken place.

The Thing Being Hidden

I wish I could say that I made great strides in my Ph.D. research to help clear up this problem. I feel that I improved my own understanding of information hiding by measuring, in a rather weak way, what Parnas really wanted. The key, as I discovered, in my research and in my experiments, was the thing being hidden, a single design decision or "secret." Information hiding is hiding a single design decision behind a minimal interface. The minimal interface or the "hiding" part is a worthless facade without the intelligent contribution of the single design decision. In addition to the statistics and the requisite reams of difficult to decipher prose, I wanted to write the following stories about what I learned about information hiding.

The first story came from an experiment where I used a class of graduate students and a couple of versions of an Ada program [Rising93]. The students were divided into two groups and given a maintenance assignment, to be performed first on one version of the program and then on the other version. The two versions represented "good" or "bad" design as far as my information hiding metric was concerned. The two groups performed these in different orders. After the experiment had been completed, one of the graduate students said, "Now I really understand what information hiding is all about!" It is my deeply felt belief that the entire group could have said this. They really learned something. They "saw" the power of information hiding when they tried to do the maintenance assignments on the two versions of the program. It's such a simple thing, really. These students could all define information hiding. They had all read the classic paper [Parnas72], but until they met it face to face in an environment where someone pointed out the road to travel on and said, "Here, look at this," they really didn't grasp the concept.

Considering the Whole Environment

I thought of this while Alexander was talking about objectively measuring the wholeness of a street. He suggested that we look to see the effect the street has on people and ask them whether they feel "more whole." When someone points in a direction, when they walk down that street, they respond, they learn, they feel more alive. I thought of the road and my experiments with information hiding. What I felt and what I learned, and what Alexander was describing - are we talking about the same things? One more story from my research, again, an experiment, with another group of students. Again, they were divided into two groups. Again, two versions of the program, one "good" and one "bad." This time, they only performed the modification on one version but they had to complete the assignment in one session and couldn't leave until they had finished it. Once handed in, the good programs showed that the modification was performed but nothing else was touched. In the bad versions, many other changes were made, in addition to the required modification. I thought this was remarkable considering the time constraint. In some cases, the bad program had been completely redesigned.

I related this to my earlier experience - now they understand what information hiding is all about but I wanted to add something else. I felt that the students were reacting to something in the good program. They saw that it was good -- and they left it alone. They saw the bad program and felt compelled to improve it. All of us who have written software have this in us, some residue from an engineering background: we try to make the world a better place. Could I call whatever they were reacting to that singular quality without a name?

I agree with Richard Gabriel when he talks about information hiding and software "habitability," saying:

"Habitability is one of the most important characteristics of software. It enables developers to live comfortably in and repair or modify code and design."

I think those of us who have spent any time walking around in masses of code, can hold this up as a concrete, worthwhile, objective goal. If Alexander were working as a programmer, he would probably respond to this goal as a close relative of the quality without a name or wholeness. As Gabriel describes it:

"What is important is that it be easy for programmers to come up to speed with the code, to be able to navigate through it effectively, to be able to understand what changes to make, and to be able to make them safely and correctly."

That's exactly what happened. The students working with good programs, got in, performed the required modification, and got out. It was easy and I think they felt good about it. The students working with the bad programs, wandered around, performed modifications of all sorts, trying to improve the bad design, and in many cases, made things worse. It can't have been very satisfying.

After the experiments, I applied my information hiding metric to the Ada software I described at the beginning of this article. You're probably thinking that it was a good program and that the modules had perfect scores for information hiding. The answer is, interestingly enough, they didn't. Some of the modules or packages were good and some were not so good. But when the behavior of the entire program was examined, each module was treated by the rest as though it were perfect. Even though some interfaces were not minimal, for instance, the program never took advantage of that and instead played by the rules, refusing to touch global data or violate information hiding. This isn't a good way to design, of course, it leaves the program open to maintainers who might decide it's easier to break the rules -- since it is possible to do so -- and use global data directly instead of calling an access operation. But, even though I was just learning the language and just learning about design, I didn't do those things, I left the good intentions intact, instinctively, I suppose. I just left it alone.

On Not Being Afraid

Here are some things Richard Gabriel says about software that possesses Alexander's quality without a name [Gabriel96].

"Its modules and abstractions are not too big if they were too big, their size and inflexibility would have created forces that would overgovern the overall structure of the software; every module, function, class, and abstraction is small and named so that I know what it is without looking at its implementation.

If I look at any small part of it, I can see what is going on, I don't need to refer to other parts to understand what something is doing. This tells me that the abstractions make sense for themselves -- they are whole.

If I look at any large part in overview, I can see what is going on, I don't need to know all the details to get it.

Everything about it seems familiar.

I can imagine changing it, adding some functionality.

I am not afraid of it, I will remember it."

As I read through this list, I thought back to my maintenance assignment, where I sat on the floor, wondering why things were so easy. You are right, Dick Gabriel. The things in your list hold true - I was not afraid of it and I will always remember it.

I kept wondering, throughout Alexander's speech, how people around me were reacting. I realized that Alexander was a building architect addressing nearly 3000 software developers. These people were typically from some kind of engineering background, what were they thinking about all this talk of wholeness and living structure? At the end of the speech, I was surprised and thrilled to see that people were standing all around me, applauding. I can't recall another standing ovation at OOPSLA! No wonder I enjoy working with software people! They are smart; they work hard; they care about what they do. They care about how their software affects the lives of others, whether they are end users or maintainers. They care about making products that have the quality without a name.

We walked thoughtfully out of the ballroom, down the hall to the book displays. I stood in line for an autograph. When I finally reached the head of the line, I told Alexander my story and asked him if the students who left the good programs unchanged were perhaps responding to a feeling of wholeness in the design. He smiled broadly and said, "I like it!" He could understand both the engineering compulsion to make improvements and the reaction of a designer to something good, the developer's decision to leave it alone. Maybe building architecture and software architecture do share some measurable qualities of wholeness. Maybe they can both have the quality without a name. I'd like to think so.

References

1. [Alexander77] C.A. Alexander, et al, A Pattern Language. Oxford University Press, New York: 1977. 2. [Alexander79] C.A. Alexander, The Timeless Way of Building. Oxford University Press, New York: 1979. 3. [Gabriel96] R.P. Gabriel, Patterns of Software. Oxford University Press, New York: 1996. 4. [Lea94] Doug Lea, "Christopher Alexander: An Introduction for Object- Oriented Designers," Software Engineering Notes, Vol. 19, No. 1, pp. 39- 46. 5. [Parnas72] D.L. Parnas, "On the Criteria to be Used in Decomposing Systems into Modules," CACM, Vol. 15, No. 12, December 1972, pp. 1053-1058. 6. [Rising89] L. Rising, "Removing the Emphasis on Coding in a Course on Software Engineering," SIGCSE Bulletin, Vol. 21, No. 1, 1989, pp. 185- 189. 7. [Rising93] L.S. Rising and F.W. Calliss, "An Experiment Investigating the Effect of Information Hiding on Maintainability," 12th Ann. Int. Phoenix Conference on Computers and Communication, March 1993, pp. 510- 516.

"The Road, Christopher Alexander, and Good Software Design" appeared in Object magazine, March 1997, pp. 47-50.

INFLUENCE ON INFORMATION STRUCTURES AND ORGANIZATIONS

Some computer scientists have taken Alexander's ideas beyond their initial application to the internal organization of computer programs, into the software development process itself. Alexander's results are entirely general, and also apply to the internal structure of organizations and corporations. This is a very exciting development in business. Such an innovative (and entirely logical) application of Alexander's results points to a new approach for organizations in the commercial and government sectors. An Alexandrine analysis and application of organizational patterns could redesign corporations. This work may be followed on several web sites:

James Coplien's A Generative Development-Process Pattern Language provides a blueprint for the design of software organizations. This is a major, carefully thought- out, and detailed work. A paper version of this article appears as Chapter 13 of Pattern Languages of Program Design, Edited by J. O. Coplien and D. C. Schmidt, Addison- Wesley, Reading, Massachusetts, 1995. Coplien continues to write very interesting articles, such as Idioms and Patterns as Architectural Literature, detailing the application of patterns to software, and their extension to other fields beyond. Many of those patterns, originally derived from software organizations, do in fact scale up to larger, more general organizations. The next step, towards a complete redesign of corporations, is being taken by Coplien, as well as by other authors.

 Mike Beedle has been writing a pattern language for enterprise architectures.  M G Taylor Corporation is investigating how patterns can help to reorganize corporations. They are offering commercially a general pattern language for efficient organizations (unfortunately, the details are proprietary).  Nick Laudato explains how organizations and information flow can be optimized by applying Alexander's ideas.  Several people in the patterns community (including Mike Beedle and Jim Coplien) have started to work on a project to combine existing organizational pattern languages into a single common pattern language.

What is not widely known is how some of the most exciting new developments in organizational ideas today -- such as the best-selling "quantum management", systems thinking, and the "self-organizing corporation" -- are already implicitly included in Alexander's work. Moreover, they are evolved far beyond their original application. Although not written with business applications in mind, the Pattern Language and The Nature of Order may well become essential reading for managers in the new millennium.

Idioms and Patterns as Architectural Literature

IEEE Software Special Issue on Objects, Patterns, and Architectures, January, 1997

by James O. Coplien, Bell Laboratories ILL650 1G341 1000 East Warrenville Road Naperville, IL 60566 USA (630) 713-5384; FAX (630) 713-4982 [email protected]

©1996 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Abstract

Some people assume that software patterns are primarily about objects or component interconnection schemes, and thereby fail to reap their benefits. To understand the potential of patterns and how to apply them, it is helpful to understand the history of patterns, their relationship to objects and language-specific idioms of object-oriented programming, and to the broader stage of software architecture. Patterns not only support object-oriented design and architecture, they are reaching out into areas far beyond the structure of software, such as the software development organization, markets, and software usability. But a true understanding of software architecture must include these facets as well, so patterns truly support the whole of sotware architecture.

Keywords: idiom, systems engineering, multi-paradigm design, anthropology, process, business process re-engineering, structure

Introduction

Patterns have achieved the status as a must-have or must-do both in object-oriented circles and among software architects. Though a few foresighted software folks have had Alexander on their bookshelf for 15 years or more, it is only recently that I've found a table full of his books at a software conference. Patterns are here with a vengeance, and most programmers will tell you that we have objects to thank for it.

There are strong parallels between Alexander's patterns of building architecture and our own object patterns. Alexander strove to use software for semi-automated urban design in his early work. He built tools to lower the cognitive load of design by exploring large design spaces on behalf of the architect.[Notes] Patterns were in part a reaction to the shortcomings of this approach.

Software design has traversed a similar history. We, too, went through an era when we were fascinated with CASE tools and the prospects of automating the design process. With or without CASE tools, early adopters of the object paradigm focused on the "find-the-objects" exercise, deferring or forever losing the system perspective of interactions between classes or objects.

Though much of the value of patterns comes from their contribution to a sound foundation of design literature, a good deal of it lies in their non-object-oriented nature. More specifically, patterns are constrained by the rules of no single paradigm, which leaves them free to describe the incredibly rich structures of increasingly complex software systems. This, to me, is what most distinguishes patterns from most other contemporary software design. Alexander found that patterns helped him express design in terms of the relationships between the parts of a house, and the rules to transform those relationships. That is a much different focus than a method that builds houses from pre-designed modules. Unveiling structures

So it is with software patterns: they are not just another way to capture legacy knowledge, but they capture legacy knowledge that is operative at the system level, above the component level. Patterns have given us a vocabulary to talk about structures larger than modules, procedures, or objects, structures that outstrip the vocabularies of the sound object design methods that have served us for the past decade. Many of these structures aren't new; a few people have known them for decades. Patterns bring these techniques, and a vocabulary to talk about them, to the everyday programmer.

This perspective is crucial to any operative definition of (software) architecture. Traditional software architecture focused on parts of a system in isolation, with each one defined in terms of its internal structure and external interfaces. While these interface definitions capture the formal behavior of system parts, the behavior of the system as a whole is richer than the sum of its parts. Architecture captures and articulates the larger picture, the relationships as well as the parts.

Patterns--at least, as Alexander posed them, and as many are practicing them in software--focus directly on this issue. While I don't believe the pattern discipline is or should follow Alexander slavishly, analogies to many of his building architecture principles strike home. Consider this excerpt from Timeless Way of Building:

Design is often thought of as a process of synthesis, a process of putting together things, a process of combination.

According to this view, a whole is created by putting together parts. The parts come first: and the form of the whole comes second.

But it is impossible to form anything which has the character of nature by adding preformed parts.

When parts are modular and made before the whole, by definition then, they are identical, and it is impossible for every part to be unique, according to its position in the whole.[Timeles1] Misused and misunderstood

Yet people have difficulty letting go of old ways. Pattern papers submitted to (and occasionally, published by) software conferences and journals too often are CASE or object sheep in pattern clothing. The literature describes tools that automatically "instantiate patterns," i.e., by assembling preformed parts. "Why will patterns fail," "Patterns: Cult to Culture" and similar panels are making the popular software conference scene. As with any new technique, patterns have tremendous potential for abuse and misinterpretation. In fact, this problem is not unique to patterns, but is symptomatic of much contemporary software literature: design, architecture, process and programming are understood only as disconnected concerns. Today's programmer can better appreciate patterns through the eyes of history, and by studying the relationship between patterns, objects, and architecture. Such a perspective can take us beyond objects and beyond paradigm to attack the central problems of contemporary software development. This article offers my perspective on that history, and a vision of where patterns could have their greatest value in the future. Patterns: beyond objets

Their most important contemporary value is that they complement existing design methods, solving problems that are often beyond the reach of those methods. They help a large body of programmers to gain competence, and sometimes excellence, in object- oriented programming and design, using micro-architectures such as those published in Design Patterns[GOF]. Patterns are also reaching to broader abstractions at the framework level, where the designer must often mix the object paradigm with other paradigms: Patterns take us beyond objects. Patterns: beyond architeture

Patterns are just starting to make inroads into areas beyond software design. Teaching, organization and process, and other areas have growing bodies of pattern literature. Structures, skills, and patterns of behavior from these domains are as important to the success of a software product as are any of the software patterns: Patterns take us beyond architecture. Patterns: back to a holistic approach

If we really take seriously the term "system" in "software system," we must consider facets of software development that range from technological to humanistic. It isn't that we need to forge new relationships between these perspectives, but to recognize and manage the relationships that have been there, beneath the surface, all along. These considerations combined form a structure, an architecture, much as Alexander's urban planning patterns have both structural and human components. Alexander consciously brought all these components into his pattern languages. At this degree of integration, we can aspire to the ideals of classic architecture, as we find in Vitruvius's durability, utility, and aesthetics.[Vitruv] The software community will also approach this threshold of integration, which truly puts objects, architecture, and patterns in their proper perspective: patterns bring us back to a more holistic view of architecture. Beyond Objects

Alexander's A Pattern Language has been around for almost 20 years: why has its influence taken root in the object paradigm? Part of it has to do with complexity: software problems, and the solutions to address them, are becoming exponentially more complex. While individual programmers could wrap their minds around most software problems 20 years ago, most of today's problems are larger than one person. Today's problems call for something bigger than objects, something that cuts across objects and ties them together into larger structures. Objects started people thinking abstractly; patterns can take us further than objects could. Limited Abstraction

Why are objects high on the complexity scale? It's because of their abstracting power. Under the procedural paradigm, we chunked hierarchies of procedures under some top- level procedure, using structured design techniques. The object paradigm supports hierarchies too (class hierarchies) but now we chunk several procedures at each level of the hierarchy. Also, the abstractions of the procedural paradigm were fairly concrete: we could look at a procedure call at compile time and tell where it would branch to at run time. In the object paradigm, even the procedure names are just abstractions-they might be bound to one of any number of functions at run time. These are the properties that distinguish the object paradigm from its siblings. These complexities show up as relationships:

 each "procedure" to its associated data  "procedure" names to multiple "procedures,  " classes to their parent and sibling classes.

Complexity shows up in these relationships and patterns thrive on capturing and articulating them. Relationship Focus

Before Alexander pioneered his pattern-based design approach, he used tools to arrange the "objects" of his domain--rooms, windows, walls--to fit a specification.[Notes] One can speculate that one reason Alexander moved away from this approach and toward patterns is that the solution focused on the "objects" in the final solution, rather than the structure of the solution itself: the relationships between the objects. To study relationships is to study systems, and we find patterns in the structure of system relationships. Good and bad relationships are respectively the strength and downfall of all systems: architectural, social, economic and software.

The importance of focusing on relationships was recognized, but not widely subscribed, even in the early days of the popularization of the object paradigm. Advanced C++ Programming Styles and Idioms[Coplien] captured object relationships that are important to accomplished C++ programmers. The book's idioms captured the practices of expert C+ + programmers of the time (that is, of the early creators and adopters of the language). These practices solved problems encountered by most inexpert C++ programmers as they struggled to master the language. By pointing out the idiomatic nuances of C++, Advanced C++ supplemented the basic literature of the time with the techniques necessary to exhibit competence, if not excellence. One can master a language only after its idioms become second nature. Most of these idioms captured interactions between objects, not just with finding the right objects.

Jim Waldo credits Advanced C++ as the foundational work behind software patterns in his 1995 UNIX Review.[Waldo] That's certainly a C++-centric view, but idioms figure prominently as one foundation of patterns in the object community. Most of the idioms in Advanced C++ were design rules that helped programmers use C++ as an even- more-object-oriented-programming language. Each object-oriented programming language lacks features available in others, and many hold some of these features to be fundamental to object-oriented programming. Multiple dispatch is one example, and one early idiom shows programmers the "right way" to fake multiple dispatch in C++. The idioms aren't in pattern form, but they provide a "solution to a problem in a context" (Alexander's straightforward definition of a pattern).

If one views idioms as proto-patterns then, yes, early patterns were very tightly tied to object-oriented design. But even then, the patterns addressed object and class relationships for specific design problems. These problems were the ones left unaddressed by object-oriented design methods and by fundamentals of the paradigm itself: multiple dispatch, reference counting and other memory management schemes, brokering, type promotion, and dozens of others. Such concerns sometimes reached beyond the object paradigm because they are low-level design considerations (true of many idioms), such as reference counting. But others, like multiple dispatch, needed patterns to map from the problem to the solution because they outstripped available methods. Most methods don't really explain the relationships between classes or between objects. In other words, the meaning of many relationships is left implicit, except for subtyping and containment, which obey well-defined conventions. (Even today, few design methods deal coherently with multiple dispatch.) Patterns underscore the meaning, the rationale, behind such relationships.

This body of knowledge generalized and broadened over time as the object paradigm and its idioms-and patterns-matured and became better understood. The Design Patterns[GOF] book acknowledges these early idioms as one influence on its authors (p. 357), though Design Patterns is organized around patterns while Advanced C++ is organized around language features. Designers can apply the Design Patterns material to most programming languages, while Advanced C++ focuses on one language. The literature explores the mapping between these two models in more detail.[Cope2] Mastery of the patterns of Design Patterns is perhaps the best measure of competency in the object paradigm, yet even the best methods rarely produce the structure captured by the design patterns. This is particularly true for patterns of dynamic behavior. Beyond idioms

Idioms--and later, design patterns--armed early C++ adopters with training that took them beyond curious inquiry to serious applications. But time and again, technological soundness alone did not win the day; process, organizational structure, politics, culture, personalities, and a host of other "outlying" factors figured heavily in the success of new techniques and tools. I decided to focus on these areas as I moved from development into Research, rising above the "details" of technology to address the fundamental problems of process.

Our studies of the organizational and process side of software development uncovered patterns there as well. Not only do sound software architectures exhibit the same, recurring patterns, but accomplished organizations likewise share patterns of organization and process. These patterns of software development process and organization cannot be separated from the patterns of architecture: an OO project can succeed only if supported with the right patterns from the human side.

I wrote my first process pattern (Buffalo Mountain[PLoPa] ) at the first Hillside workshop in August of 1993. Many authors have contributed to the body of organizational patterns since then, including Norm Kerth[Kerth] and Bruce Whitenack.[Whnack] At least one author has achieved the ultimate integration: in Steve Berczuk's pattern language,[Bercz] process and architecture patterns work together.

There is of course an abundance of earlier literature of this genre that did not enjoy the pattern label. Cultural anthropology has been studying patterns of relationship in organizations for the better part of a century, as have cultural observers dating back to Lao Tzu and beyond. Patterns provide an outlet for these time-honored world-views to once again be fashionable, and objects have been of the vehicles to usher patterns into the modern world. Patterns of Preservation

Patterns' biggest payoff may lie in capturing the great truths that are about to be lost to history, instead of focusing on pattern support for the best-funded buzzwords. At Bell Laboratories, we are mining the patterns of classic embedded systems to capture the core competencies of our businesses. Telecommunication system architectures have evolved over the past 40 years to the point where they are among the most reliable systems in the world. Why? We can trace availability and fault tolerance to patterns, and we have extracted those patterns from the minds of long-standing experts. These patterns are a fundamental component of emerging systems that face equally stringent requirements. Of the 150 or so patterns we've gathered, none are really object-oriented. [Becketal] [Mining] [PLoP96]

We have progressed a bit beyond our initial flirtations with patterns of object-oriented programming and design, into other design disciplines, and even into domains such as training and human enterprise organization. A wide spectrum of patterns lies beneath the code and practices of our recurring successes, waiting to be mined and woven into the emerging literature of good software practice. Patterns take us beyond objects into grander structures: perhaps, they take us beyond software architecture itself.

Beyond Software Architecture

Alexander's patterns emphasize the human element of environmental design; in fact, this is the prime focus of his patterns. Buildings don't "care" about their architectures; people do. Alexander saw his patterns as a way to free us from all method, and to surface the good practices we all draw from deep cultural roots. Patterns are mostly about people-and much less about houses, software, or design methods.

The human focus has two major components: utilitarian and aesthetic. On one hand, Alexander's patterns eschew aesthetics for its own sake, deferring to basic human comforts. This is an eminently practical point of view. But, on the other hand, many human needs transcend physical world models and touch on issues of sociology, psychology, and other soft sciences far from the comfortable realm of tangible, physical architecture. Alexander takes us squarely into these fields with patterns such as Wings of Light[PatLanga] and Structure Follows Social Spaces.[PatLangb] Humanizing Software

We face the same dilemma in software. In the age of "software factories" and repeatable software processes, modern software tries to distance itself from unreliable human beings. We try to capture (and sometimes formalize) software architecture. Most architecture documents still capture just APIs and data structures, missing the important nuances of relationships. And most architecture documents still pretend that architecture can be divorced from downstream design and implementation concerns, which runs counter to predominate empirical practice, particularly in successful development organizations.[PLoPa] And few architecture documents draw in issues of paradigm, process, expertise, organization, aesthetics, or even the obvious concern of long-term maintainability. Software is of, by, and for the people too, and few software development problems or solutions lack human overtones; to omit the human element is to miss the thrust of most interesting problems. Consider the following pattern from Richard Gabriel:[Gab]

Pattern: Simply Understood Code

...at the lowest levels of a program are chunks of code. These are the places that need to be understood to confidently make changes to a program, and ultimately understanding a program thoroughly requires understanding these chunks.

In many pieces of code the problem of disorientation is acute. People have no idea what each component of the code is for and they experience considerable mental stress as a result.

Suppose you are writing a chunk of code that is not so complex that it requires extensive documentation or else it is not central enough that the bother of writing such documentation is worth the effort, especially if the code is clear enough on its own. How should you approach writing this code?

People need to stare at code in order to understand it well enough to feel secure making changes to it. Spending time switching from window to window or scrolling up and down to see all the relevant portions of a code fragment takes attention away from understanding the code and gaining confidence to modify it.

People can more readily understand things that they can read in their natural text reading order; for Western culture this is generally left to right, top to bottom.

If code cannot be confidently understood, it will be accidentally broken.

Therefore, Arrange the important parts of the code so it fits on one page. Make that code understandable to a person reading it from top to bottom. Do not require the code to be repeatedly scanned in order to understand how data is used and how control moves about.

This pattern can be achieved by using the following patterns: Local Variables Defined and Used on One Page, which tries to keep local variables on one page; Assign Variables Once, which tries to minimize code scanning by having variables changed just once; Local Variables Re-assigned Above their Uses, which tries to make a variable's value apparent before its value is used while scanning from top to bottom; Make Loops Apparent, which helps people understand parts of a program that are non- linear while retaining the ability to scan them linearly; and Use Functions for Loops, which packages complex loop structure involving several state variables into chunks, each of which can be easily understood.

This pattern may portend more for long-range quality than many prima facie "architectural" principles, yet it is not object-oriented, and is hardly architectural. It is an intensely human pattern, woven together with words like "confidently," "stress," "secure," "culture," and "understand." It is intuitive because it speaks to our common human sense, but it is worth committing to literature because its precepts are so often ignored. Right-brain patterns

Some of our biggest pattern successes have come not from patterns of software architecture and design, but from patterns of organization and process. Such patterns help organizations see beyond themselves and develop a vision of what is possible. The organizational patterns in Chapter 13 of the PLoP[PLoPa] book helped the engineering organization of an established software company revitalize itself.[People]

The human aspect of patterns displaces most software engineers from their comfort zones. Few software engineers are tooled in experimental psychology or sociometric science; to them, these areas are mysterious, nameless black holes of nonsense. These are disciplines of the right brain, of emotion, and of the soul. They defy the left brain's attempts at quantification: for most of us, such Qualities thrive unnamed. Bean counters can (and do) ascribe numbers to these properties: cyclomatic complexity and function points for: "this feels complicated," for example. But such numbers are only shadows of the gut feelings of the intuitions of accomplished architects, and most metric systems don't know how to measure "good guts." We are finding that patterns can and do help us, both in software architecture[Becketal] and in (sometimes remarkable) organization changes.[People]

Architecture Restored

We have followed patterns beyond building architecture into objects, beyond software architecture into organizations. Are patterns intrinsically linked to "architecture"-this notion of the parts of a system and the relationships between them? If so, what are the architectural principles of an organization?

I believe that the answer is "yes," at least for an insightful definition of architecture that goes beyond enumeration of parts or interfaces. Even organizations have architecture; the phrase "process architecture" crept into the literature about a decade ago. In fact, "organizational architecture" is a refreshingly different perspective than the flowchart- like "development process."

Peter Sengé speaks of the patterns of structure of organizations. These patterns can be characterized by a small number of system archetypes, each one of which has a structure with opposing forces. It's not a purely Alexandrian formulation, but the similarity in patterns, structure, and forces is striking.[Sengé]

Even Gabriel's pattern on Simply Understood Code is curiously structural. It talks about system granularity from the human cognitive perspective-a crucial aspect of the abstraction structure of the system. If that isn't architecture, what is?

A system needn't be something huge or something containing computer hardware. And we don't need to limit ourselves to the most abstract meaningful view, either. Systems comprise smaller systems, each of which obeys its own set of patterns. Handle/body pairs are a system; model-view-controller is a system; so are client-server or a pair of half-objects with a protocol between them (each of these has been the topic of at least one noteworthy pattern). In his seminal book on systems engineering, Arthur Hall relates this about systems (in 1962, two years before Alexander's Notes on Synthesis of Form hit the bookshelves):

Of all the possible ways of defining the systems engineering function, the most significant and explicit is an operational one, which gives a description of the general pattern of work from formulation of a program of projects to completion of a specific project. For it is the pattern, more than anything else, which gives the function its essential structure and characteristics. Furthermore, there is more agreement about the pattern, and the detailed steps within it, than about any other aspect. Finally, and most important, experience shows that this mode of definition is the most useful to those who want to learn how to do systems engineering better.[Hall62] Hall understood the scope of system engineering to be very broad. His book contains chapters on communication problems, objectives of the value system, the psychological theory of value and the psychological aspects of synthesis. He recognized the limitations of an objective-based definition of system engineering because of the force of personal value judgments.[HallB] If patterns are about systems, they are about more than software, and certainly are about more than objects. A Conclusion

This article started with the early roots of patterns in Alexander's architecture, following their progress through the idioms of early object-oriented programming into design, software architecture, and at last into a wide variety of domains related to software development. Though early patterns focused on objects, they focused on those aspects of object-oriented structure that could not easily be regularized with a design method. Patterns of organization, training, and process went even further afield from method in the knowledge they captured. Yet, patterns at all these levels seem to apply to many phases of analysis, object-oriented design, programming, verification, and validation.

If patterns are not about objects, and they reach beyond software architecture, then what is a pattern? Most of this article has worked to explain the relationships that might exist between objects, patterns, and architecture. But since objects and architecture have fueled the hype many ascribe to patterns, patterns might best be served by a definition distanced from these influences. Such a perspective should be important both to the educator planting seeds in the designers' mind, and to the practitioner seeking more pragmatic ends.

To me, patterns are literature, but more than just documentation. They capture an important structure, a central idea, a key technique long known to expert practitioners. It can be an architectural structure, a process practice, or a marketing strategy. What ties this body of literature together is that all patterns solve problems. We can take inspiration from a primordial source:

These patterns in our minds are, more or less, mental images of the patterns in the world: they are abstract representations of the very morphological rules which define the patterns in the world.

However, in one respect they are very different. The patterns in the world merely exist. But the same patterns in our minds are dynamic. They have force. They are generative. They tell us what to do; they tell us how we shall, or may, generate them; and they tell us too, that under certain circumstances, we must create them.

Each pattern is a rule which describes what you have to do to generate the entity which it defines.[Timeles2]

System concerns and software architecture have too long received the short shrift. And too many people who have taken the 16-hour design method course feel they understand objects. These are both problems that will seriously hurt our craft, left unaddressed. If patterns produce literature that attacks the problems in these areas, then the alliances between patterns, objects and architecture will have served us well. We shouldn't lose sight of the goals, however: to serve human needs, to restore dignity to programming, and to add that nameless right-brain Quality to our outlook on software development and project management. Bibliography [Notes] Alexander, Christopher. Notes on Synthesis of Form. Cambridge, MA: Harvard University Press, ©1964.

[Timeles1] Alexander, Christopher. The Timeless Way of Building. New York: Oxford University Press, ©1979, p. 368.

[Vitruv] Vitruvius. The Ten Books of Architecture, translated by Morris Morgan. New York: Dover Publications, 1960.

[Coplien] Coplien, James. Advanced C++ Programming Styles and Idioms. Reading, MA: Addison-Wesley, ©1992.

[Waldo] Waldo, Jim. Minor Patterns. UNIX Review 13(4), 1995, pp. 79-82.

[GOF] Gamma, Erich, et al. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, ©1995.

[Cope2] Coplien, James O. The Column Without a Name: Patterns and idioms in circles, complex ellipses, and real bridges. C++ Report 7(4), May, 1995.

[PLoP1] Colien, James. A Development Process Generative Pattern Language. In Pattern Languages of Program Design, edited by J. O. Coplien and D. C. Schmidt, pp. 218-220.

[Kerth] Kerth, Norm. Caterpillar's Fate. In Pattern Languages of Program Design, op. cit.

[Berc] Berczuk, Steve. A Pattern Language for Ground Processing of Science Satellite Telemetry. Excerpted in "The column without a name: the human side of patterns," C+ + Report 8(1), January 1996.

[Mining] Coplien, James. The column without a name: Pattern Mining. C++ Report 7(8),October 1995. [PLoP96] Vlisside, John, et al., eds. Pattern Languages of Program Design -- 2. Reading, MA: Addison-Wesley, 1996.

[PatLanga] Alexander, Christopher, et al. A Pattern Language. New York: Oxford University Press, 1977, p. 529.

[PatLangb] Ibid, p. 940.

[Gab] Gabriel, Richard. Personal correspondence with the author; also appears in "The Column Without a Name: Software Development as Science, Art and Engineering," C+ + Report 7(6), July/August 1995.

[PLoPa] Coplien, James. A Development Process Generative Pattern Language," op. cit., pp. 183-238.

[People] Coplien, James. The column without a name: the human side of patterns. C++ Report 8(1), January, 1996.

[Becketal] Beck, Kent, et al. Industrial experience with design patterns. Proceedings of ICSE-18 -- 1996 Los Alamitos, California: IEEE Computer Society Press,pp. 103-114.

[Senge] Senge, Peter. The fifth discipline. New York: Doubleday, ©1990, Chapter 6.

[Hall] Hall, Arthur D. A Methodology for System Engineering. Princeton, NJ: Van Nostrand, ©1962, Section 1.4.6, p. 11.

[HallB] Hall, op. cit., Section 1.5, p. 11.

[Timeles2] Alexander, Christopher. The Timeless Way of Building, op. cit., pp. 181-182.

INFLUENCE ON ORIENTAL CARPET STUDIES

The rules for putting matter together to form a building are universal, and apply to all man-made objects. In particular, they apply to two-dimensional designs such as paintings and textile patterns. The simplification of having only two dimensions and a single material (knots of wool) makes carpets an interesting application of the rules for organized complexity. Alexander establishes the connection between architectural design and Oriental Carpets in his fascinating book: A Foreshadowing of 21st Century Art: The Color and Geometry of Very Early Turkish Carpets (New York: Oxford University Press, 1993). The point is that he has obtained insight into architectural design from very early carpets (15th century and earlier).

Alexander's carpet book is of immediate interest to architects, even those who are not particularly interested in oriental carpets. The reason is that the first section summarizes results that form the core of the The Nature of Order, whose publication has been delayed. Here, the "Fifteen Fundamental Properties" and the "Field of Centers" are outlined (if only very briefly). Carpets as examples of human creations that have some measure of "life" are discussed in the following articles:

1. Christopher Alexander, "A New Way of Looking", HALI: The International Magazine of Antique Carpet and Textile Art 56 (1991): pages 115-125. 2. Nikos A. Salingaros, "In Defense of Alexander", HALI: The International Magazine of Antique Carpet and Textile Art 78 (1994): pages 67-69. 3. Nikos A. Salingaros, "The Life of a Carpet: An Application of the Alexander Rules", paper presented at the 8th International Conference on Oriental Carpets. Oriental Carpet and Textile Studies V, 1999.

This work is generating a considerable amount of controversy in the oriental carpet community. Some people are disturbed that a mathematical theory can successfully measure the degree of "life" in a carpet. But that is precisely what happens, and the results agree to a remarkable extent with our deepest intuitions. Also, the very use of the word "life" is misunderstood -- it represents design steps that are taken to achieve a coherent design. The same steps are followed whenever organic forms develop. Life in a man-made object is achieved by following the same rules (though in a vastly more intricate setting) that nature follows in creating biological life. The direction is the same, and that is the beauty of the theoretical result.

Christopher Alexander has put together a collection of very early Turkish carpets in which he finds a large degree of life. All the carpets are illustrated in his book, which serves as a catalog of the collection; and some of them appear in his article. His carpet collection was exhibited at the de Young Memorial Museum in San Francisco during the 6th International Conference on Oriental Carpets, 1990. Many persons who attended this show described it as a very moving experience. Even those in the Oriental Carpet community who disagree with Alexander's analytic approach to carpet designs praise him for being among the first to see the extraordinary power of Seljuk and other very early carpets, and for having the courage to collect them.

IN DEFENSE OF ALEXANDER, by Nikos A. Salingaros

HALI: The International Magazine of Antique Carpet and Textile Art, volume 78 (1995), pages 67-69.

Nikos A. Salingaros, a professor of mathematics at the University of Texas at San Antonio, is both an artist and a scientist. As a HALI reader who has followed the work of Christopher Alexander for the last fifteen years, he believes that Ian Bennett's recent review of A Foreshadowing of 21st Century Art failed to address Alexander's central contribution -- the provision of "a set of tools to judge beauty". In this riposte he argues for the value of Alexander's analysis, and offers an example of the manner in which it can be applied to any art object, in this instance, a standard Tekke Turkoman ensi. Ian Bennett, in his review of Christopher Alexander's book A Foreshadowing of 21st Century Art (HALI 74, pp. 87-95) concentrates mainly on his many technical disagreements with Alexander; while these concerns are important to oriental carpet enthusiasts, they drew attention away from other very interesting topics. The review in question missed, in my opinion, Alexander's central contribution: a set of tools to judge beauty. These can enhance one's appreciation of art and its relation to life in general. For this reason, his book should be read by a wide variety of people interested in what makes things beautiful and alive.

Professor Alexander connects geometrical patterns with aspects of physical reality. Although hinted at many times in the past by other authors, never to my knowledge has an explicit result appeared. Alexander provides a solid connection that links design and the visual environment on the one hand, with beauty and living forms on the other. The art historian Professor Oleg Grabar posed the central problem of recognition in art: "What makes us recognize or identify a bird, a fish, writing, or a leaf, when what we see does not bear any real resemblance to what we call it?" [The Mediation of Ornament, Princeton University Press, 1992]. Art historians have discussed this question for many years without coming up with a precise answer. Alexander has obtained a solution following his long study of oriental rugs.

Although it might at first appear to be a separate issue, this question also relates to how one can quantify beauty. A friend, who is a Zen Master, oriental art scholar, and past rug dealer, said immediately that one should leave such questions alone, and not try to analyze what quantitative features make one fall in love with a beautiful carpet. "It just happens; and you know when it does -- it is somehow improper to ask why it happens and to try to analyze it".

Alexander has probed into this 'forbidden' topic because he is an architect, and wants to make beautiful buildings. He has, not surprisingly, discovered that in order to make beautiful buildings, you have to know how to make beautiful objects of whatever size. Further, he has discovered rules for making beautiful things from studying the patterns on very old carpets. These rules are universal, and they help to make anything beautiful, from a doll to an apartment complex.

This result is entirely independent from its source, which is the old carpets. Alexander outlines the rules for making beautiful things in the first quarter of his book. The basic building block of any design he calls a 'center'. This is a perceptible region of coherent space. For example, a dot in the center of a page holds the page together; also a circle or square in a page (although not necessarily in the middle of a pattern). Adjoining and overlapping centers can either reinforce each other, or detract from, each other, and they do not need to be symmetric. Centers also interact at a distance. The best patterns or designs are simply those which can be decomposed into the maximum number of mutually reinforcing centers.

Alexander illustrates this process by reference to the carpet designs, using sketches that isolate the various centers. For example, the 'small pattern Holbein', has hundreds of different centers, all densely packed. Even a superficially simple design, if it evokes profound feeling, turns out to contain an enormous number of mutually reinforcing centers. Of course, one does not ordinarily decompose a carpet into its 'field of centers' in order to judge how attractive it is. It happens, however, that in side-by-side comparisons of two carpets (or any other similar objects), the one with the more intense field of centers is invariably the one which is most attractive to most people.

Alexander also introduces another novelty that is very useful in practice. He compares any two objects, and asks which of the two most resembles one's own inner self -- one's character or one's soul. Usually, there is a clear choice, and the one chosen is that which contains the most intense field of centers. This 'mirror of the self' test makes use of basic instincts that humans already have about the field of centers. Showing two similar rugs to novices and asking them to choose according to the 'mirror of the self' test, they usually choose the most valuable one. Amazingly, they may prefer the brighter colors or thicker wool pile of the other, but are nevertheless forced to choose the one that most resembles their conception of self.

There is a further and inescapable conclusion. If one constructs inanimate objects with a very intense field of centers, they begin to resemble living things. This result is surprising. If one applies the field of centers analysis to any living object, animal or plant, then one is overwhelmed by its intensity. Therefore, the rules for creating beautiful things lead to inanimate objects that have the subconscious feeling of living things, without necessarily looking like any living thing at all. And here is the answer to Oleg Grabar's question on representation via abstract forms. An abstract drawing by a master (who intuitively creates a dense field of centers) can convey more of the essential sense of a living thing than a photograph.

Mr. Bennett implies that Alexander's theory of centers and internal unity is somehow already contained in European art historical writing. I cannot agree. Contemporary art and architecture contain almost none of the beauty that is found in old carpets: this is what drives the antiques market, as well as subscriptions to HALI. People just don't know how to make beautiful objects anymore, having absorbed during their education rules that guarantee ugliness. In the very same issue of HALI, there is a picture of the incredibly ugly new exposition hall of the Österreichisches Museum für angewandte Kunst in Vienna. This was created according to the aesthetic canons of today, and will probably even win an architectural prize. In order to prevent such monstrosities, and to perpetuate the beauty that we (the readers of HALI) see in carpets, then Alexander's conclusions should be given their proper due.

Finally, I don't know where Mr. Bennett got the idea that Alexander's rules fail to apply to carpets outside the present collection -- that is simply not true. The aesthetic rules apply to all things, and most certainly to all types of carpets. Alexander's personal preference for 'very early Turkish' carpets (because he finds in them the most intense field of centers) should not detract from the universal applicability of his rules. These rules illustrate unequivocally why carpets can indeed be great works of art.

ANALYSIS OF A TEKKE ENSI Tekke ensi, 19th century. Author's collection

The following analysis illustrates Alexander's theory of centers and internal unity in a 'standard' type of carpet, touching only on some of the most obvious points. While the rug in question is from Professor Salingaros' own collection, the specific analysis could apply to any ensi.

First and foremost, a hierarchy of scales exist in the ensi. If I measure the bases of clearly defined rectangles, I find dimensions that decrease roughly by factors of three. Starting from the width of the rug, which is 126cm, I have: 61, 18, 8, 3, 1, 0.4, down to 0.2cm for the line with a 1-knot width -- eight levels of scale in all. There is some element of design -- a center -- that focuses one's interest on each of these scales. 1. Six rectangular centers (below, a-f) are drawn to the same scale. The dimension of the base and the number of appearances for each are: a. 59.0 cm (x2), b. 17.5cm (x14), c. 9.2cm (x10), d. 8.5cm (x65), e. 6.4cm (x75), f. 6.0cm (x34).

Figure 1a

The Ensi contains centers that can be used as units. Some rectangular centers are shown in (1 a-f). They are all drawn the same size for comparison, and I have given the dimension of their base and their multiplicity, which is the number of times they appear in the carpet. Each center has an internal complexity and could be further decomposed into smaller centers. For example, (1b) and (1c) are subcenters of (1a). Figures 1b and 1c

Now there are two distinct ways in which the centers in (1) interact to produce internal cohesion in the carpet. First, each one of them repeats, as indicated by its multiplicity. A repeating pattern ties that space together. This happens not only for adjacent centers, but any two similar centers will link at a distance and establish a connection. Figures 1d and 1e

The second way to tie the space together is through similarity at different scales, a more subtle process. The rectangular centers in (1) have different dimensions but the same proportion, and they also have many structural similarities. These similarities connect all the different centers across scales, thus linking the different scales. This leads to internal cohesion. One could go on, noting how lines continue across adjacent but distinct centers and tie them on a larger scale, and so on. Figure 1f

Lastly, each element of the rug, and the rug itself, has a very wide border, of comparable size to what it surrounds. This is obvious for the big rectangles, yet is also true for all the smaller design elements. Unity is achieved because what is surrounding is connected to what is being surrounded. The object and its surroundings together form a larger center. Figure 2. the duality of an object and its background in three different pairs. In each, two opposite figures complement and give life to each other: one cannot tell which is the figure and which is the background.

The wide boundary concept is demonstrated in another way by the duality between an object and its surroundings. 'Duality' here denotes the complementarity of opposites that together form a balanced union -- male/female, yin/yang for example. In a good design there is no left-over space; no distinction between the pattern and its background. Paired examples are sketched in (2). Our analysis implies that the essence of a carpet lies in the degree to which it is internally cohesive.

The Alexander type of analysis can be used to judge whether one rug is better than another similar or dissimilar rug. A quantitative measure of beauty is really useful when it can be applied in comparing objects. For example, comparing other ensis to my own, we see some that are better, others worse, and this can indeed be explained by the comparative density of internal patterns.

 Contributions to Architecture  Salingaros Home Page  Oriental Carpet Studies Abstract

The greatest carpets project a very powerful presence. We analyze various design factors that contribute to this effect. Differentiating space on the smallest perceivable scale creates "life" in a carpet. This is activated through the process of coupling mutually contrasting elements, both in terms of color and geometry. A carpet's large- scale coherence depends on arranging the small-scale elements symmetrically, and defining complex elements that could themselves be decomposed into smaller elements. The same rules apply to all types of carpets, regardless of provenance or age.

INTRODUCTION

A great carpet from the Alexander or Kirchheim collections (Alexander, 1993; Kirchheim, Franses et al., 1993) transcends its materials and connects with the viewer in much the same way as would another living being. But what is it that gives "life" to a carpet? Lovers of old carpets instinctively know what is beautiful, yet many points in that assessment are only subconscious. The following discussion tries to raise such factors to a conscious level. By codifying the principles underlying the design of carpets, it may eventually be possible to compute the "life" of a carpet as a mathematical coefficient from the design.

Specific techniques for giving life to a carpet follow from as yet unpublished material (Alexander, 1998; Salingaros, 1997b; Salingaros, 1999), being a direct outgrowth of Christopher Alexander's theories (Alexander, 1991; Alexander, 1993). Subelements of a design (called "centers" by Alexander) will cohere together when there is a maximal degree of interaction and overlap. Achieving coherence can be reduced to a problem in maximizing the mathematical symmetries. The same rules apply to all types of carpets, regardless of provenance, age, or materials. These results can help new carpets recreate the life found in the best of the old carpets.

In order to grasp this highly complex process, we have to identify the different spatial scales in a design: from the very small scales near the knot size, through all the intermediate scales, up to the overall size of the piece. A carpet, like any design, works on several different levels at once, posing a well-defined problem in hierarchical ordering (Salingaros, 1997a). The small scale is defined by contrasts, directional forces, and alternation. The large scale requires relationships, harmony, and balance, and depends on matching similar patterns and shapes to tie the whole together (Salingaros, 1994).

THE IDEA OF "LIFE" IN INANIMATE OBJECTS

Before discussing specific results, it is advisable to clarify in what way the word "life" is used, and how it relates to biological life. Art historical discussions contain almost none of the results that Christopher Alexander has derived. There is no explanation of why a design can come close to mimicking biological life without copying an explicit organic form (Salingaros, 1994). Older treatises on Aesthetics (now discarded as unfashionable) do contain techniques that organize matter together. A reader, however, cannot extract general rules such as ours from those texts. We are only now beginning to understand the structural basis behind complex biological and inorganic forms, through the scientific theory of complexity. The fundamental principles are universal: the same rules apply to architecture, to carpets, and to computer programs. All these disciplines obey similar organizational rules. If the same rules apply to a man-made object such as a carpet, as to an organic form, then one may be justified in using the word "life" to denote whatever qualities one finds in common.

A scientific theory such as this has predictive value. For example, the human mind, when left to itself, will choose a scaling ratio that is close to the base of natural logarithms, e = 2.718. When the hierarchy of scales in great carpets is measured, the correlation is astonishing. This is the essence of the scientific method: one develops a theory, based either on observations, or some broad unifying principle, and then makes predictions. If these succeed, the theory is validated. Even a crude theory will eventually be revised to become more accurate.

OPPOSITES COUPLE TO CREATE NODES OF INTEREST

The life of a carpet originates in its details, and is established through connections. The idea comes from basic building blocks in physics. Matter is built out of pairs of elements with the opposite characteristics, bound to each other by strong forces on the microscopic scale (Salingaros, 1995). Whether we look at atomic nuclei, individual atoms, or crystal lattices, all matter obeys this rule on the smallest scale. Opposite elements lock together in pairs; they will actually neutralize if they are allowed to merge. Nature keeps them separated, yet next to each other in a dynamic tension.

The same principle activates a design. The coupling of balanced opposites brings a carpet to life. In some parts of a design, space must be differentiated at the smallest perceivable scale - the smallest size the eye can see - to define nodes of interest. For a carpet, that will be a line with a one-knot width, and elements the size of a few knots. Separation in either color or geometry generates a certain tension, a vibrancy, which is felt as the underlying life of a design (Figure 1). The local tensions, arranged carefully, will reinforce each other to form a coherent whole.

Figure 1. The local coupling of opposite design elements is illustrated in this 19th Century Kazak. The pairing of opposites on larger scales is a key in the design of the most impressive carpets. Every element, on every scale, must be paired to some element of roughly the same size and opposite characteristics. If there are two distinct types of field elements, they should be complementary opposites (Figure 2). A detailed element should contrast with a plainer element, often seen as merely an empty space; yet the best weavers shape that space so that it has its own coherence, and reinforces the adjoining elements (Alexander, 1993).

Figure 2. Complementary field elements of the same size are shown in a Khotan Rug, Eastern Turkestan, 19th Century.

DIFFERENTIATION IN TERMS OF COLOR

Opposite color qualities are juxtaposed in two different ways, creating tension in terms of color.

1. Color value. Contrast in gray scale value is independent of the color hue. An element stands out if it contrasts with its surroundings (dark next to light). Often, a darker or lighter outline is effective. Abrash - whether intentional, or the result of natural fading - is an example of a local contrast that makes a field color alive. The color values become obvious either in a black-and-white photograph, or by squinting so that the color hues diminish (Figure 3). 2. Color hue. The effect created by color hues is probably the overriding quality in a carpet, satisfying a fundamental emotional need for humans. A carpet's "life" is based on its materials and dyes, demanding colors that are by themselves intense and interesting enough to connect to the viewer. The color hue must be appealing down to the single knots. This is the secret of the great dyers of the past. As shown by the Impressionist painters, the perception of color is intensified by the juxtaposition of opposite color hues (anticipated much earlier in carpets). Design elements should try to distinguish themselves by having an opposite color hue from their background.

Figure 3. An octagonal medallion rug, Anatolia, 16th Century, illustrates separation and contrast in terms of color value.

Employing muted pastel colors to suggest an overall harmony usually diminishes a design. The desire to tone down vibrant colors caused some carpets to be destroyed by bleaching. The same ingredients that give life to a carpet make it harsh when they are unbalanced. Great carpets manage to achieve harmony by using the most striking local contrasts and richest colors. This is true when they are new and have bright colors, and many retain their original intensity today. If the colors fade naturally, the unity is usually preserved. The point is that harmony cannot be achieved at the expense of local contrast, because the life of a carpet is thereby lost. Mameluke carpets use contrast in color hue to great effect, without much contrast in color value. At the other extreme, Turkoman rugs use contrast in color value with very narrow changes in color hue. Both work. While the simplest method for bringing a color to life is to use its opposite (i.e., red next to green), this is by no means the only way. More sophisticated results depend on a three-way separation of gray - that is, the balanced use of three colors that would together mix as a gray. This produces the vibration seen in many good carpets.

DIFFERENTIATION IN TERMS OF GEOMETRY

It is necessary to differentiate space in terms of the geometry in order to create life. The aim is not actually to separate in the sense of isolating; it is to intensify the original area by dividing it up, then tying it together more intimately. This is illustrated by the old story of a bundle of thin sticks being stronger than a single thick stick - the modern principle behind fiberglass. An empty space is neutral, whereas small-scale differentiations establish connections between every internal part. We discuss two ways of dividing space.

Figure 4. Separation in terms of the geometry occurs in the interlocking border of a Yarkand rug, East Turkestan, 18th Century.

1. Complementary shapes. A line separates a plane into two areas that touch. An undulating curve couples convex regions to concave regions of roughly the same size - the more inflections, the stronger the connection. The best is when two complementary halves interlock, as in great border designs (Figure 4). The same principle governs the setting of a field element: the background should have a perceivable shape, just as the element does, and the two shapes ought to be complementary (the ancient Yin-Yang concept). In a good carpet, every element is supported by its background, so there are no left-over spaces (Alexander, 1993). 2. Directional balance. Angles define a sense of direction in a purely visual sense. We can separate an initially neutral region into angles in a way that all the newly-created latent forces are organized. Opposite forces are either balanced collinearly, or are paired into couples. This leads to X-shapes and diamonds for forces along a line; and Z-shapes for forces along different lines. The design is alive when there exist dynamic tensions, where the forces in one direction are complemented by an equal number of forces in the opposite direction. These forces create zig-zags, hooks, and paired triangles (Figure 5).

Figure 5. Balanced directional forces generated by angles are shown in a Star Kazak, Southwestern Caucasus, 19th Century.

The sense of movement created by a sharp angle is due to the gradient effect, which denotes the change of a quantity in a certain direction. An angle represents an element's diminishing size perpendicular to the direction of the angle's closure. Though superficially distinct, the same effect is created by a gradation of color, or a series of nested similar shapes of diminishing size. Local gradients in the design must be balanced by other gradients in the opposite direction. A carpet with many balanced gradients achieves an overall tension that is interpreted as one quality of "life".

A CARPET'S SMALLEST ELEMENTS

Differentiating space using color and geometry gives birth to the smallest elements (the elementary "centers" in Alexander's terminology) (Alexander, 1991; Alexander, 1993). The small-scale structure generates complexity, which is organized by tying everything together through symmetries - this is the process that leads to life. As in biological systems, the key is to organize the complexity generated by the smaller elements, without reducing it. The degree of life is proportional to both the number of nodes, and to the number of symmetries (Salingaros, 1997b).

Something that is simple is also symmetric, so the smallest building blocks should be symmetric. More complex shapes are going to be built from these, so we don't want the smallest elements to be complex themselves. We are left with a choice of elementary forms, such as triangles, diamonds, and squares, and their symmetric combinations. The smallest elements may exist separated, as in many tribal weavings made up of small elements in the field, or combined in sophisticated ways into larger wholes of increasing complexity.

A large space can be filled with small-scale elements by repeating them in an orderly or disorderly fashion. One consequence of differentiating space in the way described earlier is that contrasting elements will occur in pairs. If they are ordered, repeating elements will alternate, and this is seen in most carpets. Life in a repeating pattern is generated by alternation in both color and geometry. Two complementary elements alternate in a repetition, which multiplies the local contrasts through translational symmetry.

A carpet need not consist entirely of local contrasts and repetitions. Contrast on the intermediate and large scales rules out a busy pattern with overall small-scale elements. Large-scale contrast can occur only if there are plainer areas to balance those areas of very intense activity. A large area will couple with an area of comparable size but opposite characteristics, and so intense detail has to contrast with calm. A familiar example is the complex organized border of a Talish carpet contrasting with its plain field - the border is always about the same size as the field itself.

CREATING THE LARGE SCALE THROUGH SYMMETRIES

Every larger scale in design is defined through symmetries on all its different sub scales. The goal is to connect all points of the design through translational, rotational, reflectional, and scaling symmetries. The human mind perceives obvious symmetries - such as uniform scaling - instantly. More complex symmetries include conformal transformations, which describe stretching a design in one or more directions. The recognition of these in "uneven" village rugs provides intellectual interest and delight, as long as they are not overdone.

An intermediate scale element is either a combination of smaller elements, or it is an entirely new structure, whose details define smaller elements by themselves. Some carpets employ smaller elements as combinatorial units to create the intermediate and larger scales - there are no larger elements, only larger symmetries. In other carpets, totally new forms arise as one progresses to larger scales, yet each larger element could be envisioned as being fused together from many smaller elements. Here, the smaller components are not distinguished (Figure 6). Figure 6. The niche of a "Transylvanian" Carpet, Western Anatolia, 17th Century, is decomposed into several overlapping design elements.

A curvilinear design is successful to the extent that its details and symmetries are also well-defined. The "life" in a carpet without obvious details comes from its large-scale harmony. All of its elements must collaborate perfectly, while not drawing attention to themselves. The large-scale structure is supported by symmetries and connections on all scales, though many of these are not distinguishable - they are virtual components of larger forms. A great carpet with predominantly large-scale order (as for example the 16th Century Berlin saph on the cover of HALI 71 (1993)) depends on perfect balance between a large number of virtual elements.

A carpet with different forms on many scales has to link them together through similarity and alignment. Separated elements can have an obvious similarity of form or color, whether they are the same or different sizes. Special care is taken to relate the elements in a border to those in the field. An advanced technique is to scale an element up in size, then superimpose a totally distinct internal structure. The eye will still connect such elements because of their common symmetry, even though the similarity is not obvious.

SCALING HIERARCHY IN A DESIGN

A repeating element, or similar elements of the same size, will define a particular scale. Elements must be sharply defined for this to happen. A hierarchical relationship between the different scales relates a design to the structure of biological forms (Salingaros, 1997a). The scales themselves have to be clearly separated - not too close, and not too far apart in size (Alexander, 1998; Salingaros, 1995; Salingaros, 1999). The exponential constant e = 2.7 is proposed as an approximate working ratio between consecutive scales. The size of individual elements should increase roughly by a factor of 2 to 3. A factor of 1.5 is too small, whereas a factor of 7 is too large (Alexander, 1998).

Some carpets with a deceptively simple repetition turn out, on closer inspection, to satisfy the scaling hierarchy through a sophisticated technique of multiple alternation. A basic element repeats, but its copies are not identical: subtle differences link alternate elements together. Thus, a group of elements - with size between 2 and 3 times the smaller element - also repeats, and defines a new scale.

Although the discrete scaling hierarchy is one of the most important components of design, it is noticed only subconsciously. One needs to measure all the different elements in a design, and to see if they cluster into regular groups according to size. The clusters must define separated scales of the hierarchy (Salingaros, 1994; Salingaros, 1997a). There will be coincident scales of the same size, generated by contrasting elements. One should then check that the ratio between consecutive scales is not very different from 2.7 (Figure 7). Any departure from this will be perceived as unnatural, thus diminishing a carpet's life. Figure 7. The scaling hierarchy is illustrated in a Konya two-medallion carpet, 17th Century. We see five distinct levels of scale, with the same ratio approximately equal to 2.7 between successive scales. The scaling hierarchy is responsible for the most remarkable feature of a good carpet. Looking at any detail connects the viewer with a region on the size of a few knots; this then connects laterally with all similar and contrasting elements on the same scale, which are further connected vertically via the hierarchy onto all the successively higher scales. If the hierarchy works, a viewer will instantly connect to the whole carpet by picking any detail. Conversely, viewing the whole carpet connects a viewer to all one- knot details, if they are defined in the right way.

A CHECKLIST FOR CARPET DESIGNS

The points raised in this paper are collected in the following list, which should help in deciding on the merits of a carpet design, irrespective of provenance or date. Other, independent factors such as age, popularity, scarcity, and condition play a deciding role in determining the actual value of a carpet. Even though what is listed was originally part of the carpet-weaving tradition, it is argued in the final section that nothing can be taken for granted today. This list is meant to be helpful, and is certainly not exhaustive.

1. Does the carpet use a one-knot detail? If not, then it might work on some larger scale, but the smallest scale is being wasted. 2. Are the individual colors interesting in themselves, and are they juxtaposed so as to enhance each other? 3. Are the smallest elements defined sharply by using contrast in both color hue and gray scale value? 4. Are the smallest elements simple and symmetric in shape? (triangles, squares, and diamonds - no blobs) 5. Is every element coupled to a contrasting element of the same size that has complementary qualities? 6. Do intermediate and larger elements show the maximum number of internal sub symmetries? 7. Is every internally complex element balanced by a plainer surrounding space that itself has a coherent shape? 8. Is a random spacing of similar elements balanced by a regular, highly- structured region of about the same size ? 9. Do elements and interposed spaces of all sizes link to each other through similarity, symmetry, and scaling? 10. Do different elements have sizes that define a discrete hierarchy with ratio approximately 2.7 between consecutive levels?

There is some overlap in the rules. For example, numbers 5 and 7 together help to prevent an overall busyness in the design, by introducing a balance between plain and complex elements. This leads to a coupling in terms of opposite values of complexity, just as numbers 3 and 5 together lead to a coupling in terms of complementary shapes and colors. Both types of coupling can provide the essential rhythmic or "breathing" quality of a good carpet.

It is not necessary to follow all of these rules rigidly; indeed, some great carpets intentionally relax one of them. Nevertheless, those were created by master weavers who knew exactly what they were doing, whereas later weavers lost touch with that tradition. The above list is not complete, and represents a minimal set. The closer one wishes to approach the great carpets of the past, the deeper one must delve into the mathematical processes behind organized complexity. Just as there is a world of difference between an ugly contemporary rug and a well-loved 19th century one, there is even more between those and a Seljuk carpet.

The point we wish to make here is that all successful carpets satisfy at least nine of the above ten rules. This provides a common ground for understanding what makes a carpet "work", and also why some carpets with otherwise appealing qualities don't. Further research in this direction is likely to lead to quantitative estimates of how well each of the ten rules is satisfied. This would then allow a comparison between carpets, based on a purely mathematical measure.

In a poor carpet, the smallest elements are not symmetric, and appear as smudges in the design, having been copied from some better carpet and distorted in the process. They are not well differentiated in terms of color, being the wrong size for the knots and pile. In scaling an element up or down in size from another carpet, one needs to redefine its shape, outline, and internal symmetries so as to make it coherent at the new scale. In addition, many carpets are internally dismembered: individual elements, which themselves may be either well or poorly defined, are left disconnected, not relating to each other or to the whole (Salingaros, 1994).

THE PROPER USE OF RANDOMNESS

The role of randomness is probably the most misunderstood component in carpet design. Random colors and arrangements break both the hierarchy and the local symmetries, while their interaction generates higher harmonics that define smaller scales. Just like optical illusions, random spacings interfere in the visual field to create a wealth of virtual patterns on many smaller scales. This process is of more use on the small scales, where the spacing between scales is narrow. Randomness can alternatively be used to define a larger scale by coupling with ordered elements.

This is an excellent but difficult method for extending the scaling hierarchy downwards. One can start on a large or intermediate scale, and use abrash or floating elements to generate an accidental hierarchy in a monochromatic field. (By contrast, a perfectly uniform field color has no internal hierarchy). A random arrangement of elements must still fit into the scaling hierarchy. The only way to do this is with a wide, highly- structured border, which will couple with the random region to define an element of about twice the size as either the region or its border.

Figure 8. The balance between randomness and order is shown in a Khotan two- medallion carpet, East Turkestan, 18th Century. Twelve different border elements are arranged in a random ordering. A random color distribution, or the random spacing of equal-size elements, works very well when balanced by a regular field or border (Figure 8). A symmetric grid that has random colors - where each color is the same size and shape - is successful. On the other hand, randomness in size or shape reduces life by violating both the mathematical symmetry and the scaling hierarchy. In the case of abrash, variations in color may be randomly distributed in position, yet still respect the hierarchy and have translational symmetry. Abrash in poor carpets, by not using random spacings of controlled variation in hues, results in unsightly patches.

CONTEMPORARY INFLUENCES ON CARPET PRODUCTION

New carpets consistently violate the ten points given in the above checklist. While this is the result of weavers making careless mistakes, it reflects something far more profound that needs to be discussed. A carpet was, for many centuries, an essentially religious object (Alexander, 1993; Eskenazi, 1994; Kirchheim, Franses et al., 1993). During that time, man tried to mimic his own creator by capturing a certain life in inanimate matter: the results are seen in carpets, religious statues, and buildings. It is only in our time that carpets became secular, i.e., decorative. There is no longer any incentive to mimic life in objects since our society rejects the idea.

Carpets incorporate ancient design traditions whose goal is to create life - the same rules were used to build the great temples. Contemporary buildings, however, are based on the opposite rules from Classical, Byzantine, Islamic, and Far-Eastern architectures (Salingaros, 1995). Modernist and post-modernist design rules intentionally violate the organized complexity characteristic of all natural and living forms (Alexander, 1998; Salingaros, 1995; Salingaros, 1997b; Salingaros, 1999). The deterioration of carpet design started long ago, before any influence from contemporary design or architecture. The problem is that, in order to reintroduce life in man-made objects, we have to fight against the design rules taught in our schools.

Our society promotes the artificial and rejects the natural. This approach eschews differentiations of color and geometry. We have been conditioned to prefer a dead gray to rich, spiritual colors; to accept the unnatural machine aesthetic of reflective metal surfaces, and turn away from sensuous textures. Uniformity loses the contrasts that define the basic units. Without the interplay of color and geometry on the small scales, life cannot be generated. In addition, simplistic machine precision has replaced the incredibly complex structural precision of biological forms. Older, successful village rugs have a relaxed freedom, but pay strict attention to the connections.

Carpet lovers who also like contemporary design have to maintain two opposite aesthetics in separate parts of their consciousness. This is terribly frustrating, and most people have not caught on to the fundamental incompatibility. Some prefer Gabbeh carpets because they believe them (incorrectly) to reflect a plain modernist aesthetic. That is a misconception, however, since all carpets come alive from the rules outlined here. The life of even the plainest Gabbeh arises from contrasts such as the speckled non-uniformity of the field; from scaling; and from complex sub symmetries.

CONCLUSION

The "life" of a carpet arises from its elements: how they are defined, and how they are combined. The smallest details in the design should be simple and symmetric, defined by contrasting colors and shapes. Smaller elements are then combined in ways that enhance the more complex elements making up the carpet. The foundation for a good carpet involves maximizing the number of sub symmetries on the large scale. The final product lives only if all the elements, on all scales, are successfully combined into a coherent whole. Applying the rules derived in this paper can make the process of judging a carpet less of a mystery.

We can rank-order similar carpets in terms of their degree of "life". This reflects how well their weavers understood what makes a carpet work. Such an ordering is not necessarily chronological, as design elements have continuously evolved and transformed, with varying degrees of success. What matters is how an element fits into and enhances the life of a carpet, not how accurately it is copied from another carpet. The changes necessary to make a design element work in a new and different context drive the transformation of motifs. One may also compare two entirely dissimilar carpets using the same criteria. Hopefully, this approach will help to raise the success rate in new carpet production, which is usually a hit or miss affair.

Acknowledgements: I wish to thank Basil Scaljon for his helpful comments and suggestions. John Eskenazi has kindly allowed the use of his carpets for the illustrations. Jill Tilden asked one or two penetrating questions, which are now answered in the revision.

REFERENCES

 Alexander, C. (1991) A New Way of Looking. HALI: The International Magazine of Antique Carpet and Textile Art 56 115-125.  Alexander, C. (1993) A Foreshadowing of 21st Century Art. New York: Oxford University Press.  Alexander, C. (1998) The Nature of Order. New York: Oxford University Press. (in press)  Eskenazi, J. (1994) Weaving as Liturgy. HALI: The International Magazine of Antique Carpet and Textile Art 74 81-85.  Kirchheim, H., Franses, M., Spuhler, F., Muse, G., Rageth, J. and Herrmann, E. (1993) Orient Stars: A Carpet Collection. Stuttgart & London: E. H. Kirchheim & Hali Publications.  Salingaros, N. A. (1994) In Defense of Alexander. HALI: The International Magazine of Antique Carpet and Textile Art 78 67-69.  Salingaros, N. A. (1995) The Laws of Architecture from a Physicist's Perspective. Physics Essays 8 638-643.  Salingaros, N. A. (1997a) Inca Period Textile. HALI: The International Magazine of Antique Carpet and Textile Art 91 164-165.  Salingaros, N. A. (1997b) Life and Complexity in Architecture From a Thermodynamic Analogy. Physics Essays 10 165-173.  Salingaros, N. A. (1999) A Scientific Basis for Creating Architectural Forms. Journal of Architectural and Planning Research 16 (to appear).

PHILOSOPHICAL CONTRIBUTIONS

Alexander's architectural writings at the same time develop a philosophy of nature and life. He proposes a more profound connection between nature and the human mind than is presently allowed either in science, or in architecture. Alexander sees the universe as a coherent whole, encompassing feelings as well as inanimate matter. This strongly Taoist viewpoint was first developed in his book The Timeless Way of Building (New York: Oxford University Press, 1979). To some readers, this is a book on architecture written in a philosophical style; to many others, it is a book on philosophy with architectural examples. A large number of people have embraced the philosophy of the Timeless Way of Building, finding in it universal truths on how man interacts with the world. Brief extracts from the Timeless Way are posted by Heather Duggan. Towards the end of his life, the philosopher and teacher J. J. Krishnamurti enjoyed having sections from the Timeless Way read to him each evening.

In both the Timeless Way and the Pattern Language, there are sections of text in which the language itself assumes a peculiarly imprecise, poetic quality. It is exactly at those instances, when Alexander the mathematician appears to be abandoning his customary precision, that Alexander the philosopher is communicating on an entirely different and more fundamentally emotional level. The unconventional syntax he employs is merely a means of conveying deeper philosophical meanings. (It helps to read those passages aloud). Some people readily find a spiritual content in his works. From such people, who may be otherwise indifferent to either architecture, or computer science, Alexander has won a deep and lasting respect.

Many of the patterns in the Pattern Language provide guiding points for Alexander's philosophy. There is an emphasis throughout on the potential of the individual; the importance of a spiritual connection to the built world; the need for cooperation among people; the empowerment of individuals or small groups of people to shape their environment. All of this is elaborated further in the forthcoming The Nature of Order, and has far-reaching social and political implications which may be alarming to some and inspiring to others.

Alexander insists that his philosophy is inseparable from his architectural theories. This point worries architects used to doing things in a certain way, as it does potential clients who think conservatively. Some of Alexander's staunchest supporters argue that, in order to facilitate their adoption, his architectural method ought to be decoupled from the accompanying philosophy. After all, in an imperfect world, every architectural project represents a series of compromises. Alexander warns against a superficial application of his method that misses the fundamental point. He has stressed repeatedly in his writings that achieving coherence between built forms and people has to be accompanied by changes in our basic outlook.