Scenes, Pattern Languages, and Nested Systems
Res Extensa #60 :: On the powerful modularity of pattern languages
A while back I read Jack Bickham’s Scene and Structure on a recommendation I saw from Nat Eliason. The book is about fiction writing: the creation of narrative structure, staging scenes, the balance between scenes and “sequels” to maintain coherence and tension through writing novels, which is the author’s background.
I’m not necessarily interested in the structure of fiction for my own writing. But I find it interesting how “formulaic” in a way that all narrative fiction is, from novels, to TV, to films. Once you read Scene and Structure, it’s hard not to notice these mechanical elements playing out. You can watch a TV show and almost predict the structural elements as they happen. The point of Bickham’s guidance is not to wrench every writer into following the same exact formula for everything they write, but rather to see the elemental components of storytelling with clarity. He’s exposing a modularity — a composability — of writing, allowing you to see the skeletal framework of fiction.
Think about cooking. Yes, it’s about recipes and ingredients, just like stories are plot elements and sentences. But becoming a great cook is more than about knowing lots of recipes and ingredients; great cooks know why particular ingredients show up in recipes together, what each is contributing to a dish, and they can assemble subgroups of ingredients in repeatable, predictable ways. Compelling writing — just like compelling cooking — requires knowledge of structural relationships. A mirepoix of celery, carrot, and onion is a known, functioning collection of aromatics that works well in many many dishes. The collection of relationships between the three creates a compelling, reusable flavor profile. It’s a building block of building blocks. In narrative, if all you’ve got is one action-packed scene after another, without a sequel in between for characters to digest what happened and mull over decisions, you leave readers confused and overwhelmed. And there are parallels with systems of all sorts, not just cooking.
One of the things I’m most curious to consider with this book is how well the principles could translate to nonfiction writing. Certainly if you read well written narrative nonfiction — Barbara Tuchman, John McPhee, David McCullough — they use similar tactics to establish PoV “characters”, create tension in the narrative, and to find meaning in events, versus just “this happened, then this, then this.”
I’ve also been reading Christopher Alexander’s A Pattern Language, and thinking about the parallels between the two books.
A Pattern Language is Alexander’s guidebook to cities, neighborhoods, architecture, and construction. The idea is that composing these places that people live is an exercise in thinking in building blocks. He defines dozens of reusable components and recurring themes in architecture, from empirical study of what works and why. Well-lit rooms, places to sit, greenery in the right places, putting benches next to gardens. Each on its own seems obvious, since these are things we see constantly around us. His purpose isn’t to tell you that well-lit rooms are a good idea, but to see these components as LEGO blocks for design. If you develop a language of patterns for your work — even software — when faced with what to put where in a design, you can reference your book of patterns and choose subcomponents that’ll work well in that situation, based on the goal of a particular feature. Beautiful, functional spaces for people follow Gall’s Law: complex structures of a hundred elements must be built from a collection of simple, working ones.
Analogizing modular systems to languages is interesting. A language is hierarchical just like the systems these two books present for fiction writing and architecture. You start with letters, build those into words, then phrases, sentences, paragraphs, and so on. You can’t simply insert new elements into a language from the top without considering how your elements nest together and interact with the surrounding existing elements. This is why top-down “designed” languages have never worked. Even attempts to guide, restrict, or control natural languages have largely failed. The French famously have a government body responsible for maintaining what “real” French looks like. Has that worked? Do French people refer back to a government website to validate their new vernacular?
In both these cases — fiction and architecture — a systems of patterns develops over time based on empirical evidence of what works. Writers didn’t invent Bickham’s structure from whole cloth centuries ago; the concepts he presents have evolved gradually over time. The way fiction writers wrote even 200 years ago bears little resemblance structurally to what a novel looks like today. Over time, writers learned what readers wanted and innovated around the edges while conforming to norms of structure that were mostly predictable to their contemporary audiences. Little by little, with incremental experiments, tested in the market, writers discovered the building blocks that worked.
Alexander refers in his work to “the timeless way of building”. Most of the individual building patterns he presents he did not invent. They’re components for comfortable living that humans developed, in some cases, millennia ago. His mission isn’t to tell you new things, but to present a framework for ordering and assembling the things we know work into a cohesive hierarchy.
held a discussion group session yesterday on his series unfolding the meaning of “simplicity”. This included healthy discussion on Alexander, and the more I dig in on pattern languages, The Nature of Order, and his other books, the more nuances and nooks of insight there are. Looking forward to going deeper.Thanks for reading. If you found this useful or interesting, please share with your friends, connections, and colleagues. Are you familiar with Alexander’s work? How have you applied the concepts behind pattern languages in your work? Leave me a comment below — would love to hear feedback.
Christopher Alexander’s patterns look and feel like LEGO shaped components, but there is an important difference: Reusable components was not what he was after, because real beauty comes from deep adaptation to the reality of a specific context that can never be captured in a universal recipe or ready-made component.
He was after the creative, generative aspect of pattern languages. They allow you to ambiguously describe and discuss only as much as you need to, while you figure out all the details in the actual environment you’re building for. Each pattern provides a path to a solution of a problem, but as you apply the pattern to an individual context, it leaves room for you to fill in the details that need to be considered for your specific situation. This is, of course, not scalable, and therefore not as attractive to us as we optimize everything around us for scale.
> The real world is bumpy, and the most efficient solutions are tailored to that bumpiness. Hence Alexander likes everything to be specialized; he doesn't go for much low-level reuse. He does go for reuse at higher levels. He has symmetries and recurring patterns. He seems to believe beauty involves the tension between high-level symmetry and low-level bumpiness.
> — http://wiki.c2.com/?SoftwareLacksaBody
Thanks for the shout-out! Hope to have you back in the next one.