Design in interesting times

We live in interesting times. Everything is changing rapidly around us, at a faster pace than ever before. This growth has many unintended effects, and when things speed up, they also get more complex and break down. So, how do we break out of this pattern?

This was the basis for my talk on the 2017 Inside Intercom world tour. Above you can watch me deliver that talk or read on for a written account.

If you’d prefer to listen, rather than watch or read, we’ve also released my talk as a special episode of our podcast. You can subscribe on iTunes, stream on Spotify or grab the RSS feed in your player of choice.

I. The fallacy of the islanders

It’s the 1940s, and on tiny islands throughout the South Pacific, some of the last hunter-gatherer societies on Earth are living primitive, tribal lives.

Then one day, huge boats arrive. White men emerge and start clearing huge paths across fields. Giant metal birds land on the paths and unload massive boxes of cargo: food, equipment, tools, weapons, and so on. Amazing riches and new technology flood the island.

Soldiers arrive in the Pacific islands during World War II

These are U.S. military troops landing. World War II is spreading across the southwest Pacific, and the Americans are establishing military bases to combat the Japanese.

But the islanders know nothing of this broader theater of war. To them, it simply appears that these strange visitors are engaging in a bizarre ritual – clearing land, marching, building monuments – and deliveries of amazing technology just appear as a result.

The war ends, and the troops leave. And with them, the flow of goods dries up.

What do the islanders do? The obvious thing, at least to them: they recreate the conditions that brought about the success they just witnessed. They dig long airstrips in the dirt. They build control tower huts out of bamboo and full-scale replicas of airplanes out of twigs and branches. And then they wait for the goods to arrive.

Islanders adapt to soldiers leaving the Pacific islands after World War II

Of course, the goods never do arrive, no matter how many fake airplanes they build. And the reason is obvious from the outside: simply emulating the external properties of success doesn’t bring about a repeat of that success.

Just doing what you see someone else doing won’t necessarily work for you.

II. Our shared delusion

That’s why I’m hesitant to give you too much explicit advice.

I’ll tell you some things I learned so far while putting together the Product Design team at Intercom – which is a tricky thing to start. Where do you go to learn what happens behind closed doors at other companies that make great products?

Just doing what you see someone else doing won’t necessarily work for you

You can’t look to your peers in the industry, because all they’re going to tell you is that they are killing it, crushing it, changing the world. I don’t think I can read another Medium post about “our amazing journey towards design perfection”, especially when some days it feels like we’re struggling with the basics.

The truth, of course, is that these people are lying to you.

More accurately, they are post-rationalizing their design decisions and leaving out all the ugly stuff. I’ve worked with some of the best design teams around, and let me tell you: the truth is that behind closed doors, every one of them was a shitshow.

Yet nobody’s writing Medium posts admitting, “After months of toil, confusion, fights, despair, dead ends and exhausting effort, we’re relieved to finally get this compromised piece of shit out the door.” It’s a genuine problem: we only get to see the last 5% of each other’s work. The output.

So that’s the first thing: anyone who tells you that everything is perfect is probably lying to you.

The evolution of animals

Nothing in this world stays the same for long. The defining characteristic of startups is progress: ongoing creation, evolution, growth and improvement. This is good; it’s a sign of success. But if your environment is constantly changing, then it stands to reason that how you work needs to constantly change, too.

As soon as you’ve solved a problem, you haven’t really solved it; you’ve simply unlocked the next, new stage of problems.

III. Interesting times

Once I made peace with this idea, things got a little easier.

It’s ok not to know things or to iterate your way along. There’s no such thing as “done”. It’s not unlike being a designer. You design something, then you learn a bit more about it, and you iterate. And then you repeat the process. For me it’s all about progress: from the individual level, to the team level, to the company level, and even more broadly, to this whole project that we’re collectively working on called “technology”.

What do I mean by that?

May you live in interesting times

