Friday, February 09, 2007

15 Properties of Living Structure

Here are Christopher Alexander's 15 Properties of living structure. In future posts I may explore how they may possibly apply to software. All I could find on google was someone else's attempt at this here.

1. LEVELS OF SCALE
2. STRONG CENTERS
3. BOUNDARIES
4. ALTERNATING REPETITION
5. POSITIVE SPACE
6. GOOD SHAPE
7. LOCAL SYMMETRIES
8. DEEP INTERLOCK AND AMBIGUITY
9. CONTRAST
10. GRADIENTS
II. ROUGHNESS,
12. ECHOES
13. THE VOID
14. SIMPLICITY AND INNER CALM,
15. NON-SEPARATENESS.

Thursday, February 08, 2007

The Nature of Order

I just finished reading the first book in the The Nature Of Order series by Christopher Alexander, who is famous in the software world as being the building architect who first wrote about design patterns.

In this new series Alexander discusses how he has found 15 properties which he thinks can objectively define which structures have "more life" than other structues. These so-called living structures are those which are more wholesome and are a closer reflection of ourselves and the rest of nature, and are therfore more satisfying over the long run. In fact, he goes so far as to say that buildings with less "life" are actually stressful to the humans that must interact with it.

I wonder how this can be applied to the software architecture world. What gives software life? How can we not stress out the users of our software? Hmmm...