The 14 Characteristics of Polite Software, Part 1

June 5, 2017

The Inmates Are Running the AsylumI recently read Alan Cooper’s book The Inmates Are Running the Asylum, which came out in the late 1990s. Cooper is known as the “Father of Visual Basic” and founder of Cooper, a San Francisco design consultancy. In his book, he takes a comprehensive look at software companies’ engineering-centric development processes and how they lead to unusable software. The book is a must-read for interaction designers.

For me, the most memorable part of the book is the chapter “Designing for Power,” in which Cooper discusses—among other interesting topics—why we should design human-like politeness into software. In this two part series of articles, I’ll discuss Cooper’s fourteen characteristics of polite software, providing relatable examples—both good and bad. I hope this approach to software design will be as helpful to you as it has been for me.

Champion Advertisement
Continue Reading…

According to Alan Cooper, polite software

  1. Is interested in you
  2. Is deferential to you
  3. Is forthcoming
  4. Has common sense
  5. Anticipates your needs
  6. Is responsive
  7. Is taciturn about its personal problems
  8. Is perceptive
  9. Is self-confident
  10. Is well informed
  11. Stays focused
  12. Is fudgeable
  13. Gives instant gratification
  14. Is trustworthy

I’ll discuss the first nine of these characteristics in Part 1; the remainder, in Part 2.

People Treat New Media Like Real People

The Media EquationWhy is designing polite software important? In the 1990s, Stanford professors Byron Reeves and Clifford Nass conducted a number of experiments that proved people treat computers and new media just like they treat other people. They published their findings in The Media Equation.

In one of their experiments, they asked participants to perform a certain task with a specific lab computer. Then, after the participants had completed the task, they asked them to evaluate this computer’s performance in helping them perform the task. They divided the participants into two groups on the basis of where they would complete the evaluation form, as follows:

  1. Group 1 would rate the lab computer’s performance using the same computer.
  2. Group 2 would rate the lab computer’s performance using a different computer.

To everyone’s surprise, participants in Group 1 consistently gave a higher rating to the lab computer’s performance. To confirm these results, Reeves and Nass ran another similar test, this time giving Group 2 a paper questionnaire. The outcome was the same.

To avoid the human awkwardness of giving direct feedback, Group 1 participants always evaluated the lab computer’s performance leniently. This is just like someone asking you a question about themselves and your replying politely to spare their feelings. On the other hand, if someone asked you the same question about another person in a different setting, your response would likely be more honest and better reflect your actual feelings—just as Group 2 evaluated the lab computer’s performance more honestly when filling out the paper questionnaire.

What is especially interesting about this experiment is that the participants were “highly educated, mature, and rational individuals,” and all of them denied that they treated the lab computer like a person. This response was beyond their control. Human beings simply are not yet accustomed to interacting with digital media such as Web sites, applications, and video games. Therefore, in theory, designing software that behaves like a polite, likable person could significantly increase your likelihood of success. Now, let’s consider some characteristics of polite software and how to achieve them.

1. Polite software is interested in you.

If you’ve read Dale Carnegie’s superb book How to Win Friends and Influence People, you’ll be familiar with his core recommendation for getting people to like you: be genuinely interested in them. Understand what drives them, ask them the right questions, learn what makes them happy or sad, and let them know they’re important to you. When others pay attention to us, we are more likely to enjoy them.

I am a big fan of video games, and there’s no game in recent memory as thoroughly addictive as Battlefield 1. I have easily poured over 100 hours into playing this highly competitive, multiplayer game, and there are no signs of my stopping anytime soon.

One of the things I really like about Battlefield 1 is how personal the main menu is. It greets me personally whenever I launch the game, using different greetings at different times of the day and on different days of the week. For example, when I start playing at night, the greeting is: “Late night gaming, Awais?” On Mondays, it says, “Happy Monday, Awais!” This is such a small detail, but it has an appreciable impact. It makes me feel that the game is genuinely showing human interest in me. I’ve asked other Battlefield players, and they share the same feeling. Plus, as you can see in Figure 1, Battlefield 1 knows what game mode I usually prefer, so it recommends that as the first option on the main menu.

Figure 1—Battlefield 1 knows multiplayer is my favorite game mode
Battlefield 1 knows multiplayer is my favorite game mode

Image source: Nick Schaden

2. Polite software is deferential to you.

Most software is not deferential to users. The vast majority of applications require you to work a certain way, just because that is how they’ve been programmed. Think of forms on Web sites that force you fill in all fields—even if you’re not comfortable providing all of that information—Web sites that don’t support basic gestures like pinch to zoom, and more painfully, the way Windows sometimes prevents your restarting your computer, as shown in Figure 2.

Figure 2—Windows makes you wait while installing updates
Windows makes you wait while installing updates

Image source: Microsoft

Newer versions of Windows let you select a time to install an update, then restart your computer. Mac OS does the same, as shown in Figure 3. This behavior is more like a polite human being!

Figure 3—App Store lets users choose when to install updates
App Store lets users choose when to install updates

Image source: Apple

3. Polite software is forthcoming.

If you ask an airline’s staff about your flight’s departure gate, you expect them to provide that information, but also to share important, relevant information such as a delay in the departure time. People are naturally forthcoming. We understand how different bits and pieces of information connect together to form a larger whole, allowing us to solve problems others don’t even know they have.

Most software isn’t like that. Typically, when you ask something of an application, it responds directly only to your specific query, not sharing other relevant information that you would find useful.

However, a good example of software that is forthcoming is Google Maps. When you’re navigating to your destination, Maps automatically informs about road congestion up ahead and even suggests an alternative route, if one is available, as shown in Figure 4. This feature has saved me countless hours!

