So What’s Pattern Language? Mining design patterns from nature.

This is a good introductory description, excerpted from an email, w/ a little edit.  The abstract and link are for a paper on “Guiding Patterns of Natural Design:Mining Living Quality” for an upcoming Pattern Language of Programming conference.  

Alexander’s 15 Principle Elements of Wholeness – adaptation by TKWA archt.

Oh, it’s sort of magic..

the hope of course:

is that this emergence of a sound new way to communicate “wholeness in design”
leads to the world ‘transformation to living design’ everyone is so eagerly awaiting…

Pattern language is a new way of communicating design concepts, created by Christopher Alexander, an architect whose ideas came out of the same 60’s/70’s architecture community as mine did, only starting a decade earlier, and he became a wonderful architectural design teacher.    Anyway, his idea for how to ‘encode’ principles of ‘wholeness’ for architectural design elements was fairly successful, resulting in a series of books beginning with “A Pattern Language” in 1977, and experiments in urban design as recorded in “A New Theory of Urban Design” 1987, and in attracting a significant following.Then his methodology for defining ‘design patterns‘ did the magical thing… of being picked up and translated for use in other fields, a real technology transfer, actually representing the encoding of a set of rather ancient and wonderful architectural design principles, for other uses, i.e. “real magic“!  Where it had an amazing impact was on computer programming, becoming the basis of “object oriented design“, as a way of letting programmers communicate and understand their own design objectives, for both the wholes and parts of their programs.   Till the late 80’s when this new approach to defining design purposes took hold, programmers really had no good way to define the ‘parts‘ of computer programs, or how they needed to work together to make a ‘whole‘.

So having a way to define “working units of design” seems to me at least to be a big part of why modern programming became so successful, like maybe the other real secret behind the communication power of the internet other than micro-chips.  Pattern language lets programmers break computer programs into intelligible workable parts, representing real whole purposes and intentions.   It was Alexander’s loving way of describing the pieces of designs that did that, understanding and portraying design as a search for “living quality“.   And it caught on.  It provides a model for describing

  1. versatile solutions for common problems
  2. as a balance of the forces they resolve

Of course, one of the “forces” is whether we are creating a “living world” or an “inhuman world“, and whether the designs we make can become at home in our environment, to bring us and the earth living quality, or not.  That was the issue he was obsessed with from the start.  So, like I said, a sign of magic.

What’s more of course, is that his method of defining “design patterns” and my pattern science for understanding “natural systems” are awfully close cousins.  You might say they’re much the same thing in several ways, except his focus was on the patterns of wholeness for purposeful design and my focus was on patterns of wholeness in naturally occurring designs.  His “search model” for design patterns was “living quality” and mine was for “what makes life lively”, asked as a physicist who happened to have an education in design too.    So when I was introduced to his work as it had later matured (I really wasn’t “in the loop” or didn’t “get it” before) and I saw how it was being used by non-architects, I finally recognized the connection and now have lots to do!   It’s such a pleasure.

The work is to begin translating between the pattern language I developed for myself for naturally occurring designs, and the one that is becoming the common approach of many professions and communities based on Alexander’s approach, and do what I can to contribute to adding to the versatility of that common approach.


Part of my approach is summarized in the following brief for one of the papers I’m working on.  You can follow the link to the early draft – fyi.    The paper discusses some of the ways to mine deeper understanding of our intentional design patterns,  by learning how to study naturally occurring ones of similar kinds, that naturally display the organized complexity and coherence we admire and need so much, we call by reference “living quality”.


ABSTRACT: A “design pattern” is generally understood as both a “simplifying ideal” for solving a problem that commonly reoccurs in various situations.  It is then also something to refer to like a reference book, of workable design variations, linked to all the places the recurrent problem arises.   So, design patterns are not exactly ‘instructions’ but ‘guides’.  We also find key design patterns in nature, as recurrent natural solutions for common  problems. Features like “cell walls” or the “homes” “nests” or “dens” people and animals build, both define separations between inside and out, as well as access to the outside controlled from inside. Learning to recognize such recurrent patterns of natural design lets us look deeper into both their separate internal designs and external roles and relationships, as sources of the living qualities of natural designs. The practical examples to be discussed demonstrate how to use a model design pattern meant for one circumstance, to search for related natural design patterns in other circumstances. It’s for gaining a deeper understanding of 1) the model pattern and its potential features and roles, 2) the artful complexity of natural designs , and 3) their sources of living quality. The model pattern might be called “vehicle” perhaps, and you might study various instances where versions of “vehicle” occur naturally as a life pattern, to see what they have to teach you.
Link to draft paper for PLoP conference.



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.