A Figma publication for design systems creators, designers, developers, and managers
Article

Christopher Alexander: The father of pattern language

What makes a design great? The way the carefully chosen colors blend and play off each other? A set of pleasing shapes perfectly placed in space? A seamless interactive experience that brings joy and pleasure to its users?

Or is it something higher than that? A certain je ne sais quoi, perhaps unnameable, but not unknowable.

Architect and design theorist Christopher Alexander called that spirit, that energy, that … magic a “quality without a name,” or QWAN. Not only did he seek to define it, but he created a movement, whose purpose is to help anyone create meaningful architecture. His 1977 book, A Pattern Language: Towns, Buildings, Construction (of which Alexander says he’s been told is the best-selling architecture book of all time, #humblebrag) marked the beginning of the movement and earned him the title of the father of the pattern language movement. What began in the physical world quickly made its way to digital, as programmers, developers, and designers adapted Alexander’s theories to systematically organize their own work.

A futuristic idea rooted in ancient tradition

Though Alexander’s A Pattern Language is described as a practical architectural system, it’s not an Ikea-esque manual meant to provide the exact directions on how to erect a room, building, or town. It’s a simple guide filled with the proven elements any ordinary person could use to create a living world that best serves the humans that interact with it. Think Sims, but for the real world. (Fun fact: Will Wright, creator of SimCity said Alexander’s work was influential in the origin of his famous computer games.)

The basis of A Pattern Language came from observing medieval cities. All were designed to local regulations but allowed the architect (or artist; or designer; or simply, person) to adapt each room, level, and building to particular situations. To Alexander, those particular situations are what the human users required to feel comfortable, fulfilled, and have their needs met without the distraction of superfluous features or art for art’s sake. So, Alexander says, people should build for themselves, and his A Pattern Language made widely available the tools to “allow anyone, and any group of people, to create beautiful, functional, meaningful places.”

Alexander’s idea of starting with fundamental building blocks that are then adapted appears in object-oriented programming, a programming language model that’s organized around objects rather than actions. In 1987, two decades after A Pattern Language was published, computer scientists Kent Beck and Ward Cunningham started playing around with the idea of using design patterns in programming. When they shared their work at the Object-Oriented Programming, Systems, Languages & Applications conference a few years later, jaws dropped in the software engineering community, and a new branch of programming started to form.

Even today, more than 40 years after Alexander’s influential book appeared, developers, programmers, and designers continue to find new ways to apply its revolutionary theories.

Modern design pattern application

Some have called Alexander’s work “a new form of architecture,” so it’s not surprising that while Alexander created design patterns to help inform the physical world of architecture and construction, digital architects were quick to recognize the application of his theories in their own work.

As A Pattern Language explains “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 a way that you can use this solution a million times over, without ever doing it the same way twice.”

To any designer, this concept sounds wonderfully familiar – it’s the basis of every design system.

Today, a design pattern is a formal way of documenting solutions to common design problems. Design patterns are a universal resource to align best practices, describe the elements of good designs, and most importantly, provide a repository so that other people can easily reuse these solutions. Why invent the wheel when a perfectly good one already exists? Modern designers rely on design patterns to quickly get new designers up to speed on brand nuances, capture collective wisdom across time and people, provide teams with a common language, eliminate wasted time spent on “double work,” and ensure the end user gets a predictable experience no matter the medium or designer.

Alexander created his language to highlight the relationships between patterns, with the whole being greater than the sum of its parts. In today’s digital design, that principle looks like this – a logo could be the best ever created, the selected colors a spot-on representation of the brand, and the layout a pleasing landscape of information, but if the connections between all elements don’t have meaning, then nothing does.

Following in the footsteps of Greek philosophers like Pythagoras, Empedocles, and Plato, Alexander looked to nature for clues and inspiration for how the first-created and most-tested patterns evolve. From that, he acknowledged a “step-wise sequence” that re-uses what has come before – a continuous transformation of elements. This phenomenon is what Alexander sees as the next frontier of design. It’s not about new technologies, or advanced mediums to create art, but rather using what has come before and adapting it to satisfy current human behavior and desires.

Alexander says this practice is what gives designs that “quality without a name,” and that is what makes a design great.

Additional Resources

https://en.wikipedia.org/wiki/Christopher_Alexander

https://en.wikipedia.org/wiki/Pattern_language

https://www.permaculture.co.uk/articles/pattern-language-explained

https://cityterritoryarchitecture.springeropen.com/articles/10.1186/s40410-017-0073-1

https://www.youtube.com/watch?v=98LdFA-_zfA&

https://www.patternlanguage.com/

Sources

https://en.wikipedia.org/wiki/Christopher_Alexander

https://searchmicroservices.techtarget.com/definition/object-oriented-programming-OOP

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.4194&rep=rep1&type=pdf

https://c2.com/doc/oopsla89/paper.html

Ready to Contribute?

The team at designsystems.com is always looking for interesting content. Share your ideas with us — we’d love to hear from you.

Subscribe for Updates

We will be rolling out new articles and guides on a regular basis. Sign up to get the latest delivered to you.

Design Systems

version 2.0.0