Figure 4—Real-time traffic updates in Google Maps
Real-time traffic updates in Google Maps

Image source: Google

4. Polite software has common sense.

Did you know that an errant command was the cause of Amazon Web Services’ recent outage, which took down many prominent Web sites, including Reddit, Medium, and Business Insider? A simple typo in an Amazon engineer’s command took down several critical servers. If the command line had common sense, as humans do, it would not have accepted that command.

I think Google apps exhibit a modicum of common sense—more than most software. For example, when searching for PriceOye, my price comparison startup’s Web site, many people mistakenly type priceoey. Thankfully, Google has the common sense to know they probably meant PriceOye and automatically displays the appropriate results, as shown in Figure 5. In case someone did mean to search for priceoey, that option is available, too.

Figure 5—Google detects and corrects typos in search queries
Google detects and corrects typos in search queries

5. Polite software anticipates your needs.

Polite software tries to anticipate your needs. For example, consider modern vehicles that can detect drowsiness based on your driving behavior and suggest a nearby coffee shop, as shown in Figure 6.

Figure 6—Drowsy-driver detection technology

In a similar vein, Web browsers can automatically preload target pages for links on the current page, so they’ll load faster when you click them. This is a particularly interesting example of anticipatory design. In his book, Cooper lamented how his Web browser did not preload pages. If he were to revise the book, I’d be curious to see his comments about this new capability.

6. Polite software is responsive.

At a restaurant, once you’ve finished your meal, you expect the waiter to notice and provide your bill. Most software doesn’t work like that. For example, to update the applications on your computer, you once had to visit each application’s Web site to download the latest version, then install it on your own. However, thankfully, with the advent of the App Store and Play Store and the adoption of auto-updaters for desktop applications, the vast majority of application updates now download and install automatically whenever new versions are available.

The file-sharing application Jumpshare provides a good example of this, as shown in Figure 7. When I began using Jumpshare back in 2013, I remember having to update it manually from the official Web site. They incorporated a solid updater last year that completely automates software updates.

Figure 7—Automatic Jumpshare software update
Automatic Jumpshare software update

Software updates can be such an annoying problem that people are willing to pay for seamless, automatic updates. Ninite Updater is a popular Windows application that auto-downloads and auto-installs updates for all applications installed on a Windows computer.

7. Polite software is taciturn about its personal problems.

We expect service providers to keep their problems to themselves and focus on the task at hand. Sadly, most applications don’t live up to this expectation. They sometime throw weird, incomprehensible errors at you. Many applications repeatedly ask you to confirm your actions, even though your intention is clear. They ask you to reselect all your search filters—even when just one specific, unimportant filter is causing a problem. (I’m talking about you, Battlefield server browser!) Figure 8 shows an example of an impolite error message on a set-top box.

Figure 8—An absurd error message
An absurd error message

Perhaps the most iconic example of software that is the complete opposite of being taciturn about its problems is the Windows Blue Screen of Death, shown in Figure 9.

Figure 9—Infamous Windows Blue Screen of Death
Infamous Windows Blue Screen of Death

Image source: Wikipedia

8. Polite software is perceptive.

Humans beings are the most observant species on the planet. As we interact with one another, we observe each other’s behaviors, large and small, which helps us to understand people’s habits, likes and dislikes, wants and needs, and form deeper relationships. Some of the most popular applications today have attained such popularity because they are deeply perceptive of our behaviors and surprise us by providing information we didn’t even realize we needed. Think of Facebook’s news feed; the excellent recommendations on YouTube, Spotify, and Pandora; and the incredible Google assistant with its contextual info cards.

One application that wowed me recently is Netflix, shown in Figure 10. It combines an exceptional content library with a powerful recommendation engine which takes into account such behaviors as what I watched recently, what I liked or disliked, and what other people who are similar to me liked or disliked. I was impressed by how accurately it predicted what TV shows I would like. It hasn’t failed me even once so far!

Figure 10—Netflix recommends TV shows based on what you like
Netflix recommends TV shows based on what you like

Image source: The Huffington Post

9. Polite software is self-confident.

One of the hallmarks of a great workmate is their self-confidence. You can assign work to them and expect that they will complete it without bothering you again and again asking for unnecessary details. In contrast, if most applications were humans, they would be universally panned for their lack of confidence. They ask for confirmation of the most inane things. For example, whenever I delete a file in Windows, it asks me to confirm my intention. This happens every single time I delete a file, which makes the process of cleaning up my Downloads folder an annoying chore that I avoid for months at a time. Instead, applications should follow Gmail’s lead, skipping confirmations and offering a quick undo option, as shown in Figure 11.

Figure 11—Gmail lets you quickly undo destructive actions
Gmail lets you quickly undo destructive actions

More Politeness in Part 2

We’re not finished yet. There are five more characteristics of polite software to explain. One particular characteristic could be a separate article on its own. Stay tuned to UXmatters for Part 2

Co-founder and Head of Content and Design at PriceOye

Islamabad, Pakistan

Awais ImranAwais is an Internet entrepreneur, UX designer, writer, and public speaker. He is co-founder and Head of Content and Design of Pakistan’s leading price-comparison startup He is also Curator of a popular Facebook group for the Pakistani design community, UX Design in Pakistan. A passionate writer and speaker on design, personal growth, and entrepreneurship, Awais has contributed articles to Tech in Asia, MIT Technology Review PK,, The Express Tribune, and Tech Juice and has spoken at community events in Pakistan, including at Google, Telenor, and TED.  Read More

Other Articles on UX Design

New on UXmatters