from a Yahoo! and XML geek

Quick Links: Consulting | Book info | Brain Attic | Home

Push Button Paradise

Micah Dubinko

Sun, 10 Jul 2005

Patternalia - Read this first

One of the memorable scenes in Kim Stanley Robinson's Red Mars series is that of colonists roving about the newly-habitable planet with ragged copies of A Pattern Language: Towns - Buildings - Construction written by Christopher Alexander in 1977. As the title implies, that book consists of a number of specific patterns, starting with at the biggest scale, Independent Regions, and working all the way down to the tiniest details, like Ornament and Things From Your Life. Each pattern, taken alone, is a carefully thought-out essay that draws often surprising conclusions about the best way to build things.

I love that many of the patterns clash utterly with the "conventional wisdom" of how things are actually done in the real world. For example, pattern 3, City Country Fingers draws the startling conclusion that even the most densely populated city regions should never be more than one mile wide, and should be within walking distance of interlocking fingers of countryside never less than a mile wide. While it would be wonderful to live in such a place, I can't think of a single wide-scale instance of this pattern overcoming crass urbanization and sprawl on planet Earth. Maybe that's why the Martians got along with it so well.

But even here on Earth, A Pattern Language has found a wide following beyond the seeming target audience of city planners, builders, contractors, and homeowners. The patterns work on a deeper level, for a couple of reasons. For one, they represent Big Common Problems and the challenge of overcoming them. How does one solve traffic congestion? How should a big city develop without shattering the environment around it? How should a neighborhood be arranged so as to encourage those living there to form stronger social bonds? Probably at some point all of us have had ideas for at least partially solving Big Common Problems, and so A Pattern Language makes us think that solving problems isn't a waste of time even when the problem itself has a rich legacy, and even when everybody else seems stuck in an unproductive rut. Such an undertone give the book its timeless quality.

A Pattern Language is actually book number two out of a series of three. The first is The Timeless Way of Building and the last is The Oregon Experiment. For the purposes of this series, the other two books might be slightly less applicable as they deal more explicitly with construction. Our focus is on the second book.

In our high-tech era, perhaps Alexander's book is even more relevant. In mathematics, certain classes of problems have been proven to be equivalent in a deep way. That is, if any one particular problem could be solved, then the solution could be generalized out to the entire class of problems. One example is the Traveling Salesman problem, that of finding the shortest route to visit every city on a map without revisiting any cities. My hypothesis is that many of the things we do in front of a computer--building a software program, designing an effective web site, writing an article series on patterns, and so on--are deeply equivalent to Big Common Problems and therefore directly in scope of Alexander's work.

Even if it doesn't turn out that A Pattern Language directly applies to problems in the information space, there still remains powerful indirect connections. Simply put, the same kinds of thinking called into action through the book are the same kinds of thinking needed to solve all kinds of Big Common Problems. As long as people are building things for themselves, with their own hands and minds, they will find utility in studying pattern languages of all sorts.

What is a pattern, much less a pattern language? To quote from the book:

It is shown here, that towns and buildings will not be able to come alive,
unless they are made by all the people in the society, and unless these
people share a common pattern language, within which to make these building,
and unless this common pattern language is alive itself.

In this book, we present one possible pattern language, of the kind called
for in _The Timeless Way_. This language is extremely practical. It is a
language that we have distilled from out own building and planning efforts
over the last eight years. You can use it to work with your neighbors, to
improve your town and neighborhood. You can use it to design a house for
yourself, with your family; or to work with other people to design an office
or workshop or a public building like a school. And you can use it to guide
you in the actual process of construction.

The elements of this language are entities called patterns. Each pattern
describes a problem which occurs over and over again in our environment, and
then describes the core of the solution to that problem, in such a way that
you can use the solution a million times over, without ever doing it the
same way twice.

Alexander's book has also been popular in high-tech circles due to the direct connection with the so-called "gang of four" 1995 book, (see links) Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. This book, aimed squarely at object oriented programmers, adopted the idea of a pattern language to a number of specific challenges frequently encountered in software architecture, and has proved influential to an entire generation of programmers.

The target audience for this series certainly goes beyond programmers, though I expect them to make up a solid core of the audience. Increasingly, people are expressing their creativity digitally, in ways that wouldn't be called traditional programming. New standards and technologies are moving more people into the information space. Just today I saw a 60-year-old grandma whip out a PDA to record a new address. Technological trends, of course, brings a new set of problems to solve. That is the audience of this series: anyone using information technologies to solve problems. And not all information technologies are digital... So this series will have a mixture of "technical" and "creative" focused articles. If I ever line up with a publisher, this can all be sorted out better, or at least differently.

The format for these patterns is fairly loose, and likely to evolve over time. Each article will focus on one or more specific patterns. The patterns in both Alexander's book and the gang of four book are heavily interconnected, so it's probably that as things move along, older articles will be revised to highlight the interconnectedness of the pattern language. Alexander's book is subtitled "Towns, Buildings, Constsruction", roughly defining major areas covered. These patterns are classified as broad Industry Patterns, overall Life Patterns, specific Project Patterns, or implementation Detail Patterns. Let the fun begin!

About this article series: This article series is being provided at no cost on the internet. To show your support,

  1. Become a regular reader, including any back-articles you've missed.
  2. Link to it; tell your friends to read it and link to it.
  3. Buy things from the advertisements on this page.
  4. Leave encouraging feedback.

All articles will appear underneath http://dubinko.info/blog/patternalia

Amazon associate links: (Research tip: check out the reviews on some of these)

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

posted at: 22:47 | under: patternalia | 2 comment(s)



This seems excellent Micah-- of course from the patterns I have seen emerging lately, it feels like this should be shared, a collective, a wikipedia of patterns I suppose-- a new meme for bloggers, perhaps, a new breed of folksonomy. Maybe I am derailing your whole vision. In any event I will read with great interest.
Posted by Jeff Rafter at Mon Jul 11 00:52:23 2005

I really like this idea, with one caveat: I'd strongly encourage you to incorporate The Timeless Way of Building, and not just Design Patterns itself.

Too many people seem to look at Alexander (and the Gang of Four book) and see an Erector Set, with lots of parts they can plug in.  Along the way they lose the craftsmanship and maybe even the soul that makes these patterns work.  The Timeless Way of Building emphasizes those aspects of the project, and how patterns emerge.  To be honest, while I like the patterns Alexander lists, the stories of how they came to be clearly patterns animate them more vividly than the details of what they are.
Posted by Simon St.Laurent at Tue Jul 12 08:19:18 2005


Name:


E-mail:


URL:


Comment:



Syndicate: RSS feed

What am I reading?
Don Quixote
Self-Editing for Fiction Writers
The Complete Joy of Homebrewing
Analog magazine
Compilers
TAOCP


What am I browsing?
BlogFour
Blake Ross
Brianstorms
Caveat Lector
Claus Wahlers
Copia
Cringely
David Temkin
Dave Hyatt
Groklaw
Mark Birbeck
M.David
Miguel de Icaza
Mitch Kapor
Norm Walsh
Omar Tazi
Sean McGrath
Sjoerd Visscher
Ted Leung
Tom Bradford
Wil Wheaton


Archives:
Link

Powered by PyBlosxom