My title for this talk is “Design in Interesting Times”. It’s a take on the old Chinese expression, “May you live in interesting times.” As you probably know, it’s meant as more of a curse than a blessing. Interesting times are usually about chaos and strife and periods of massive change.

But let’s face it: we do live in interesting times. I don’t know if you’ve looked out the window, but there’s a lot of crazy shit going on out there right now.

Radical things happening in today's crazy world

Technology is a big part of this. There’s no way you can consider design or technology to be separate from all of this upheaval happening throughout the world today.

A lot of the problems we’re seeing today are because change is happening at a rate with which society can’t keep up. We’ve got all these 19th-century institutions that can’t cope with the 21st-century problems being thrown at them by this more complex, connected, fast-moving world.

The truth, of course, is that these people are lying to you

We see traditional journalism struggle to adapt to a new definition of “news” in the age of Facebook. Our weather systems are going haywire as a result of this massive globalized trade system we’ve built. Nations are tearing themselves apart as the planet becomes more connected, yet countries are becoming more divided.

Technological progress is good. But it also creates instability and increases complexity.

Or as a wise man once said:

“I think that computers have complicated lives very greatly. The whole age of computer has made it where nobody knows exactly what’s going on.” – Donald Trump

It makes you think. But it’s true! It feels like it’s getting harder than ever to keep up. It seems like everything is speeding up. Why is that?

IV. Technology leads to exponential change

Let’s look at the way that the world has changed over long periods of human history.

This is a slight simplification, but for a long, long time, not a lot happened! For many millennia, humans lived as hunter-gatherers (much like those South Pacific islanders), and the notion of “progress” wasn’t really a thing.

But then a chain of events started to unfold.

Ten thousand years ago, the Agricultural Revolution allowed hunter-gatherers to settle into villages. A lucky few got to spend less time on subsistence living, and thus had more time to spend on other pursuits. Slowly, some of them invented new things.

The Agricultural Revolution

Fast forward to 2,000 years ago. Things are still moving slowly, but over many centuries, paper, gunpowder and printing emerge.

Technological developments of paper and gunpowder

Now, it’s the 1700s. The steam engine is the animating force behind the Industrial Revolution. Factories and trains are now possible, and we start to pick up more speed.

The Industrial Revolution

1800s: electric batteries, photography, refrigeration, the internal combustion engine, bicycles, plastic, dynamite, the telephone, light bulbs. We’re moving faster now.

The inventions of the light bulb, camera and telephone

1900s: airplanes, the assembly line, television, jet engines, radar, the atomic bomb, microwaves, transistors, computers, solar power, nuclear power, satellites, microchips, lasers, human space flight, the internet, genetic engineering, cloning, Google. Things are moving faster than at any point in human history.

Inventions of the 20th-century

And here we are today, with smartphones, AI, self-driving cars, Tinder, and whatever comes next. We are now careening along at a pace never before experienced in the history of humanity. Whereas before, when step changes came over many millennia, now they are happening every year.

The inventions of smartphones, self-driving cars and apps

You have exponential growth – the famous hockey stick effect – and there are all sorts of knock-on effects.

A graph of exponential change

In general, we consider these kinds of “up-and-to-the-right” charts to be good, right? For example, in the gif below we see what global GDP has looked like since the Industrial Revolution, which has allowed world population to grow in a similarly massive way. That leads to a bump in world energy consumption, which leads to global CO2 levels going through the roof and relates to the number of species going extinct.

The exponential growth of global GDP, population, energy consumption, CO2 in atmosphere and extinction

Exponential change kills products

Clearly, some of these things are good, and some are bad.

But it’s not a coincidence that all these charts look the same. They aren’t all directly causal, but they are all connected. Exponential change in one area – perhaps especially in technology – triggers second-order exponential changes in all sorts of other areas we could never have predicted. This seems to be an inherent property of technological progress.

Let’s bring this back home with one final chart. This is Intercom’s growth, as measured by recurring revenue. (Yay, a happy chart again!)

