Commentary on Alexander
From WikEd
Commentary from Tony Hursh on A City is Not a Tree by Christopher Alexander.
Original article available at the author's web site (some images are not working) or at this archive location '
Historical Context
Alexander wrote this article in reaction to the then-prevailing theories of urban planning. The city designers of the time wanted to eliminate the (very real) problems that they saw with the existing organically-formed cities - dirt, noise, old buildings that were essentially firetraps. Their solution was to separate the functions of the city. Alexander pointed out that this poses a risk of disconnection and alienation (Jane Jacobs was another prominent critic of this school of urban planning).
Examples of the type of urban planning that Alexander and Jacobs didn't like:
- Cookie-cutter suburbs
- Megascale public housing projects
Terminology
While Alexander discusses his models from a set theoretic standpoint, it's more usual to analyze trees using graph theory (the two approaches are equivalent, but a graph theoretic discussion is more visual, and may make the topic more accessible to those who haven't studied the field).
In the graph above, the circles are called "vertices" or "nodes" and the lines are called "edges".
In graph theory, a tree can be defined using any one of several equivalent definitions. Probably the simplest definition is that a tree is a connected, acyclic graph. "Connected" means that there is a path from any node to any other node. "Acyclic" informally means that there are no cycles, or loops. An equivalent definition is that a tree is a graph in which there is exactly one path from any vertex to any other vertex. If there are vertices that aren't joined by a path, the graph is disconnected (and thus not a tree). If there is more than one path between two vertices, that means that there's a loop (cycle) somewhere in the graph (and thus the graph is not a tree).
If each portion of a disconnected graph is a tree, then the graph is a forest.
If one vertex of the graph is "special" (e.g., considered the starting point), that vertex is called the root of the tree.
If the edges of the graph are directional (like one-way streets), then the graph is called a directed graph or digraph. In that case, the edges are sometimes called arcs.
Things that are trees, or that can easily be represented with trees:
- A family tree (if you don't go back too many generations -- everyone is at least a 50th cousin... most of us are much closer than that).
- An alphabetical list.
- A naive voice mail system.
- An old-style library card catalog (actually these were forests, because they had separate subject trees, author trees, and title trees).
- A formal corporate organization chart.
- Most cities that have been developed by urban planners (according to Alexander).
- The family of human languages (in some formal discussions)
Things that aren't trees:
- The World Wide Web.
- A natural city.
- A wiki. The first wiki was created by Ward Cunningham, a devotee of the Design Patterns movement in software engineering, which was, in turn, strongly influenced by Alexander's Pattern Language ideas.
- A non-trivial set of bibliographies.
- The way corporate organizations really work.
- The way languages really work (historically, one could travel across a fair portion of Europe and people would always be able to understand the people in the next town, even if the language they spoke was officially called by a different name -- not so much the case today, thanks to the rise of strong national governments enforcing "standard" languages through schools). "Bread, butter, and green cheese is good English and good Fries".
Tree
This map shows the Mississippi's tributary structure as a branching tree.
Not a Tree
The satellite photo shows that the real situation is more complicated than that (particularly in the Delta region).
Tree
Neighborhoods are self-contained and isolated from each other -- no overlap. This is what Alexander means when he says "If we make cities which are trees, they will cut our life within to pieces".
I would argue that this isn't even a city, per se. A city is qualitatively different from a collection of independent villages.
Not a Tree
Overlap serves as a mechanism for tying the city together into a cohesive whole. It's easy for information to flow from one group to another.
Tree
Aerial photo of suburban housing development near Markham, Ontario.
Not a Tree
Aerial photo of Oxford, England.
Tree
A standard family tree (if you don't go back too many generations)
Not a Tree
Situation is more complicated with European royalty. This chart shows the French royal house. If it also showed German, British, Spanish, etc. royalty it would be incredibly confusing (and hard to draw!).While this sort of thing is less common than it once was, it still continues to some degree. For example, Prince Philip, the husband of Queen Elizabeth II, is also both her third cousin and her second cousin once removed.
Tree
Old-style Yahoo! interface.
Not a Tree
Current Yahoo! UI.
Why trees are good
- Easy to comprehend (Alexander argues that this is the natural way humans try to organize a complex structure).
- Efficient (in some senses). No redundant paths -- less pavement (roads), less wire (computer or electrical networks), clear choice of communication path (corporate structure)
- Organized -- less chance for chaos.
Why trees are bad
- Don't capture the reality of complex situations.
- Brittle - remove one link and tree becomes disconnected.
- Rigid
- tend to hide overlapping situations by forcing things into fixed categories
- prevent overlaps from forming even if they'd be useful
- may fossilize obsolete organization schemata
- may discourage alternative organization schemes (hoe/potato discussion from class)
- restrict information flow between groups. Less cross-fertilization. (e.g., computer vision researchers wound up duplicating much work that was already done in photogrammetry)
Avoiding the problems with trees
Quite commonly, organizations which nominally have a rigid tree structure will have alternate channels to work around the limitations inherent in the form. These channels may be added to the system by those in charge, or may develop on their own. Sometimes these are considered legitimate. In other situations, they may be considered deviant, unethical, or posssibly even illegal. Some examples:
- A bibliographic cross-reference system in a library.
- An ombudsman's office set up to help citizens with government-related problems.
- Knowing which secretary normally handles a specific problem and going directly to him/her rather than working "through channels".
- Golfing with the CEO (the "old boy" network).
- Bribery/extortion.
The problem with many of these informal mechanisms (besides ethical and legal issues) is that they tend to be inherently unfair to those who work through the official channels (they may not even know that these channels exist).
Alexander would argue that the system should be designed with these alternate channels from the beginning, but admits that this is very difficult to do.
Tree models in sociocultural theory
- Cole's concentric circle model of context.
- Bronfenbenner's nested ecological system (in Rogoff).
Non-tree models in sociocultural theory
- Egenstrom's expanded mediational triangle (in Cole).
- Rogoff's Transformation of Participation model.
Tree models in education
Stage theories
Classic Programmed instruction
Rote memorization of taxonomies, etc.
Non-tree models in education
Ivan Illich's Learning Webs
Questions
Alexander wants to design a city that is not a tree, but admits that this is difficult. Is it even possible? Most of the natural cities he cites are emergent phenomena. Similarly, the web (and this wiki) are emergent. It's highly unlikely that they'd be the way they are if they'd been planned in advance.
Should we even try to design non-tree models, or should we instead concentrate on designing systems (whether they are cities or educational resources) that have maximum reconfigurability, so that (we hope) a high-quality structure can emerge as the artifact is used?
Alexander illustrates his point in terms of city design. Partly, that's because he is a mathematician and architect, but I think it's also because cities are very hard to change once they're built. It takes years, millions of dollars, and a high cost in disruption of the daily lives of the residents. Poor choices at the design stage can have negative consequences years, decades, or even centuries in the future.
Those of us who work with web-based educational materials have the luxury of changing things with ease, at least in terms of the site design and connectivity (we don't need bulldozers and we don't have to hire those guys who can dynamite an old building without disturbing the one next to it). That doesn't mean it's free, though. A major redesign of a web site can consume lots of time and money. Students and teachers can get confused when the site works in a radically different way than it did before.
How can we design systems that make it easy for evolutionary (rather than revolutionary) changes to occur?
Further Reading
A Pattern Language: Towns, Buildings, Construction by Christopher Alexander. Oxford University Press, USA (1977). ISBN 0195019199
The Timeless Way of Building by Christopher Alexander. Oxford University Press, USA (1978). ISBN 0195022483
Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma , Richard Helm, Ralph Johnson, and John Vlissides. Addison-Wesley Professional (1995). ISBN 0201633612
Deschooling Society by Ivan Illich. Harper & Row, New York (1971). ISBN 0060121394





