An Idea from Computer Science That Can Change Your Life

Years ago, I learned about an idea from computer science that has helped me in other areas of my life. It’s called the robustness principle, or Postel’s law (after Jon Postel, who formulated it while working on TCP.) The principle states:

Be conservative in what you do, be liberal in what you accept from others.

In this case, “conservative” and” liberal” aren’t political positions. Instead, they refer to the laxity of an application’s communications with other applications.

An application sends and receives data. Its designers have some control over the format of the former, but not so much over the latter. Incoming messages may be malformed either through noise or lack of care.

The application’s outputs should be well-defined and consistent — but it can’t expect the same from other applications. As a result, the application should be disciplined in what it emits and flexible with what it takes as input.

If all applications follow this principle, the system should hum along with few misunderstandings. At least in theory — as I understand it.

One area where the robustness principle has helped me is in relationships with other people. I aspire to be conservative in what and how I share (i.e., avoid drama) while understanding that other people will say all sorts of unmindful things.

The other person may have even been unreasonable or rude. But you have no idea what they’re going through. Their kid may be sick. They may have lost their job or been in a car accident. You don’t know their context. You can’t know their context.

As a result, it’s best to be patient with people. Often, they’re not trying to offend you — they’re just having a bad day/month/year/life. Or maybe they didn’t benefit from an education as good as yours. Whatever the case, give them leeway.

This isn’t to say you should take anything that comes your way. Sometimes, you’ll deal with truly malicious actors who are trying to “hack” you or mount a DDoS attack on your attention. Alas, distinguishing the (temporarily?) unskillful from the sociopaths takes practice.

But practice you must, because most people aren’t malicious. They’re just suffering — humans living messy human lives who haven’t prioritized communicating effectively. But you can. Be conservative in what you do and liberal in what you accept.

How to Use Social Media Without Losing Equanimity

I love this tweet from David Perell:

The phrase ‘intellectual grace’ resonates with me. It’s rare these days. Casually perusing social media soon reveals a high level of one-upmanship and unkindness. The most extreme expressions get more engagement, which is the coin of the realm.

That said, I’ve gotten a lot of value from social media — especially during the pandemic. My secret is twofold:

  1. I don’t take it too seriously, and
  2. I apply Postel’s law to my interactions online.
Continue reading

Structure Changes More Slowly Than Look-and-feel

Jeremy Burge on Twitter:

This comparison offers a great illustration of a design principle we covered in the fourth edition of the polar bear book: structure changes more slowly than look-and-feel.

Visually, these two screenshots look quite different. But they express the same conceptual models: a file/folder metaphor (and object-container relationship), windows that set aside portions of the display, a menu across the top of the screen (with the same menu items, even), etc. These structural constructs have endured for decades.

However, their presentation has changed as technologies and public tastes evolved. The original Macintosh featured a 512 x 314 pixel black-and-white display, which imposed many constraints on the system’s visual style. As computer displays became more capable, designers had more leeway with the presentation layer. This is the system in the early 2000s:

Mac OS X Aqua user interface.
Screenshot from Wikipedia.

Again, very different visually — but the underlying structure is recognizable. A user from 1984 would have little trouble learning the newer version three decades later.

As I’ve mentioned before, digital products don’t change uniformly; they manifest pace layers. Changing visuals is cheap; changing the underlying structures is expensive. Users accept visual changes more readily than structural changes. As a result, designers and stakeholders must take greater care when changing the structure of digital products.

Ethics and Patience in Design

In an inspiring interview for Madame Architect, Design Observer co-founder Jessica Helfand opines on the drive for more ethical design in large organizations:

The problem is that ethics is not an institutional concern: it’s a individual concern. And individual issues begin with one person, at one time, doing one thing. That requires faith, understanding, compassion, and the one thing that challenges everyone: patience. Ethics isn’t derived by market research, or determined by an algorithm-and that’s tricky, particularly if you’re one of these large, behemoth companies that puts profit ahead of people.

Spot on. Organizations can only be ethical to the degree that the people who compose them are clear on their own value hierarchies.

I also appreciated the call for patience, which seems in short supply these days. Lasting, meaningful change requires long-term thinking. Many calls for “instant” fixes to intractably complex issues strike me as naïve, short-sighted, and often at odds with the long-term viability of the institutions they aim to “correct.”

The theme of patience (and humility) about our contributions as designers — especially when working in teams — comes up again, in a different guise, towards the end of the interview:

It’s hard in architecture, because how can you feel that you are engaging in the world of the spatially meaningful, when you’re working for a team doing window details for sixteen months and the building will take twenty years, and it’s a bank? I think it’s hard for designers, particularly with how much we do this on teams – how do you reconcile your role, when you’re part of a bigger team, when the collective effort overshadows your own, arguably sporadic contributions? I think that’s true of all designers, but it may be especially true for young architects.

The entire article is worth your time. (I was also inspired by the discussion about the creative studio as a sanctuary, something I’ve neglected in my life. This interview set me thinking about how I can correct that deficit.)

Visual Thinking: Jessica Helfand on Invention, the Studio as Sanctuary, and Being a Collector

Chuck Jones and the Power of Discipline

Every Frame a Painting has a fantastic analysis of the work of master animator Chuck Jones:

As the video points out, Jones’s work has stood the test of time. Why? The video teases apart the elements that make Jones’s Looney Tunes cartoons work:

  • A two-part gag structure that 1) leads the viewer to make an assumption, and 2) proves that assumption wrong.
  • An emphasis on building character.
  • The discipline to abide by “the challenges and restrictions you set for yourself.”
  • Being open to inspiration from the real world.