Intercom's Annual Reoccurring Revenue

But let’s remember the lesson we just learned: this little line is going to cause all sorts of other dramatic changes, at least for us within Intercom.

Growth unlocks all sorts of good things — people joining, more teams, new products — but also feature requests, bugs piling up, inconsistencies appearing. In fact, for most companies that follow this growth curve, the default path for the product is towards complexity.

The more you progress along this path of nominal success, the more moving parts you need to manage internally. It’s harder for everyone to stay in sync. As a result, people start to make decisions that are independently excellent, rational decisions. But taken in total, they start to lead the product in all sorts of inconsistent directions.

Here’s a quick example: we use emoji across our products at Intercom as a way for users to react to an announcement, rate an article, give feedback on a conversation or reply to a bot. But in each case it’s a slightly different treatment. Sometimes there’s a caption. Sometimes there’s a follow up action. Sometimes it’s in a card.

Inconsistencies in emoji reactions across the Intercom products

Taken in isolation, these are relatively small problems.

We have four different codebases to maintain, which means four times as many bugs. If we want to tweak anything, all four of these teams might end up talking to each other about staying in sync – or they won’t, and things will diverge even more.

The real problem is this is a “death by a thousand cuts”. If we let this slide, the entire product is riddled with inconsistencies before we know it. It’s confusing and difficult to use. Clearly, there’s a relationship between progress and complexity.

I don’t think this is just about emoji buttons. That’s a very trivial example, but I believe this trend applies to technology and the wider world in general. As things speed up and get more complex, they somehow start to break down. But that doesn’t mean we should just accept it. So now the question becomes: how do we break out of this pattern?

V. Malcolm McLean’s system

My short answer is that we need to become really good at thinking in systems. Here’s one more story to explain what I mean.

The transportation of cargo before the development of containerization

In the 1930s, during the Great Depression, a truck driver called Malcolm McLean had a problem. Every time he reached a port, it would take hours to unload all the bags and different-sized wooden crates from his truck, haul them onto the ship and arrange them in the hold. Especially at larger scales, it was messy, inefficient and slow.

That’s when Malcolm had an idea. He designed a system: trucks with standard, removable, metal containers on the back; standard portside cranes that could lift them off the truck bed; and ships with standard hulls that could hold the containers while optimizing for space.

Crucially, he made those standards available royalty-free to the world – effectively open-sourcing them – because he knew that having his system adopted as widely as possible was key to its success. Malcolm McLean had invented containerization.

The transportation of cargo before the development of containerization

His system ultimately reduced the cost of moving goods by more than 90%, which unlocked all sorts of advances in global trade. This is why you can have blueberries in January, and also why you can have an iPhone. This system changed the world we live in.

VI. Systems for managing change

Building software can feel messy and inefficient, like that big pile of crates on the dockside. Especially as projects get bigger, they become more difficult to manage.

That’s why people building software have come up with ways of tackling this.

For example, services like Docker address the problem that software engineers had of moving their code from one place to another. Because there are so many dependencies in each environment, your code often breaks when you move it.

The solution is to establish a system

Docker’s solution is a bit like shipping containers: instead of moving all the contents and hoping for the best, it moves the whole self-contained environment. It’s quicker, simpler and you don’t have to keep a million things in your head at once. You can similarly think of Object Oriented Programming as simply modularizing code into chunks that are manageable and easy to reuse.

In all of these cases – Malcolm McLean, Docker, OOP – the solution is to establish a system. Having a reliable, standardized system allows us to abstract ourselves away from all of the messy details. It allows us to zoom out to a level of granularity we can keep track of.

All of this raises the question: can we apply some of these principles to the problems we have in the product design world? What might “Object Oriented Design” look like?

A bunch of people in the industry are figuring that out right now. “Design Systems” are emerging as a way of thinking about how to design products in this more abstracted, modular way.

