About Pattern Kitchen
This site exists to collect pattern languages across disciplines — from urbanism to pedagogy; information science to game design.
What are pattern languages?
Patterns, in the sense used here, are components of a shared language for identifying problems and applying solutions in a particular domain. Each pattern contains a context, problem, and solution — and exists as part of a pattern language, a system for combining patterns to solve complex problems. Ideally, they also have memorable names!
Pattern languages are not simply lists, encyclopedias or collections of parts. They're more like maps or networks, tools for analyzing systems, with their own vocabulary (component patterns) and grammar (for how they're applied) that can be composed in near-infinite ways.
A given pattern language often collects patterns from many aspects of a domain, across many scales, distilling its common knowledge or best practices and suggesting how patterns might be sequenced to address certain classes of problem.
Why this website?
This site emerged both from personal interest and from work building Hyperlink, a platform for making collaborative creative learning environments on the internet.
We've long been fascinated by the power of patterns, from reading the seminal A Pattern Language to discovering patterns for pedagogy. Personally, I'd been collecting examples of interesting pattern languages, and looked for one place listing them all, but couldn't find it!
Making this site has been a fun side project, and also a good testing ground for managing the work using Hyperlink.
Pattern languages and learning
A while back, inspired by favorite pattern languages, we hosted a workshop to explore patterns for peer-driven and learner-centric educational environments.
Identifying useful patterns for the kind of learning activity we find most meaningful — exploratory, collaborative, creative, personal, interconnected — is helpful for thinking about how to create tools, networks, experiences, or other infrastructure to support it, in holistic and humanistic ways.
We find it fascinating to consider possibilities for new sets of patterns: for learning games, say, or for small group collaboration. Maybe one day we'll expand on these, and add to this library of pattern languages.
What's here?
This collection takes a loose interpretation of pattern languages. While many included are detailed and well-specified, others are pattern languages in a more poetic sense, resonant in concept or ethos even if not meeting a stricter definition.
We've tried to filter for the more intriguing pattern languages we've come across, but haven't read through every pattern. You'll probably find some more useful and exciting than others.
We encourage you to browse, read, and apply the ideas here! Dip in and play around; be a pattern hacker, quilter, amalgamist — see what emerges if you attempt to stitch patterns across disciplines, or even begin to invent your own.
Want to contribute?
This site is a living resource, and we welcome suggestions for pattern languages to include. There are surely many missing that would be great additions to the collection.
Pattern Kitchen is open source; the best way to submit is to make a pull request here, using the existing pages as a template. If you prefer you can also email your suggestion.
Please include at minimum some basic metadata and links; if you like you can include a short blurb and favorite example patterns as well. We'll credit submissions on each page.
—Brendan