Blog

  • Design for Amiability: Lessons from Vienna

    Today’s web is not always an amiable place. Sites greet you with a popover that demands assent to their cookie policy, and leave you with Taboola ads promising “One Weird Trick!” to cure your ailments. Social media sites are tuned for engagement, and few things are more engaging than a fight. Today it seems that people want to quarrel; I have seen flame wars among birders.  

    These tensions are often at odds with a site’s goals. If we are providing support and advice to customers, we don’t want those customers to wrangle with each other. If we offer news about the latest research, we want readers to feel at ease; if we promote upcoming marches, we want our core supporters to feel comfortable and we want curious newcomers to feel welcome. 

    In a study for a conference on the History of the Web, I looked to the origins of Computer Science in Vienna (1928-1934)  for a case study of the importance of amiability in a research community and the disastrous consequences of its loss. That story has interesting implications for web environments that promote amiable interaction among disparate, difficult (and sometimes disagreeable) people.

    The Vienna Circle

    Though people had been thinking about calculating engines and thinking machines from antiquity, Computing really got going in Depression-era Vienna.  The people who worked out the theory had no interest in building machines; they wanted to puzzle out the limits of reason in the absence of divine authority. If we could not rely on God or Aristotle to tell us how to think, could we instead build arguments that were self-contained and demonstrably correct? Can we be sure that mathematics is consistent? Are there things that are true but that cannot be expressed in language? 

    The core ideas were worked out in the weekly meetings (Thursdays at 6) of a group remembered as the Vienna Circle. They got together in the office of Professor Moritz Schlick at the University of Vienna to discuss problems in philosophy, math, and language. The intersection of physics and philosophy had long been a specialty of this Vienna department, and this work had placed them among the world leaders.  Schlick’s colleague Hans Hahn was a central participant, and by 1928 Hahn brought along his graduate students Karl Menger and Kurt Gödel. Other frequent participants included philosopher Rudolf Carnap, psychologist Karl Popper, economist Ludwig von Mises (brought by his brother Frederick, a physicist),  graphic designer Otto Neurath (inventor of infographics), and architect Josef Frank (brought by his physicist brother, Phillip).  Out-of-town visitors often joined, including the young Johnny von Neumann, Alfred Tarski, and the irascible Ludwig Wittgenstein. 

    When Schlick’s office grew too dim, participants adjourned to a nearby café for additional discussion with an even larger circle of participants.  This convivial circle was far from unique.  An intersecting circle–Neurath, von Mises, Oskar Morgenstern–established the Austrian School of free-market economics. There were theatrical circles (Peter Lorre, Hedy Lamarr, Max Reinhardt), and literary circles. The café was where things happened.

    The interdisciplinarity of the group posed real challenges of temperament and understanding. Personalities were often a challenge. Gödel was convinced people were trying to poison him. Architect Josef Frank depended on contracts for public housing, which Mises opposed as wasteful. Wittgenstein’s temper had lost him his job as a secondary school teacher, and for some of these years he maintained a detailed list of whom he was willing to meet. Neurath was eager to detect muddled thinking and would interrupt a speaker with a shouted “Metaphysics!” The continuing amity of these meetings was facilitated by the personality of their leader, Moritz Schlick, who would be remembered as notably adept in keeping disagreements from becoming quarrels.

    In the Café

    The Viennese café of this era was long remembered as a particularly good place to argue with your friends, to read, and to write. Built to serve an imperial capital, the cafés found themselves with too much space and too few customers now that the Empire was gone. There was no need to turn tables: a café could only survive by coaxing customers to linger. Perhaps they would order another coffee, or one of their friends might drop by. One could play chess, or billiards, or read newspapers from abroad. Coffee was invariably served with a glass of purified spring water, still a novelty in an era in which most water was still unsafe to drink. That water glass would be refilled indefinitely. 

    In the basement of one café, the poet Jura Soyfer staged “The End Of The World,” a musical comedy in which Professor Peep has discovered a comet heading for earth.

    Prof. Peep: The comet is going to destroy everybody!

    Hitler:  Destroying everybody is my business.

    Of course, coffee can be prepared in many ways, and the Viennese café developed a broad vocabulary to represent precisely how one preferred to drink it: melange, Einspänner, Brauner, Schwarzer, Kapuziner. This extensive customization, with correspondingly esoteric conventions of service, established the café as a comfortable and personal third space, a neutral ground in which anyone who could afford a coffee would be welcome. Viennese of this era were fastidious in their use of personal titles, of which an abundance were in common use. Café waiters greeted regular customers with titles too, but were careful to address their patrons with titles a notch or two greater than they deserved. A graduate student would be Doktor, an unpaid postdoc Professor.  This assurance mattered all the more because so many members of the Circle (and so many other Viennese) came from elsewhere: Carnap from Wuppertal, Gödel from Brno, von Neumann from Budapest. No one was going to make fun of your clothes, mannerisms, or accent. Your friends wouldn’t be bothered by the pram in the hall. Everyone shared a Germanic Austrian literary and philosophical culture, not least those whose ancestors had been Eastern European Jews who knew that culture well, having read all about it in books.

    The amiability of the café circle was enhanced by its openness. Because the circle sometimes extended to architects and actors, people could feel less constrained to admit shortfalls in their understanding. It was soon discovered that marble tabletops made a useful surface for pencil sketches, serving all as an improvised and accessible blackboard.

    Comedies like “The End Of The World” and fictional newspaper sketches or feuilletons of writers like Joseph Roth and Stefan Zweig served as a second defense against disagreeable or churlish behavior. The knowledge that, if one got carried away, a parody of one’s remarks might shortly appear in Neue Freie Presse surely helped Professor Schlick keep matters in hand.

    The End Of Red Vienna

    Though Austria’s government drifted to the right after the War, Vienna’s city council had been Socialist, dedicated to public housing based on user-centered design, and embracing  ambitious programs of public outreach and adult education. In 1934 the Socialists lost a local election, and this era soon came to its end as the new administration focused on the imagined threat of the International Jewish Conspiracy. Most members of the Circle fled within months: von Neumann to Princeton, Neurath to Holland and Oxford, Popper to New Zealand, Carnap to Chicago. Prof. Schlick was murdered on the steps of the University by a student outraged by his former association with Jews.  Jura Soyfer, who wrote “The End Of The World,” died in Buchenwald.

    In 1939, von Neumann finally convinced Gödel to accept a job in Princeton. Gödel was required to pay large fines to emigrate. The officer in charge of these fees would look back on this as the best posting of his career; his name was Eichmann.

    Design for Amiability

    An impressive literature recounts those discussions and the environment that facilitated the development of computing. How can we design for amiability?  This is not just a matter of choosing rounded typefaces and a cheerful pastel palette. I believe we may identify eight distinct issues that exert design forces in usefully amiable directions.

    Seriousness: The Vienna Circle was wrestling with a notoriously difficult book—Wittgenstein’s Tractus Logico-Philosophicus—and a catalog of outstanding open questions in mathematics. They were concerned with consequential problems, not merely scoring points for debating. Constant reminders that the questions you are considering matter—not only that they are consequential or that those opposing you are scoundrels—help promote amity.

    Empiricism: The characteristic approach of the Vienna Circle demanded that knowledge be grounded either in direct observation or in rigorous reasoning. Disagreement, when it arose, could be settled by observation or by proof. If neither seemed ready to hand, the matter could not be settled. On these terms, one can seldom if ever demolish an opposing argument, and trolling is pointless.

    Abstraction: Disputes grow worse when losing the argument entails lost face or lost jobs. The Vienna Circle’s focus on theory—the limits of mathematics, the capability of language—promoted amity. Without seriousness, abstraction could have been merely academic, but the limits of reason and the consistency of mathematics were clearly serious.

    Formality: The punctilious demeanor of waiters and the elaborated rituals of coffee service helped to establish orderly attitudes amongst the argumentative participants. This stands in contrast to the contemptuous sneer that now dominates social media.  

    Schlamperei: Members of the Vienna Circle maintained a global correspondence, and they knew their work was at the frontier of research. Still, this was Vienna, at the margins of Europe: old-fashioned, frumpy, and dingy. Many participants came from even more obscure backwaters. Most or all harbored the suspicion that they were really schleppers, and a tinge of the ridiculous helped to moderate tempers. The director of “The End Of The World” had to pass the hat for money to purchase a moon for the set, and thought it was funny enough to write up for publication.

    Openness: All sorts of people were involved in discussion, anyone might join in. Each week would bring different participants. Fluid borders reduce tension, and provide opportunities to broaden the range of discussion and the terms of engagement. Low entrance friction was characteristic of the café: anyone could come, and if you came twice you were virtually a regular. Permeable boundaries and café culture made it easier for moderating influences to draw in raconteurs and storytellers to defuse awkward moments, and Vienna’s cafés had no shortage of humorists. Openness counteracts the suspicion that promoters of amiability are exerting censorship.

    Parody: The environs of the Circle—the university office and the café—were unmistakably public. There were writers about, some of them renowned humorists. The prospect that one’s bad taste or bad behavior might be ridiculed in print kept discussion within bounds. The sanction of public humiliation, however, was itself made mild by the veneer of fiction; even if you got a little carried away and a character based on you made a splash in some newspaper fiction, it wasn’t the end of the world.

    Engagement: The subject matter was important to the participants, but it was esoteric: it did not matter very much to their mothers or their siblings. A small stumble or a minor humiliation could be shrugged off in ways that major media confrontations cannot.

    I believe it is notable that this environment was designed to promote amiability through several different voices.  The café waiter flattered each newcomer and served everyone, and also kept out local pickpockets and drunks who would be mere disruptions. Schlick and other regulars kept discussion moving and on track. The fiction writers and raconteurs—perhaps the most peripheral of the participants—kept people in a good mood and reminded them that bad behavior could make anyone ridiculous.  Crucially, each of these voices were human: you could reason with them. Algorithmic or AI moderators, however clever, are seldom perceived as reasonable. The café circles had no central authority or Moderator against whom everyone’s resentments might be focused. Even after the disaster of 1934, what people remembered were those cheerful arguments.

  • Good designers, bad websites: a proposal

    I want to discuss accessibility because it is the most important thing for making websites. Other A List Apart articles give you innovation and insight. This article will give you homework. These are just my personal views, but they’re pretty good.

    I want to start off with a couple of statements, and you will agree:

    1. Designers are good people. I have never heard a designer say, “I don’t care if somebody can’t read this text”, “Not my fault if somebody can’t use this device”, or “Who cares if this is confusing?”
    2. Some designs exclude people. You have seen people unable to read the text on a website or app that somebody designed. You’ve seen people unable to use a physical device that somebody has designed. You’ve seen people utterly bamboozled while trying to use a service that somebody designed.

    So what?

    The first question is, “Is this life-or-death stuff?” The answer is, “Yes.” In my favorite essay, This Is All There Is, Aral Balkan makes the point that pretty much everything that we design can affect life events and death events. Aral gives the example of how even a straightforward bus timetable app can affect life and death events, if we design it badly:

    • somebody might miss a life event, such as their daughter’s fifth birthday party; or
    • somebody might miss a death event, such as the chance to say goodbye to a dying grandmother.

    The next—and frustrating—question is, “Why do some designs still exclude people?” After all, we know that:

    • not everybody can see perfectly;
    • not everybody can hear perfectly;
    • not everybody thinks the same way; and
    • not everybody moves the same way.

    I think the answer is that there’s too much to recall. Consider, if you will, the wide variety of topics that A List Apart articles cover. Designers are expected to remember all of that guidance, plus all of the accessibility guidance, plus so much more. It is too much.

    Recognizing accessibility issues while designing

    I’d like to point toward one possible solution, starting from Jakob Nielsen’s 10 Usability Heuristics for User Interface Design. These are from the mid-1990s, and—although there’s a good chance that you, gentle reader, are a lot younger than that—please bear with me. 

    Seeing as the problem is that there’s too much to recall, I want to look at heuristic № 6, “Recognition rather than Recall.” Jakob Nielsen said that for users, information required to use the design should be visible or easily retrievable when needed. I suggest we tweak that to make life easier for designers. Let’s say that the information required to produce the design should be visible or easily retrievable when needed. In other words, let’s make it easier to recognise accessibility issues while we’re designing.

    How are we going to do that? I really like the book A Web for Everyone—Designing Accessible User Experiences by Sarah Horton and Whitney Quesenbery. I really like this book not only because it includes a quote from me—actually two quotes, but I don’t like to boast—but because it includes personas that are perfect for helping us to recognise accessibility issues. That’s the good news. The even better news is that these personas are available now for free on the companion website to the book What Every Engineer Should Know About Digital Accessibility, again by Sarah Horton, with David Sloan this time.

    Meet your users

    I’m going to introduce you to these personas now:

    I want to throw one more persona at you now, because, well, A List Apart readers are overachievers. One of my favorite authors, Cennydd Bowles—who literally wrote the book on Future Ethics—says to create Personas Non Grata. In other words, every time we design something, we have to think about what a bad guy could do with that thing, and whom that might affect.

    To actually use these personas while designing, I like what Eric Meyer and Sara Wachter-Boettcher in Design for Real Life call the Designated Dissenter: for each project that you work on, one of your teams should be responsible for asking, “Will this work for Vishnu?”, “How’s Trevor going to get on with this?”, and so on. 

    Then, once you’ve used the personas to recognise the accessibility issues, you can look up the guidelines for whichever platforms you’re designing for: 

    Your mission, should you choose to accept it

    I told you in the introduction of this article that I would give you homework. You thought I was joking. So, here’s your homework: I want you to grab the personas from the Know About Accessibility website, and use them throughout every design project to help you recognise accessibility issues while you work—and reclaim design for everyone.


    NOTE: This article is based on “Recognise,” my five-minute presentation from Interaction Design Association (IxDA) Dublin’s Defuse (Design for Use) event in 2025.

  • Designed for a Dead Language

    Every language app in your pocket inherited a teaching method built for Latin. Understanding why that happened is a more useful design lesson than anything the apps themselves will teach you.

    In 1788, Prussia introduced the Abitur, a standardized national examination required for entry into universities and the civil service. To pass it, students needed to demonstrate measurable, gradable knowledge. The system needed to teach language to large classrooms, produce consistent outcomes, and do it with one teacher and thirty students. The educators responsible for designing this system reached for the only teaching template they had, one that had been used in European schools for two centuries: the method developed to teach Latin.

    Latin, by 1788, was a dead language. Nobody needed to speak it. The scholars who studied it were reading Cicero and Virgil, not conducting conversations. The method built around it, memorizing grammar rules, constructing translations, analyzing written texts, reflected that reality exactly. Oral skills were irrelevant. Comprehension of written form was everything. The method was not designed to produce speakers. It was designed to produce readers of texts in a language nobody spoke.

    When Prussia applied this template to French and German, living languages spoken by living people, the premise did not change. Johann Valentin Meidinger’s textbook Praktische Französische Grammatik, published in 1804, ran to 37 editions across Europe by 1857. Karl Plotz formalized the approach into what became the dominant model for teaching modern languages across Europe and eventually the United States, where it became known simply as the Prussian Method [1]. Each institution that adopted it trained teachers in it, who trained students who became teachers. The constraint that created the method, how do you grade language at scale with limited resources, became invisible inside the method itself. What remained was the assumption: language is a body of rules to be learned consciously and measured. It was a design decision dressed up, over time, as a pedagogical truth.

    The observation that should have ended it

    There are people in the world who cannot read or write a language and speak it fluently. There are children who hold full conversations years before they can read a single word. There are immigrants who arrive in a country knowing nothing of its language and come out, years later, speaking it naturally, not because they studied it, but because they lived inside it. Literacy and fluency are separate things produced by entirely separate mechanisms. The Grammar-Translation method, as it became known, assumed they were the same thing. That assumption was inherited from a method designed for a language nobody needed to speak, and it was wrong the moment it was applied to a language people actually used.

    The evidence against it accumulated slowly. In the mid to late nineteenth century, reformers including François Gouin in France and Maximilian Berlitz in the United States argued independently that language should be taught the way it is actually acquired, through immersive exposure to real communication in the target language, not through analysis of its rules. Berlitz built an entire school network around this principle. The reformers were correct. They were also largely ignored by mainstream education systems, because the Grammar-Translation method had one decisive advantage that direct immersion did not: it could be graded.

    In 1982, the linguist Stephen Krashen gave the argument its most formal articulation in what he called the Monitor Model of second language acquisition. His distinction was precise: language acquisition, the unconscious process through which children absorb their native language and through which adults succeed in immersive environments, is categorically different from language learning, the conscious study of grammar rules and vocabulary that classrooms deliver [2]. Acquisition produces fluency. Learning, at best, produces the ability to pass a test. The evidence supporting this distinction, and the observation that immersive exposure to real native-speaker communication is the mechanism that produces genuine fluency, has only grown since.

    I went to Brazil without a word of Portuguese and came out speaking it. I studied French in a classroom for years and cannot hold a conversation in French today. This is not an unusual experience. It is the expected outcome, and it has been the expected outcome for as long as we have had formal language education.

    The same decision, made again in a different medium

    Prussian educators faced the question: How do you deliver language learning at scale, measure progress, and retain users over time? The answer it arrived at was structurally identical to the one arrived at in 1788. Duolingo gamified the grammar drill into a streak. Anki formalized the translation exercise into a spaced-repetition flashcard. Babbel organized grammar lessons into structured modules. The interfaces were new. The underlying assumption, that language is a thing you study rather than an environment you inhabit, was not.

    This was not a failure of design skill. The products that emerged from these decisions are, in many respects, genuinely well-crafted. Duolingo’s retention mechanics are sophisticated. Anki’s spaced repetition is grounded in real cognitive science. They are excellent at what they actually do. The problem is what they actually do: produce measurable engagement with a proxy for language rather than the conditions that produce language itself. A streak is measurable. A vocabulary score is measurable. The moment a user walks out of an app and holds a real conversation in another language, that happens in the world, outside the product, and cannot be instrumented.

    When the outcome a user needs is difficult to measure directly, the design process tends to reach for something that can be measured. The proxy becomes the goal. The interface optimizes for it. The gap between what the product delivers and what the user actually needed grows. This is not a pattern unique to language learning. It is a pattern that repeats across product categories whenever a design constraint—the need to measure, the need to scale, the need to produce a grade—gets built into a system so deeply that it stops being visible as a constraint and starts being mistaken for a truth about the problem itself.

    What happens when the constraint changes

    The constraint that made the Grammar-Translation method necessary in 1788 was real and rational. One teacher. Thirty students. A standardized exam. You cannot grade a conversation at scale. You can grade a translation exercise. The method was not chosen because it produced fluency. It was chosen because it produced a score.

    That constraint no longer exists in the same form. Technology has made it possible to deliver immersive, real-time conversation practice to anyone with a smartphone, at a cost that continues to fall. The design problem is no longer how to make language learning gradable at scale. It is how to make the conditions of genuine language acquisition accessible to people who cannot move to another country or afford a native-speaker tutor.

    The products that are now closest to solving the actual problem are not the ones that invented a new pedagogy. They are the ones that removed the access barrier to an old one. Praktika builds AI conversation partners with distinct personalities, regional dialects, and cultural context, replicating the specificity of a real native speaker rather than a generic language-learning voice. Langua clones native speaker voices so that the interaction feels like a real conversation rather than a lesson. Rosetta Stone’s foundational methodology, image association in the target language with no translation, was built on the same insight Berlitz arrived at in the nineteenth century: language is acquired through immersive exposure, not through analysis of its rules [3]. A 2025 meta-analysis of 31 studies found that AI conversation tools produced a statistically significant improvement in language learning outcomes, a result that no amount of flashcard optimization has consistently matched [4].

    None of these products invented a new theory of language acquisition. They translated an existing one into something more people could reach.

    The design question this leaves

    The Grammar-Translation method persisted not because educators were wrong about design, but because a design decision made under a specific constraint became, over two centuries, indistinguishable from the thing itself. The constraint, how do you grade language at scale, was forgotten. The method it produced was inherited as if it were a description of how language works, passed from Prussia to Europe to America to the App Store, from the grammar drill to the streak.

    Every time a design team optimizes for a metric because the actual outcome is hard to measure, they are making a version of the same decision. It is often the right decision given real constraints. The question worth asking is whether the constraint that made it necessary still exists, or whether it has simply become invisible inside the system it originally produced.

    Before reaching for what can be measured, it is worth asking what the user actually needs to do, and what stopped them from doing it before. Sometimes the answer is a new solution. More often it is an old one that was always out of reach.

  • Roulette Tables



    Roulette tables combine a wheel with a marked surface used during the game. The equipment creates a distinctive arrangement within a gaming room, with designated areas for the wheel, participants, and the staff member managing the activity.

    The height and position of the table affect visibility and movement around it. Like other specialized furnishings, it also needs suitable lighting, cleaning, and inspection so that its physical condition remains appropriate for regular use.

    The relationship between appearance and function is especially important in a frequently used venue. Decorative choices contribute to character, but the same materials and objects must also withstand cleaning, movement, and repeated handling. A design can remain attractive for longer when maintenance requirements are considered before the space begins operating.

    Periodic review allows a property to compare its intended arrangements with actual daily use. Useful questions concern access, comfort, waiting, maintenance, and the clarity of information. These observations do not require every space to look the same; they help each area perform its particular role within the larger venue.

    The most informative assessment considers the entire journey through the property. A comfortable room can still be difficult to use if it is poorly signposted, and a clear entrance can lead to confusing internal routes. Looking at these connections gives a fuller picture than judging individual features entirely in isolation.

    The table can be understood as an example of equipment design in which layout, visibility, and established procedures are closely connected. Over time, changes in visitor patterns and service arrangements may call for adjustments, making regular observation a useful complement to the original design and to the procedures established when a facility first opens.

  • Roulette Tables



    Roulette tables combine a wheel with a marked surface used during the game. The equipment creates a distinctive arrangement within a gaming room, with designated areas for the wheel, participants, and the staff member managing the activity.

    The height and position of the table affect visibility and movement around it. Like other specialized furnishings, it also needs suitable lighting, cleaning, and inspection so that its physical condition remains appropriate for regular use.

    The relationship between appearance and function is especially important in a frequently used venue. Decorative choices contribute to character, but the same materials and objects must also withstand cleaning, movement, and repeated handling. A design can remain attractive for longer when maintenance requirements are considered before the space begins operating.

    Periodic review allows a property to compare its intended arrangements with actual daily use. Useful questions concern access, comfort, waiting, maintenance, and the clarity of information. These observations do not require every space to look the same; they help each area perform its particular role within the larger venue.

    The most informative assessment considers the entire journey through the property. A comfortable room can still be difficult to use if it is poorly signposted, and a clear entrance can lead to confusing internal routes. Looking at these connections gives a fuller picture than judging individual features entirely in isolation.

    The table can be understood as an example of equipment design in which layout, visibility, and established procedures are closely connected. Over time, changes in visitor patterns and service arrangements may call for adjustments, making regular observation a useful complement to the original design and to the procedures established when a facility first opens.

  • Roulette Tables



    Roulette tables combine a wheel with a marked surface used during the game. The equipment creates a distinctive arrangement within a gaming room, with designated areas for the wheel, participants, and the staff member managing the activity.

    The height and position of the table affect visibility and movement around it. Like other specialized furnishings, it also needs suitable lighting, cleaning, and inspection so that its physical condition remains appropriate for regular use.

    The relationship between appearance and function is especially important in a frequently used venue. Decorative choices contribute to character, but the same materials and objects must also withstand cleaning, movement, and repeated handling. A design can remain attractive for longer when maintenance requirements are considered before the space begins operating.

    Periodic review allows a property to compare its intended arrangements with actual daily use. Useful questions concern access, comfort, waiting, maintenance, and the clarity of information. These observations do not require every space to look the same; they help each area perform its particular role within the larger venue.

    The most informative assessment considers the entire journey through the property. A comfortable room can still be difficult to use if it is poorly signposted, and a clear entrance can lead to confusing internal routes. Looking at these connections gives a fuller picture than judging individual features entirely in isolation.

    The table can be understood as an example of equipment design in which layout, visibility, and established procedures are closely connected. Over time, changes in visitor patterns and service arrangements may call for adjustments, making regular observation a useful complement to the original design and to the procedures established when a facility first opens.

  • Roulette Tables



    Roulette tables combine a wheel with a marked surface used during the game. The equipment creates a distinctive arrangement within a gaming room, with designated areas for the wheel, participants, and the staff member managing the activity.

    The height and position of the table affect visibility and movement around it. Like other specialized furnishings, it also needs suitable lighting, cleaning, and inspection so that its physical condition remains appropriate for regular use.

    The relationship between appearance and function is especially important in a frequently used venue. Decorative choices contribute to character, but the same materials and objects must also withstand cleaning, movement, and repeated handling. A design can remain attractive for longer when maintenance requirements are considered before the space begins operating.

    Periodic review allows a property to compare its intended arrangements with actual daily use. Useful questions concern access, comfort, waiting, maintenance, and the clarity of information. These observations do not require every space to look the same; they help each area perform its particular role within the larger venue.

    The most informative assessment considers the entire journey through the property. A comfortable room can still be difficult to use if it is poorly signposted, and a clear entrance can lead to confusing internal routes. Looking at these connections gives a fuller picture than judging individual features entirely in isolation.

    The table can be understood as an example of equipment design in which layout, visibility, and established procedures are closely connected. Over time, changes in visitor patterns and service arrangements may call for adjustments, making regular observation a useful complement to the original design and to the procedures established when a facility first opens.

  • Sustainable Web Design, An Excerpt

    Sustainable Web Design, An Excerpt

    In the 1950s, many in the elite running community had begun to believe it wasn’t possible to run a mile in less than four minutes. Runners had been attempting it since the late 19th century and were beginning to draw the conclusion that the human body simply wasn’t built for the task. 

    But on May 6, 1956, Roger Bannister took everyone by surprise. It was a cold, wet day in Oxford, England—conditions no one expected to lend themselves to record-setting—and yet Bannister did just that, running a mile in 3:59.4 and becoming the first person in the record books to run a mile in under four minutes. 

    This shift in the benchmark had profound effects; the world now knew that the four-minute mile was possible. Bannister’s record lasted only forty-six days, when it was snatched away by Australian runner John Landy. Then a year later, three runners all beat the four-minute barrier together in the same race. Since then, over 1,400 runners have officially run a mile in under four minutes; the current record is 3:43.13, held by Moroccan athlete Hicham El Guerrouj.

    We achieve far more when we believe that something is possible, and we will believe it’s possible only when we see someone else has already done it—and as with human running speed, so it is with what we believe are the hard limits for how a website needs to perform.

    Establishing standards for a sustainable web

    In most major industries, the key metrics of environmental performance are fairly well established, such as miles per gallon for cars or energy per square meter for homes. The tools and methods for calculating those metrics are standardized as well, which keeps everyone on the same page when doing environmental assessments. In the world of websites and apps, however, we aren’t held to any particular environmental standards, and only recently have gained the tools and methods we need to even make an environmental assessment.

    The primary goal in sustainable web design is to reduce carbon emissions. However, it’s almost impossible to actually measure the amount of CO2 produced by a web product. We can’t measure the fumes coming out of the exhaust pipes on our laptops. The emissions of our websites are far away, out of sight and out of mind, coming out of power stations burning coal and gas. We have no way to trace the electrons from a website or app back to the power station where the electricity is being generated and actually know the exact amount of greenhouse gas produced. So what do we do? 

    If we can’t measure the actual carbon emissions, then we need to find what we can measure. The primary factors that could be used as indicators of carbon emissions are:

    1. Data transfer 
    2. Carbon intensity of electricity

    Let’s take a look at how we can use these metrics to quantify the energy consumption, and in turn the carbon footprint, of the websites and web apps we create.

    Data transfer

    Most researchers use kilowatt-hours per gigabyte (kWh/GB) as a metric of energy efficiency when measuring the amount of data transferred over the internet when a website or application is used. This provides a great reference point for energy consumption and carbon emissions. As a rule of thumb, the more data transferred, the more energy used in the data center, telecoms networks, and end user devices.

    For web pages, data transfer for a single visit can be most easily estimated by measuring the page weight, meaning the transfer size of the page in kilobytes the first time someone visits the page. It’s fairly easy to measure using the developer tools in any modern web browser. Often your web hosting account will include statistics for the total data transfer of any web application (Fig 2.1).

    The nice thing about page weight as a metric is that it allows us to compare the efficiency of web pages on a level playing field without confusing the issue with constantly changing traffic volumes. 

    Reducing page weight requires a large scope. By early 2020, the median page weight was 1.97 MB for setups the HTTP Archive classifies as “desktop” and 1.77 MB for “mobile,” with desktop increasing 36 percent since January 2016 and mobile page weights nearly doubling in the same period (Fig 2.2). Roughly half of this data transfer is image files, making images the single biggest source of carbon emissions on the average website. 

    History clearly shows us that our web pages can be smaller, if only we set our minds to it. While most technologies become ever more energy efficient, including the underlying technology of the web such as data centers and transmission networks, websites themselves are a technology that becomes less efficient as time goes on.

    You might be familiar with the concept of performance budgeting as a way of focusing a project team on creating faster user experiences. For example, we might specify that the website must load in a maximum of one second on a broadband connection and three seconds on a 3G connection. Much like speed limits while driving, performance budgets are upper limits rather than vague suggestions, so the goal should always be to come in under budget.

    Designing for fast performance does often lead to reduced data transfer and emissions, but it isn’t always the case. Web performance is often more about the subjective perception of load times than it is about the true efficiency of the underlying system, whereas page weight and transfer size are more objective measures and more reliable benchmarks for sustainable web design. 

    We can set a page weight budget in reference to a benchmark of industry averages, using data from sources like HTTP Archive. We can also benchmark page weight against competitors or the old version of the website we’re replacing. For example, we might set a maximum page weight budget as equal to our most efficient competitor, or we could set the benchmark lower to guarantee we are best in class. 

    If we want to take it to the next level, then we could also start looking at the transfer size of our web pages for repeat visitors. Although page weight for the first time someone visits is the easiest thing to measure, and easy to compare on a like-for-like basis, we can learn even more if we start looking at transfer size in other scenarios too. For example, visitors who load the same page multiple times will likely have a high percentage of the files cached in their browser, meaning they don’t need to transfer all of the files on subsequent visits. Likewise, a visitor who navigates to new pages on the same website will likely not need to load the full page each time, as some global assets from areas like the header and footer may already be cached in their browser. Measuring transfer size at this next level of detail can help us learn even more about how we can optimize efficiency for users who regularly visit our pages, and enable us to set page weight budgets for additional scenarios beyond the first visit.

    Page weight budgets are easy to track throughout a design and development process. Although they don’t actually tell us carbon emission and energy consumption analytics directly, they give us a clear indication of efficiency relative to other websites. And as transfer size is an effective analog for energy consumption, we can actually use it to estimate energy consumption too.

    In summary, reduced data transfer translates to energy efficiency, a key factor to reducing carbon emissions of web products. The more efficient our products, the less electricity they use, and the less fossil fuels need to be burned to produce the electricity to power them. But as we’ll see next, since all web products demand some power, it’s important to consider the source of that electricity, too.

    Carbon intensity of electricity

    Regardless of energy efficiency, the level of pollution caused by digital products depends on the carbon intensity of the energy being used to power them. Carbon intensity is a term used to define the grams of CO2 produced for every kilowatt-hour of electricity (gCO2/kWh). This varies widely, with renewable energy sources and nuclear having an extremely low carbon intensity of less than 10 gCO2/kWh (even when factoring in their construction); whereas fossil fuels have very high carbon intensity of approximately 200–400 gCO2/kWh. 

    Most electricity comes from national or state grids, where energy from a variety of different sources is mixed together with varying levels of carbon intensity. The distributed nature of the internet means that a single user of a website or app might be using energy from multiple different grids simultaneously; a website user in Paris uses electricity from the French national grid to power their home internet and devices, but the website’s data center could be in Dallas, USA, pulling electricity from the Texas grid, while the telecoms networks use energy from everywhere between Dallas and Paris.

    We don’t have control over the full energy supply of web services, but we do have some control over where we host our projects. With a data center using a significant proportion of the energy of any website, locating the data center in an area with low carbon energy will tangibly reduce its carbon emissions. Danish startup Tomorrow reports and maps this user-contributed data, and a glance at their map shows how, for example, choosing a data center in France will have significantly lower carbon emissions than a data center in the Netherlands (Fig 2.3).

    That said, we don’t want to locate our servers too far away from our users; it takes energy to transmit data through the telecom’s networks, and the further the data travels, the more energy is consumed. Just like food miles, we can think of the distance from the data center to the website’s core user base as “megabyte miles”—and we want it to be as small as possible.

    Using the distance itself as a benchmark, we can use website analytics to identify the country, state, or even city where our core user group is located and measure the distance from that location to the data center used by our hosting company. This will be a somewhat fuzzy metric as we don’t know the precise center of mass of our users or the exact location of a data center, but we can at least get a rough idea. 

    For example, if a website is hosted in London but the primary user base is on the West Coast of the USA, then we could look up the distance from London to San Francisco, which is 5,300 miles. That’s a long way! We can see that hosting it somewhere in North America, ideally on the West Coast, would significantly reduce the distance and thus the energy used to transmit the data. In addition, locating our servers closer to our visitors helps reduce latency and delivers better user experience, so it’s a win-win.

    Converting it back to carbon emissions

    If we combine carbon intensity with a calculation for energy consumption, we can calculate the carbon emissions of our websites and apps. A tool my team created does this by measuring the data transfer over the wire when loading a web page, calculating the amount of electricity associated, and then converting that into a figure for CO2 (Fig 2.4). It also factors in whether or not the web hosting is powered by renewable energy.

    If you want to take it to the next level and tailor the data more accurately to the unique aspects of your project, the Energy and Emissions Worksheet accompanying this book shows you how.

    With the ability to calculate carbon emissions for our projects, we could actually take a page weight budget one step further and set carbon budgets as well. CO2 is not a metric commonly used in web projects; we’re more familiar with kilobytes and megabytes, and can fairly easily look at design options and files to assess how big they are. Translating that into carbon adds a layer of abstraction that isn’t as intuitive—but carbon budgets do focus our minds on the primary thing we’re trying to reduce, and support the core objective of sustainable web design: reducing carbon emissions.

    Browser Energy

    Data transfer might be the simplest and most complete analog for energy consumption in our digital projects, but by giving us one number to represent the energy used in the data center, the telecoms networks, and the end user’s devices, it can’t offer us insights into the efficiency in any specific part of the system.

    One part of the system we can look at in more detail is the energy used by end users’ devices. As front-end web technologies become more advanced, the computational load is increasingly moving from the data center to users’ devices, whether they be phones, tablets, laptops, desktops, or even smart TVs. Modern web browsers allow us to implement more complex styling and animation on the fly using CSS and JavaScript. Furthermore, JavaScript libraries such as Angular and React allow us to create applications where the “thinking” work is done partly or entirely in the browser. 

    All of these advances are exciting and open up new possibilities for what the web can do to serve society and create positive experiences. However, more computation in the user’s web browser means more energy used by their devices. This has implications not just environmentally, but also for user experience and inclusivity. Applications that put a heavy processing load on the user’s device can inadvertently exclude users with older, slower devices and cause batteries on phones and laptops to drain faster. Furthermore, if we build web applications that require the user to have up-to-date, powerful devices, people throw away old devices much more frequently. This isn’t just bad for the environment, but it puts a disproportionate financial burden on the poorest in society.

    In part because the tools are limited, and partly because there are so many different models of devices, it’s difficult to measure website energy consumption on end users’ devices. One tool we do currently have is the Energy Impact monitor inside the developer console of the Safari browser (Fig 2.5).

    You know when you load a website and your computer’s cooling fans start spinning so frantically you think it might actually take off? That’s essentially what this tool is measuring. 

    It shows us the percentage of CPU used and the duration of CPU usage when loading the web page, and uses these figures to generate an energy impact rating. It doesn’t give us precise data for the amount of electricity used in kilowatts, but the information it does provide can be used to benchmark how efficiently your websites use energy and set targets for improvement.

  • Design for Safety, An Excerpt

    Design for Safety, An Excerpt

    Antiracist economist Kim Crayton says that “intention without strategy is chaos.” We’ve discussed how our biases, assumptions, and inattention toward marginalized and vulnerable groups lead to dangerous and unethical tech—but what, specifically, do we need to do to fix it? The intention to make our tech safer is not enough; we need a strategy.

    This chapter will equip you with that plan of action. It covers how to integrate safety principles into your design work in order to create tech that’s safe, how to convince your stakeholders that this work is necessary, and how to respond to the critique that what we actually need is more diversity. (Spoiler: we do, but diversity alone is not the antidote to fixing unethical, unsafe tech.)

    The process for inclusive safety

    When you are designing for safety, your goals are to:

    • identify ways your product can be used for abuse,
    • design ways to prevent the abuse, and
    • provide support for vulnerable users to reclaim power and control.

    The Process for Inclusive Safety is a tool to help you reach those goals (Fig 5.1). It’s a methodology I created in 2018 to capture the various techniques I was using when designing products with safety in mind. Whether you are creating an entirely new product or adding to an existing feature, the Process can help you make your product safe and inclusive. The Process includes five general areas of action:

    • Conducting research
    • Creating archetypes
    • Brainstorming problems
    • Designing solutions
    • Testing for safety

    The Process is meant to be flexible—it won’t make sense for teams to implement every step in some situations. Use the parts that are relevant to your unique work and context; this is meant to be something you can insert into your existing design practice.

    And once you use it, if you have an idea for making it better or simply want to provide context of how it helped your team, please get in touch with me. It’s a living document that I hope will continue to be a useful and realistic tool that technologists can use in their day-to-day work.

    If you’re working on a product specifically for a vulnerable group or survivors of some form of trauma, such as an app for survivors of domestic violence, sexual assault, or drug addiction, be sure to read Chapter 7, which covers that situation explicitly and should be handled a bit differently. The guidelines here are for prioritizing safety when designing a more general product that will have a wide user base (which, we already know from statistics, will include certain groups that should be protected from harm). Chapter 7 is focused on products that are specifically for vulnerable groups and people who have experienced trauma.

    Step 1: Conduct research

    Design research should include a broad analysis of how your tech might be weaponized for abuse as well as specific insights into the experiences of survivors and perpetrators of that type of abuse. At this stage, you and your team will investigate issues of interpersonal harm and abuse, and explore any other safety, security, or inclusivity issues that might be a concern for your product or service, like data security, racist algorithms, and harassment.

    Broad research

    Your project should begin with broad, general research into similar products and issues around safety and ethical concerns that have already been reported. For example, a team building a smart home device would do well to understand the multitude of ways that existing smart home devices have been used as tools of abuse. If your product will involve AI, seek to understand the potentials for racism and other issues that have been reported in existing AI products. Nearly all types of technology have some kind of potential or actual harm that’s been reported on in the news or written about by academics. Google Scholar is a useful tool for finding these studies.

    Specific research: Survivors

    When possible and appropriate, include direct research (surveys and interviews) with people who are experts in the forms of harm you have uncovered. Ideally, you’ll want to interview advocates working in the space of your research first so that you have a more solid understanding of the topic and are better equipped to not retraumatize survivors. If you’ve uncovered possible domestic violence issues, for example, the experts you’ll want to speak with are survivors themselves, as well as workers at domestic violence hotlines, shelters, other related nonprofits, and lawyers.

    Especially when interviewing survivors of any kind of trauma, it is important to pay people for their knowledge and lived experiences. Don’t ask survivors to share their trauma for free, as this is exploitative. While some survivors may not want to be paid, you should always make the offer in the initial ask. An alternative to payment is to donate to an organization working against the type of violence that the interviewee experienced. We’ll talk more about how to appropriately interview survivors in Chapter 6.

    Specific research: Abusers

    It’s unlikely that teams aiming to design for safety will be able to interview self-proclaimed abusers or people who have broken laws around things like hacking. Don’t make this a goal; rather, try to get at this angle in your general research. Aim to understand how abusers or bad actors weaponize technology to use against others, how they cover their tracks, and how they explain or rationalize the abuse.

    Step 2: Create archetypes

    Once you’ve finished conducting your research, use your insights to create abuser and survivor archetypes. Archetypes are not personas, as they’re not based on real people that you interviewed and surveyed. Instead, they’re based on your research into likely safety issues, much like when we design for accessibility: we don’t need to have found a group of blind or low-vision users in our interview pool to create a design that’s inclusive of them. Instead, we base those designs on existing research into what this group needs. Personas typically represent real users and include many details, while archetypes are broader and can be more generalized.

    The abuser archetype is someone who will look at the product as a tool to perform harm (Fig 5.2). They may be trying to harm someone they don’t know through surveillance or anonymous harassment, or they may be trying to control, monitor, abuse, or torment someone they know personally.

    The survivor archetype is someone who is being abused with the product. There are various situations to consider in terms of the archetype’s understanding of the abuse and how to put an end to it: Do they need proof of abuse they already suspect is happening, or are they unaware they’ve been targeted in the first place and need to be alerted (Fig 5.3)?

    You may want to make multiple survivor archetypes to capture a range of different experiences. They may know that the abuse is happening but not be able to stop it, like when an abuser locks them out of IoT devices; or they know it’s happening but don’t know how, such as when a stalker keeps figuring out their location (Fig 5.4). Include as many of these scenarios as you need to in your survivor archetype. You’ll use these later on when you design solutions to help your survivor archetypes achieve their goals of preventing and ending abuse.

    It may be useful for you to create persona-like artifacts for your archetypes, such as the three examples shown. Instead of focusing on the demographic information we often see in personas, focus on their goals. The goals of the abuser will be to carry out the specific abuse you’ve identified, while the goals of the survivor will be to prevent abuse, understand that abuse is happening, make ongoing abuse stop, or regain control over the technology that’s being used for abuse. Later, you’ll brainstorm how to prevent the abuser’s goals and assist the survivor’s goals.

    And while the “abuser/survivor” model fits most cases, it doesn’t fit all, so modify it as you need to. For example, if you uncovered an issue with security, such as the ability for someone to hack into a home camera system and talk to children, the malicious hacker would get the abuser archetype and the child’s parents would get survivor archetype.

    Step 3: Brainstorm problems

    After creating archetypes, brainstorm novel abuse cases and safety issues. “Novel” means things not found in your research; you’re trying to identify completely new safety issues that are unique to your product or service. The goal with this step is to exhaust every effort of identifying harms your product could cause. You aren’t worrying about how to prevent the harm yet—that comes in the next step.

    How could your product be used for any kind of abuse, outside of what you’ve already identified in your research? I recommend setting aside at least a few hours with your team for this process.

    If you’re looking for somewhere to start, try doing a Black Mirror brainstorm. This exercise is based on the show Black Mirror, which features stories about the dark possibilities of technology. Try to figure out how your product would be used in an episode of the show—the most wild, awful, out-of-control ways it could be used for harm. When I’ve led Black Mirror brainstorms, participants usually end up having a good deal of fun (which I think is great—it’s okay to have fun when designing for safety!). I recommend time-boxing a Black Mirror brainstorm to half an hour, and then dialing it back and using the rest of the time thinking of more realistic forms of harm.

    After you’ve identified as many opportunities for abuse as possible, you may still not feel confident that you’ve uncovered every potential form of harm. A healthy amount of anxiety is normal when you’re doing this kind of work. It’s common for teams designing for safety to worry, “Have we really identified every possible harm? What if we’ve missed something?” If you’ve spent at least four hours coming up with ways your product could be used for harm and have run out of ideas, go to the next step.

    It’s impossible to guarantee you’ve thought of everything; instead of aiming for 100 percent assurance, recognize that you’ve taken this time and have done the best you can, and commit to continuing to prioritize safety in the future. Once your product is released, your users may identify new issues that you missed; aim to receive that feedback graciously and course-correct quickly.

    Step 4: Design solutions

    At this point, you should have a list of ways your product can be used for harm as well as survivor and abuser archetypes describing opposing user goals. The next step is to identify ways to design against the identified abuser’s goals and to support the survivor’s goals. This step is a good one to insert alongside existing parts of your design process where you’re proposing solutions for the various problems your research uncovered.

    Some questions to ask yourself to help prevent harm and support your archetypes include:

    • Can you design your product in such a way that the identified harm cannot happen in the first place? If not, what roadblocks can you put up to prevent the harm from happening?
    • How can you make the victim aware that abuse is happening through your product?
    • How can you help the victim understand what they need to do to make the problem stop?
    • Can you identify any types of user activity that would indicate some form of harm or abuse? Could your product help the user access support?

    In some products, it’s possible to proactively recognize that harm is happening. For example, a pregnancy app might be modified to allow the user to report that they were the victim of an assault, which could trigger an offer to receive resources for local and national organizations. This sort of proactiveness is not always possible, but it’s worth taking a half hour to discuss if any type of user activity would indicate some form of harm or abuse, and how your product could assist the user in receiving help in a safe manner.

    That said, use caution: you don’t want to do anything that could put a user in harm’s way if their devices are being monitored. If you do offer some kind of proactive help, always make it voluntary, and think through other safety issues, such as the need to keep the user in-app in case an abuser is checking their search history. We’ll walk through a good example of this in the next chapter.

    Step 5: Test for safety

    The final step is to test your prototypes from the point of view of your archetypes: the person who wants to weaponize the product for harm and the victim of the harm who needs to regain control over the technology. Just like any other kind of product testing, at this point you’ll aim to rigorously test out your safety solutions so that you can identify gaps and correct them, validate that your designs will help keep your users safe, and feel more confident releasing your product into the world.

    Ideally, safety testing happens along with usability testing. If you’re at a company that doesn’t do usability testing, you might be able to use safety testing to cleverly perform both; a user who goes through your design attempting to weaponize the product against someone else can also be encouraged to point out interactions or other elements of the design that don’t make sense to them.

    You’ll want to conduct safety testing on either your final prototype or the actual product if it’s already been released. There’s nothing wrong with testing an existing product that wasn’t designed with safety goals in mind from the onset—“retrofitting” it for safety is a good thing to do.

    Remember that testing for safety involves testing from the perspective of both an abuser and a survivor, though it may not make sense for you to do both. Alternatively, if you made multiple survivor archetypes to capture multiple scenarios, you’ll want to test from the perspective of each one.

    As with other sorts of usability testing, you as the designer are most likely too close to the product and its design by this point to be a valuable tester; you know the product too well. Instead of doing it yourself, set up testing as you would with other usability testing: find someone who is not familiar with the product and its design, set the scene, give them a task, encourage them to think out loud, and observe how they attempt to complete it.

    Abuser testing

    The goal of this testing is to understand how easy it is for someone to weaponize your product for harm. Unlike with usability testing, you want to make it impossible, or at least difficult, for them to achieve their goal. Reference the goals in the abuser archetype you created earlier, and use your product in an attempt to achieve them.

    For example, for a fitness app with GPS-enabled location features, we can imagine that the abuser archetype would have the goal of figuring out where his ex-girlfriend now lives. With this goal in mind, you’d try everything possible to figure out the location of another user who has their privacy settings enabled. You might try to see her running routes, view any available information on her profile, view anything available about her location (which she has set to private), and investigate the profiles of any other users somehow connected with her account, such as her followers.

    If by the end of this you’ve managed to uncover some of her location data, despite her having set her profile to private, you know now that your product enables stalking. Your next step is to go back to step 4 and figure out how to prevent this from happening. You may need to repeat the process of designing solutions and testing them more than once.

    Survivor testing

    Survivor testing involves identifying how to give information and power to the survivor. It might not always make sense based on the product or context. Thwarting the attempt of an abuser archetype to stalk someone also satisfies the goal of the survivor archetype to not be stalked, so separate testing wouldn’t be needed from the survivor’s perspective.

    However, there are cases where it makes sense. For example, for a smart thermostat, a survivor archetype’s goals would be to understand who or what is making the temperature change when they aren’t doing it themselves. You could test this by looking for the thermostat’s history log and checking for usernames, actions, and times; if you couldn’t find that information, you would have more work to do in step 4.

    Another goal might be regaining control of the thermostat once the survivor realizes the abuser is remotely changing its settings. Your test would involve attempting to figure out how to do this: are there instructions that explain how to remove another user and change the password, and are they easy to find? This might again reveal that more work is needed to make it clear to the user how they can regain control of the device or account.

    Stress testing

    To make your product more inclusive and compassionate, consider adding stress testing. This concept comes from Design for Real Life by Eric Meyer and Sara Wachter-Boettcher. The authors pointed out that personas typically center people who are having a good day—but real users are often anxious, stressed out, having a bad day, or even experiencing tragedy. These are called “stress cases,” and testing your products for users in stress-case situations can help you identify places where your design lacks compassion. Design for Real Life has more details about what it looks like to incorporate stress cases into your design as well as many other great tactics for compassionate design.

  • A Content Model Is Not a Design System

    A Content Model Is Not a Design System

    Do you remember when having a great website was enough? Now, people are getting answers from Siri, Google search snippets, and mobile apps, not just our websites. Forward-thinking organizations have adopted an omnichannel content strategy, whose mission is to reach audiences across multiple digital channels and platforms.

    But how do you set up a content management system (CMS) to reach your audience now and in the future? I learned the hard way that creating a content model—a definition of content types, attributes, and relationships that let people and systems understand content—with my more familiar design-system thinking would capsize my customer’s omnichannel content strategy. You can avoid that outcome by creating content models that are semantic and that also connect related content. 

    I recently had the opportunity to lead the CMS implementation for a Fortune 500 company. The client was excited by the benefits of an omnichannel content strategy, including content reuse, multichannel marketing, and robot delivery—designing content to be intelligible to bots, Google knowledge panels, snippets, and voice user interfaces. 

    A content model is a critical foundation for an omnichannel content strategy, and for our content to be understood by multiple systems, the model needed semantic types—types named according to their meaning instead of their presentation. Our goal was to let authors create content and reuse it wherever it was relevant. But as the project proceeded, I realized that supporting content reuse at the scale that my customer needed required the whole team to recognize a new pattern.

    Despite our best intentions, we kept drawing from what we were more familiar with: design systems. Unlike web-focused content strategies, an omnichannel content strategy can’t rely on WYSIWYG tools for design and layout. Our tendency to approach the content model with our familiar design-system thinking constantly led us to veer away from one of the primary purposes of a content model: delivering content to audiences on multiple marketing channels.

    Two essential principles for an effective content model

    We needed to help our designers, developers, and stakeholders understand that we were doing something very different from their prior web projects, where it was natural for everyone to think about content as visual building blocks fitting into layouts. The previous approach was not only more familiar but also more intuitive—at least at first—because it made the designs feel more tangible. We discovered two principles that helped the team understand how a content model differs from the design systems that we were used to:

    1. Content models must define semantics instead of layout.
    2. And content models should connect content that belongs together.

    Semantic content models

    A semantic content model uses type and attribute names that reflect the meaning of the content, not how it will be displayed. For example, in a nonsemantic model, teams might create types like teasers, media blocks, and cards. Although these types might make it easy to lay out content, they don’t help delivery channels understand the content’s meaning, which in turn would have opened the door to the content being presented in each marketing channel. In contrast, a semantic content model uses type names like product, service, and testimonial so that each delivery channel can understand the content and use it as it sees fit. 

    When you’re creating a semantic content model, a great place to start is to look over the types and properties defined by Schema.org, a community-driven resource for type definitions that are intelligible to platforms like Google search.

    A semantic content model has several benefits:

    • Even if your team doesn’t care about omnichannel content, a semantic content model decouples content from its presentation so that teams can evolve the website’s design without needing to refactor its content. In this way, content can withstand disruptive website redesigns. 
    • A semantic content model also provides a competitive edge. By adding structured data based on Schema.org’s types and properties, a website can provide hints to help Google understand the content, display it in search snippets or knowledge panels, and use it to answer voice-interface user questions. Potential visitors could discover your content without ever setting foot in your website.
    • Beyond those practical benefits, you’ll also need a semantic content model if you want to deliver omnichannel content. To use the same content in multiple marketing channels, delivery channels need to be able to understand it. For example, if your content model were to provide a list of questions and answers, it could easily be rendered on a frequently asked questions (FAQ) page, but it could also be used in a voice interface or by a bot that answers common questions.

    For example, using a semantic content model for articles, events, people, and locations lets A List Apart provide cleanly structured data for search engines so that users can read the content on the website, in Google knowledge panels, and even with hypothetical voice interfaces in the future.

    Content models that connect

    After struggling to describe what makes a good content model, I’ve come to realize that the best models are those that are semantic and that also connect related content components (such as a FAQ item’s question and answer pair), instead of slicing up related content across disparate content components. A good content model connects content that should remain together so that multiple delivery channels can use it without needing to first put those pieces back together.

    Think about writing an article or essay. An article’s meaning and usefulness depends upon its parts being kept together. Would one of the headings or paragraphs be meaningful on their own without the context of the full article? On our project, our familiar design-system thinking often led us to want to create content models that would slice content into disparate chunks to fit the web-centric layout. This had a similar impact to an article that were to have been separated from its headline. Because we were slicing content into standalone pieces based on layout, content that belonged together became difficult to manage and nearly impossible for multiple delivery channels to understand.

    To illustrate, let’s look at how connecting related content applies in a real-world scenario. The design team for our customer presented a complex layout for a software product page that included multiple tabs and sections. Our instincts were to follow suit with the content model. Shouldn’t we make it as easy and as flexible as possible to add any number of tabs in the future?

    Because our design-system instincts were so familiar, it felt like we had needed a content type called “tab section” so that multiple tab sections could be added to a page. Each tab section would display various types of content. One tab might provide the software’s overview or its specifications. Another tab might provide a list of resources. 

    Our inclination to break down the content model into “tab section” pieces would have led to an unnecessarily complex model and a cumbersome editing experience, and it would have also created content that couldn’t have been understood by additional delivery channels. For example, how would another system have been able to tell which “tab section” referred to a product’s specifications or its resource list—would that other system have to have resorted to counting tab sections and content blocks? This would have prevented the tabs from ever being reordered, and it would have required adding logic in every other delivery channel to interpret the design system’s layout. Furthermore, if the customer were to have no longer wanted to display this content in a tab layout, it would have been tedious to migrate to a new content model to reflect the new page redesign.

    We had a breakthrough when we discovered that our customer had a specific purpose in mind for each tab: it would reveal specific information such as the software product’s overview, specifications, related resources, and pricing. Once implementation began, our inclination to focus on what’s visual and familiar had obscured the intent of the designs. With a little digging, it didn’t take long to realize that the concept of tabs wasn’t relevant to the content model. The meaning of the content that they were planning to display in the tabs was what mattered.

    In fact, the customer could have decided to display this content in a different way—without tabs—somewhere else. This realization prompted us to define content types for the software product based on the meaningful attributes that the customer had wanted to render on the web. There were obvious semantic attributes like name and description as well as rich attributes like screenshots, software requirements, and feature lists. The software’s product information stayed together because it wasn’t sliced across separate components like “tab sections” that were derived from the content’s presentation. Any delivery channel—including future ones—could understand and present this content.

    Conclusion

    In this omnichannel marketing project, we discovered that the best way to keep our content model on track was to ensure that it was semantic (with type and attribute names that reflected the meaning of the content) and that it kept content together that belonged together (instead of fragmenting it). These two concepts curtailed our temptation to shape the content model based on the design. So if you’re working on a content model to support an omnichannel content strategy—or even if you just want to make sure that Google and other interfaces understand your content—remember:

    • A design system isn’t a content model. Team members may be tempted to conflate them and to make your content model mirror your design system, so you should protect the semantic value and contextual structure of the content strategy during the entire implementation process. This will let every delivery channel consume the content without needing a magic decoder ring.
    • If your team is struggling to make this transition, you can still reap some of the benefits by using Schema.org–based structured data in your website. Even if additional delivery channels aren’t on the immediate horizon, the benefit to search engine optimization is a compelling reason on its own.
    • Additionally, remind the team that decoupling the content model from the design will let them update the designs more easily because they won’t be held back by the cost of content migrations. They’ll be able to create new designs without the obstacle of compatibility between the design and the content, and ​they’ll be ready for the next big thing. 

    By rigorously advocating for these principles, you’ll help your team treat content the way that it deserves—as the most critical asset in your user experience and the best way to connect with your audience.