This site runs best with JavaScript enabled.

Pattern Languages

Last tended Jun 03, 2020

A Pattern Language is a set of flexible, reusable solutions to common design problems.

These patterns evolve naturally within systems, and are found rather than crafted. Identifying and recognising these patterns gives us a framework to craft solutions with.

There is no one way to implement a design pattern ‚Äď they are purposefully abstract enough that you can apply them to the situation at hand. They're guiding principles instead of formulaic instructions.

Christopher Alexander developed the idea of Pattern Languages in their 1977 book.

book cover

A Pattern Language

Christopher Alexander

The book outlined a number of solutions for architecture and urban planning design, but the theory has since (appropriately) taken on a life of its own.

The programming community picked up on on Christopher Alexander's ideas in the late 1980's.

Despite the original book being primarily about public transportation tempos and cafe sidewalk strategies, the notion of design patterns heavily influenced the development of Object-Oriented Programming languages like Smalltalk and C++.

In a charming presentation at the 1996 OOPSLA conference (Object-Oriented Programs, Systems, Languages and Applications, obviously), Alexander openly admits "I'm address a room full of people and I don't know hardly anything about what all of you do".

Some computer scientist called me and said they had a group of people in Silicon Valley willing to pay $3,000 to have dinner with me... and I thought "What the hell is this?"

Richard Gabriel, an engineer at IBM, was one of the ring leaders actively building these bridges between software and built landscapes.

Linked References

A Naive Exploration of Computer-Supported Collaborative Learning

Stian Håklev , a fellow Roam Gardener and twitter friend, clued me in to the field of Computer-Supported Collaborative Learning . Stian is a fascinating thinker, and I'd recommend this podcast…

A Brief History & Ethos of the Digital Garden

Back in April of 2020 I put up a long twitter thread on the emerging trend of Digital Gardening . It gathered a little buzz, and made clear we're in a moment where there is something culturally…

The Knowledge Hydrant

I've been looking into both Pattern Languages and Computer-Supported Collaborative Learning over the past month. The Knowledge Hydrant is where these two meet in a lovely swirl of collaborative…

Learnable, Visual Programming Patterns

These environments tend to look something like this: They're your standard column-based "live coding" interfaces popular across the industry. You write code into one section, and hopefully get the…

Silent Synchronous Reading Sessions

There's an established concept called Silent Meetings . Much like it sounds, it's a meeting where for the most part no one talks. Rather than one PowerPoint dictator lecturing to a room full of…

The Pattern Language of Project Xanadu

Ubiquitous Computing, also known as " Ubicomp ," was a technological dream of the 1990's. A group of researchers at Xerox PARC predicted that computing interfaces would disappear, dissolving into the…

Want to share?

Join the newsletter

For weekly notes on visual thinking, ethical technology, and cultural anthropology.

Maggie Appleton © 2021