In some sense, Design Systems have been around for many years, starting with the development of visual templates for signage and branding, where they were a way to build a whole family of visual elements without having to start from scratch each time.

New York City Transit Authority Graphics Standards Manual by Massimo Vignelli and Bob Noorda, 1970
New York City Transit Authority Graphics Standards Manual by Massimo Vignelli and Bob Noorda, 1970 source

Then, people building websites adopted this idea by coming up with reusable templates so web designers could very quickly knock together a consistent UI.

witter Bootstrap, originally created by Mark Otto and Jacob Thornton, 2011
Twitter Bootstrap, originally created by Mark Otto and Jacob Thornton, 2011

These templates are a bit like building with Lego bricks. You don’t have to design each part from scratch each time. Instead, you can just grab a bunch of pieces and stick them together. You can put a title and a search box together and call it a header. (By the way, if engineers love their container ship analogies, then designers love their Lego analogies.)

VII. Extending Design Systems

But as we saw with the Intercom emoji example earlier, just having a common set of blocks to build from isn’t quite enough. You can still take those individual blocks and put them together in all sorts of different, incoherent, inconsistent ways. It’s entirely possible that all your buttons have the same rounded corner radius and for your product to still be an absolute clusterfuck.

Legos stacking cleanly versus being put together randomlyTemplates are great, but don’t prevent inconsistent experiences.

But what if we take the idea further? That’s what we’ve been trying to do at Intercom. We’ve tried to take this idea further by actually capturing the meaningful parts of Intercom and encoding them as objects that we can use to build new designs.

What does that actually mean? It means that a designer doesn’t just have templates of buttons and headings. They have templates of “Intercom Stuff”: messages and conversations and customers and articles. These things are actual concepts inside the Intercom system, not just abstract UI widgets.

What’s more, we have code snippets for rendering the same Intercom objects and precise language to refer to them and help documents explain them. We have the same concepts all the way up the stack from code to customer, and as a result, everything is just simpler.

A lego-like Pattern Library vs a Full Stack design system

Even as we progress, and things speed up, and more people join, the conversation stays fairly simple. When we talk to each other, we’re using the same language. There’s very little confusion. Designers don’t need to know what every other designer is doing all the time. They just need to know the high-level objects and that they can safely use those objects in their own designs.

We’re still a relatively a small company. Trying to build multiple products at once is a little crazy. We’re prime candidates for everything to just fall apart and turn into a huge incoherent mess. So this Design Systems approach is key to our potential success.

Now, I wouldn’t be staying true to the spirit of this event if I stood here and claimed that we’ve nailed this. This is very much a work in progress. But that’s okay; we’re never going to be done. That seems to be the way progress works.

VIII. How does your garden grow?

I want to leave you with two simple things.

One is a statement: you should think of your product as a system from the very beginning. Then, building a Design System around your core product concepts will help to keep things nice and simple. I know that sounds ominously like advice, so feel free to ignore it.

You should think of your product as a system from the very beginning

The other is a question: can these deep, complicated problems we face in the world today be addressed by systems thinking?

Whether we like it or not, many people reading this are part of an industry that’s the primary cultural force driving change in the world today. Look, I love technology. But my suspicion is that despite all its merits, technology has also created a whole bunch of problems for us. And I’m not at all convinced that the solution to those problems is more technology.

But I do know that the world isn’t slowing down. And it’s going to involve a lot of complexity. We are islanders, witnessing this technology arrive on our shores with no real understanding of how to manage it.

When it comes to managing complex systems, the famous economist F.A. Hayek suggested we should think of ourselves less as craftspeople trying to achieve a specific outcome, and more like gardeners cultivating an environment for healthy, sustainable growth.

Plants growing in soil

The system isn’t rigged against us. We just need to learn how to work with it, how to tame it, how to guide it along – how, maybe, to be more like gardeners.

So: interesting times.

If you enjoyed this article, check out our other talks from the 2017 Inside Intercom world tour:

Intercom on starting up book