The combination of these simple rules led to some most effective — and funniest — short films ever made. (Including my all-time favorite, One Froggy Evening.)

While all the rules are important for storytelling​, I consider discipline paramount since it transcends the medium. When creating a complex work (be it a book, a website, or an animated cartoon), you’re establishing a little universe with its own logic and rules. One of the central concerns of the creator is ensuring that this logic is internally coherent. While can sometimes be tempting to make exceptions for the sake of expediency, such exceptions often point to structural deficiencies, which left unresolved can ruin the work.

Having the discipline to abide by constraints (self-imposed and otherwise) is key to producing good work. Chuck Jones’s cartoons ultimately stand the test of time because of his insistence on abiding by the rules.

Chuck Jones – The Evolution of an Artist

How Do You Know What’s True?

How do you know what’s true? I mean this in the most prosaic way you can imagine. As in, how do you know which conditions about the “real” world should inform your decisions? Your answer to this question will have a big impact on your life.

Imagine you’re walking in the dark and hit a wall. The pain you feel is a good sign that the wall is “true.” It’s unarguably there; you just ran into it. The bump proves it. There’s a baseline here: what your senses are reporting back to you. The pain is information. If you have any wits, you’ll avoid doing that again.

Not everything is as obviously true. Let’s take another example. Say you’re trying to manage your weight, so you step onto your bathroom scale. The number you read on the scale’s display, too, is information. By itself, it’s less obviously meaningful than the pain you feel from the wall. To begin with, it’s more abstract than the bump. To make sense of the number, you must know what it is and what it means. Is it higher or lower than “normal”? Well, that requires that you know what “normal” is. If this is the first time weighing yourself, you may not have anything to compare it to. So you may have data, but not necessarily information.

Continue reading

Exploring the Possible

My friend Dave Gray has started something new; he calls it the School of the Possible. I describe it as a self-organizing framework for fostering and scaling emergent, long-term, value-generating group activities. Huh? Yeah, I know; not very concrete. Still, enticing — it hints at an opening for new ways to engage with others to add value to the world.

Intriguingly, it starts with re-discovering your purpose as an individual — what you’re here for. (After all, how can you add value if you’re unsure of what you’re here to do?) You manifest this purpose by setting up a “lab page” on Medium that clearly states your what you’re setting out to do, your progress so far, how you can help others, and how others can help you.

This is my lab page. The mere process of writing it has been useful; it’s helped me clarify ideas I’ve long had rattling around in my skull. I expect to continue to modify this page as these ideas evolve. Your feedback is welcome; please leave comments on the Medium page. And if you’d like to start a lab page of your own, this post explains the concept and basic structure.

What If This Were Easy?

You may have heard the story of the bride who cut off the ends of the roast. It’s an old legend with many variations. Snopes has a good one:

The new Jewish bride is making her first big dinner for her husband and tries her hand at her mother’s brisket recipe, cutting off the ends of the roast the way her mother always did. Hubby thinks the meat is delicious, but says, “Why do you cut off the ends — that’s the best part!” She answers, “That’s the way my mother always made it.”

The next week, they go to the old bubbie’s house, and she prepares the famous brisket recipe, again cutting off the ends. The young bride is sure she must be missing some vital information, so she askes her grandma why she cut off the ends. Grandma says, “Dahlink, that’s the only way it will fit in the pan!”

The point of this story is that sometimes we make life hard for ourselves by following traditions by rote. Often these traditions have a practical origin (e.g. grandma didn’t have a big enough pan) but over time have acquired a magical aura. “This is how we do it in this family,” or “this way the juices flow out of the ends,” or “this way the roast has more room.” Going through the motions without questioning the reasoning behind them can lead to unnecessary trouble.

When I hear people tell me something I’m planning to do is “hard”, I ask myself “Why is it hard?” And more to the point, I ask myself a question I love: “How would I go about this if I assumed it was easy, rather than hard?” I first heard a version of this question in Tim Ferriss’s podcast, and find it a good way of testing my assumptions about the “right” way to do things.

Often I find that the things we assume make the task “hard” can be easily accomplished with a new technology or a completely different approach. People just assume it’s hard because it’s been hard in the past, and they’re not questioning whether the conditions that made it hard are still true. Discovering an easier way to accomplish something hard is not only practical; it also gives me an energy boost. It satisfies my directive to take things by their smooth handle.

Theory and Practice

I sometimes have conversations that go like this:

Me: Have you seen the work x is doing?
Colleague: Yeah, it’s interesting but too academic.

By “too academic,” I think my interlocutor means theoretical as opposed to practical. And I can see he or she means; some work is definitely more theoretical than practical.

This distinction between theory and practice in design is interesting to me. On the one hand, I understand the value of practice. Real-world experiences can generate very useful heuristics. These can then be taught to others, leading to a robust body of knowledge over time.

However, I also see value in a theoretical approach to design work. Where a practical perspective can improve our craft, a theoretical perspective can change how we think of the work itself. This can spark insights that generate new heuristics and breakthroughs.

For example, early in my career, I sensed a relationship between the work I’d learned to do as an architect and the work I was doing designing software. I found no practical manual on how to do this, so I hypothesized connections between the two fields. These connections were not “practical” in the sense that they hadn’t been informed by the craft of designing software. But that doesn’t mean they weren’t useful; they helped give me a perspective that changed the way I approached the work. I tested the theory and developed a set of practical heuristics as a result of this perspective.

This interplay between theory and practice has served as the foundation of my career. I see them as counterparts, not opposites: Theory informs and enriches practice, and practice validates and evolves theory. There’s a place for both in the designer’s toolkit.