A Timeless Way of Building is Christopher Alexander's introductory book on the idea of Pattern Languages. It was published after his classic A Pattern Language, but designed as an precursor to that volume.
Patterns used to culturally inherited and passed down within communities. We now "no longer even know the simplest patterns that were once implicit in" our habits. We now need to explicitly, precisely, and scientifically define patterns.
Each pattern has three parts: a context, a problem, and a solution
The pattern is both a process and a thing – a thing which is alive, and a description of the process which creates that thing.
To identify a pattern, we have to make the inner structure of the pattern clear. When we see a system or pattern 'working' out in the world, we should ask:
Examples of architectural patterns:
We discover patterns through observation. We look for what is working in the world - things that make places alive. We then try to identify places that lack that pattern, or ones that do it poorly.
Once we properly understand the problem, it leads us to how we might solve to problem.
Discovering patterns is difficult, slow, complex work. We have to pay close attention over time.
Be specific in your pattern definitions. People often try describe patterns in loose, generic terms, when we really require a specific, well-defined description.
Don't just say "entranceways should signal a transition is hapening," try to be specific: "the door needs to be 20 feet away from the street, needs to have a change of surface in the transition walkway, needs to be visible from the street and and from windows inside the house, and should be distinct in character from both the street and the inside of the house."
We need to express simple patterns in precise terms. This is difficult because there are no perfectly fitting abstractions.
Patterns have certain properties. To create a new pattern, ask "What new entities do I want to put in the world, to create those properties?"
If you can't draw a diagram of it, it isn't a pattern. A pattern defines a field of spatial relationships, which means there is always a way to visualise it.
The 10 Usability Heuristics for User Interface Design are a good example of a pattern language outside of architecture.