Towards Growing Peaches Online
Note: this essay about the late architect Christopher Alexander, software patterns, and Parisian peach orchards was published late last year on an online magazine that has since vanished into the ether—an increasingly common fate, it seems. I’m sharing it here to preserve it for posterity; if it’s new to you, please read on. 🍑
In Montreuil, on the eastern edge of Paris, a maze of old stone walls is all that remains of a lost peach orchard. In the 17th century, horticulturists trained peach trees to grow flat against these murs a pêches; the sun’s heat, held in the plastered walls overnight, kept the fruit from freezing, creating a balmy, Mediterranean, microclimate.
It’s a simple system, with an elegant inner symmetry. The tree, the sun, and the wall all work in effortless balance with one another—no greenhouse required. Murs a pêches have what the British architect Christopher Alexander famously called “the quality without a name.” As he wrote in his influential 1979 book, The Timeless Way of Building:
The tree, carefully tied to grow flat against the wall; warming the bricks; the peaches growing in the sun; the wild grass growing around the roots of the tree, in the angle where the earth and roots and wall all meet. This quality is the most fundamental quality there is in anything.
In 1996, Christopher Alexander was invited to give a keynote address to an audience of object-oriented computer programmers in San Jose. It might seem an odd pairing, but dog-eared copies of The Timeless Way of Building and Alexander’s 1977 book A Pattern Language were a common sight at computer conferences; the programmer Ward Cunningham even cited A Pattern Language as an influence on the design of the object-oriented language Smalltalk, and, later, on the creation of the Wiki.
A Pattern Language is a design manual for creating rooms, buildings, and cities with that timeless peach-wall quality. Although difficult to describe, Alexander believed it was a reproducible phenomenon. He spent years studying world’s most habitable places—Italian piazzas, Grecian hill villages, Japanese temples, and English country towns—in order to distill their shared attributes into generalized solutions he called “patterns.” As he explains in a much-quoted passage, “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 such a way that you can use this solution a million times over, without ever doing it the same way twice.”
For example, a good house might incorporate Pattern #159, “light on two sides of every room,” and Pattern #139, “Farmhouse Kitchen.”
Programmers who read Alexander saw something codelike in his generative, orderly vision of reality. Many were inspired to compile their own patterns, creating a vocabulary of software templates that could be applied across different situations to solve problems. As the architectural historian Molly Wright Steenson writes, programmers love Alexander because “patterns look simple but they do complicated work in managing and codifying knowledge.”
So although they dealt in bits rather than bricks, Alexander’s audience in San Jose hung on his every word—he was, in a sense, one of them.
Programming, like architecture, is both art and science. Code must run, as buildings must stand, without crumbling. Alexander wrote about things which make us feel more whole in their presence, like the peach growing against the wall. In San Jose, he referred to that quality as “living structure.”
Living structure is the natural order of life lived at human-scale. A compost heap has living structure. So does a good bus system, or a small public square. You can feel it in the difference between a lovely old building and a sterile new development; one is built by its inhabitants, and the other is designed by architects. “When a place is lifeless or unreal, there is almost always a mastermind behind it,” Alexander writes. “It is so filled with the will of the maker that there is no room for its own nature.” On the other hand, things with living structure feel right; they’re harmonious.
Alexander’s writing was controversial in its own field—after all, it implied that architects simply failed to make spaces worth living in—but it was hugely influential in the world of software. By the time Alexander gave his keynote address at OOPSLA, the object-oriented programming conference, his ideas had already inspired a bestselling software engineering textbook, Design Patterns, and sparked a revolution in programming thought.
Of course, Alexander didn’t know the first thing about code. At OOPSLA, he addressed the “computer people” with baffled amusement. “This is a pretty strange situation I find myself in,” he said, leaning against the podium, tie askew. “I'm addressing a room full of people, a whole football field full of people. I don't know hardly anything about what all of you do.”
Still, he intuitively understood the power assembled in that room, which dwarfed his own. A few thousand buildings had been built using his ideas—what good was that, he mused, when the Earth was sinking under the weight of strip malls, parking lots, conference rooms, and other soulless dross? Architects alone could never save the world from all this dead weight, but software might have a chance. That is, if the software itself had living structure. If it was designed from the ground up by its inhabitants, like an old building, rather than from the top-down, like a mall.
And so Alexander ended his presentation to the programmers with an urgent plea. “I hope that all of you, as members of a great profession of the future, will decide to help me, and to help yourselves,” he said. Clearly they understood A Pattern Language’s architectural instructions as a model for how to build software, but he wasn’t certain they’d internalized his book’s moral lessons. Software has a responsibility to heal the planet and enrich human life, he told them. “Computers play a fundamental role in making the world—and above all the built structure of the world—alive, humane, ecologically profound, and with a deep living structure,” he said.
He begged his audience to do what architects, developers, and construction people seemed unable, or unwilling, to do: build a world worth living in.
For all the commonalities between architecture and programming, certain things don’t track neatly. For one, the question of who inhabits code. Alexander felt that houses should be designed and built by the people who would live in them. But who “lives” in a program—is it the programmer, pulling all-nighters as they write, repair, and debug? Or is it the end user, applying that code to everything from word processing to traveling virtual worlds? Speaking to to the programmers in San Jose, Alexander implied that code with living structure would manifest living structure in the material world. But we’re surrounded with elegant code that does harm: programmatic advertising, or the outrage-amplifying algorithms of social media.
Maybe there are different ways to inhabit a place. Maybe the coder is like a ghost in the house, opening faucets and flickering the lights when the user isn’t looking. Or maybe living structure can be something cobbled together by the user from leftover materials—at odds, even, with the house itself. In a lovely piece for Pioneer Works, the artist and game designer Everest Pipkin describes creating rogue worlds inside of Roblox, one of the biggest games in the world. “To stand in these places is to stand in a place where desire was met. Where for a moment, something that was yours was carved out of the ugly body of online corporate games culture,” they write. “Like building a fort in the woods between the highway and the mall.”
A Pattern Language is a book about architecture that’s irrevocably entangled in the history of code. Pattern libraries and repositories are a fundamental part of building software, and countless patterns have been catalogued for use in interaction design, interface design, video game design, and even blockchain-based applications. But the soul of Alexander’s work—his lifelong search to define and reproduce the “quality without a name,” to cultivate wholeness and beauty—is less often cited. As Pipkin suggests, it’s up to the users now.
A few years ago I was invited to participate in the Decentralized Web Summit, in San Francisco. In workshops and panels with names like “Distributed Gardens,” “Internet as a City” and “Distributed Web of Care”—Alexander would have been proud—it seemed everyone was either quite old, or very young. Attendance seemed to be split between early Web pioneers and graduate students. The former had retained their idealism, or reclaimed it. The latter hoped to solve for whatever mistakes their forebears made. I felt the intervening generation’s absence like a crater.
Also there was my friend Charles Broskoski, the co-founder of Are.na, a small social network that describes itself as a “platform for connecting ideas and building knowledge.” Charles cites Pattern #61, “Small Public Squares,” as a model for Are.na, which is, in my experience, one of the few platforms with living structure. Users build “channels” on different themes, interlinking them into distributed concept maps. A PDF of A Pattern Language, for example, sits in multiple channels simultaneously, informing research into digital public spaces, games, world-building, and language. When I make an effort to spend time on Are.na, observing what others build, I find myself attuned to qualities that Alexander might have championed: aliveness, wholeness, connection. It’s on Are.na that I first discovered the murs a pêches, in a channel called “Courtyards are Best.”
We talk a lot about how platforms corrupt our ability to focus, think critically, or connect with others. But Are.na is an example of the way a small, conscientiously-designed platform can do the opposite. Tending to my channels is like building a home as I inhabit it: the process unfolds over time and changes my relation to the outside world. “The goal is not self-improvement,” a footer on the Are.na homepage reads. “The goal is engaging more deeply with the World.”
This success is a consequence of scale—a virtual village of a few hundred thousand is more convivial than a development designed for a “community” of billions—and affinity. Are.na’s designers are interested in the same kinds of things as Are.na’s users, which softens the boundary between architect and inhabitant. This is the best we can hope for, I think, on the current Web. Of course, the Web is changing, and rapidly. A new generation of builders is experimenting with collective governance and co-creation on the blockchain. Enterprising people are building their own networks. Organizations like New_Public and the Institute for Digital Public Infrastructure are studying new ways to help people build their own houses, to divest power and profit from architects and their sterile developments. Certainly there is dross out there, but I believe many people are seeking that same living structure, perhaps by another name.
Montreuil was sliced in half by the construction of Paris’ main highway, the boulevard Périphérique, in the 1960s. The stone orchards, preserved as a reminder of Paris’ horticultural heritage, lay fallow for decades. But preservationists, volunteers, and horticulturalists are reclaiming the plots, one by one. In the spring, wildflowers dot the tall grasses between the last murs a pêches. Living structure is delicate, and easily lost. Fortunately, with a little care, it grows back.
Further reading:
Christopher Alexander’s classic essay, The City is Not a Tree.
Transcript of “Contrasting Concepts of Harmony in Architecture,” the legendarily spicy debate between Alexander and the high modernist architect Peter Eisenman, who Alexander accused of “fucking up the world.”