In between 2008 and 2010, there was a food truck renaissance in San Francisco. Food trucks had started popping up everywhere, and a vibrant food truck culture began to emerge.

As it turns out, this was because of Twitter. It had been difficult to get a food truck licensed in San Francisco. But with Twitter, illegal food trucks could thrive, because they could park in a different spot every day and tweet out where they were.

At a certain point, the legal food trucks caught wind of this. They looked at the followers of the illegal food trucks and saw what was, essentially, a food truck customer database. They started to follow the followers of the illegal food trucks, who in turn, followed them back, and a dynamic community formed around food trucks. This community eventually helped to change the regulations, but the change to the city happened even before then.

This story is important because it is about more than food trucks. It is about software shaping the city. And it is about indirect design. Twitter did not shape the city directly, like a 3D printer might, but rather it enabled a social process that in turn shaped the city.

It is a powerful story because it suggests a method. If we have a vision for the world, we can choose to create it, by first creating a single instance of the change that we want to see, then by creating a social process that enables that instance to propagate, and then by creating the software that supports the social process.

This is the foundational story of the lab.


There is a difference between technologies and technocracies.

Technologies use the powerful tools of quantification and abstraction in order to serve human needs. Technocracies attempt to quantify and abstract the human needs themselves.

The problem of technocracy is that the deepest human needs — such as community, love, agency, spiritual sustenance — resist quantification. When we try to replace these needs with the quantified alternatives, it’s never enough. No number of Facebook friends will replace authentic community, no amount of fame will replace respect, no amount of money will replace genuine peace of mind.

Beautiful technologies must begin therefore, from words rather than numbers, from the heart rather than the head. They must first seek to understand — deeply and viscerally — the nature of the human condition, before they propose technical solutions.

They must begin as poems.


Wherever we go, we leave behind digital traces of ourselves. Our diaries are kept on blogs, our conversations on Twitter, our photo albums on Instagram, and our home videos on YouTube. Our environment, too, leaves digital traces behind, through Street View and open data.

This flood of microstories allows us to better understand the world as it is, so that we may create the world that can be.


In society today, we tend to focus on scale. This is understandable — the problems that we face in the world are big, and so it feels appropriate that their solutions should be big too.

But our current industrial society tends to equate scale with mass-production, and this is counterproductive. In the long term, organic processes are more scalable than industrial ones. The oak tree will be around longer than the Ford Motor Company.

Instead of focusing on standardization and separable production — the hallmarks of industrial scale — it is useful to spend time creating small, beautiful, replicable, and evolvable design patterns. These are the building blocks of organic scale.

A meadow full of wildflowers begins with a single seed.


Acupuncturists will say that their role is not to heal the body directly. The body’s own energies have intuitive healing power. Sometimes, however, the body’s energies are blocked, and the role of the acupuncturist is to unblock those energies.

The same is true at the next level of scale. People have a natural ability to heal their own communities, cities, and societies. However, in a sick society, these natural energies are blocked — by cost, organizational overhead, opacity, isolation, and lack of models.

But we may design software that can unblock these energies, by decreasing the cost and implementational complexity of the design patterns in the last section, by catalyzing and fostering the social processes that are required to put them into practice.

This is the acupuncture of society.


As we observe and cultivate processes for social organization, we come to understand that there are commonalities among them. Social processes tend to rely on subprocesses — such as reputation management, resource discovery, message routing and propagation, and exchange of currency.

We may abstract and encapsulate these processes into social primitives, creating languages and algorithms that would work across different social applications, in order to support all of them.

These, too, have a poetry to them.