Yes/No/Cancel causes Aspirin sales to soar — Martin Kleppmann’s blog
Skip to content
Martin Kleppmann
Student Projects
About/Contact
Supporters
Yes/No/Cancel causes Aspirin sales to soar
Published by Martin Kleppmann on 19 Jul 2007.
Welcome to Yes/No/Cancel, the online usability magazine. This first article describes the origin of<br>the name, and explains why it is bad to use buttons labelled Yes, No and Cancel in computer<br>programs. I also discuss why user-friendliness in general is a very important topic.
This online<br>magazine (or blog if you will) is about user-friendliness, and lack thereof. It criticises bad<br>design and promotes good design. One might think that after usability research has been conducted<br>for many years and many books have been written on the topic, finally people would have learnt to<br>get it right. But no – my impression is that many products are as bad as ever, and the reason why I<br>am writing this is to raise awareness of these problems.
But why should you care? As a user, you<br>should care because you have a choice – you can stop using/buying the product that is not friendly<br>to use. You can switch to a better one, saving you frustration and annoyance. As a manufacturer, you<br>should care for much the same reason – you are in a competitive environment, and if you don’t<br>carefully consider the needs of your customers, you will see them leaving very soon!
Maybe you ask<br>how this website got its name. Yes/No/Cancel, that sounds like computers. Yes, and a lot of the<br>content here (but definitely not all) is going to be about computer software. Today, many pieces of<br>software are amongst the most complex pieces of engineering which the human mind has devised. It is<br>therefore not too surprising that some software packages are extremely difficult to use. But<br>software is also used by many people every day who don’t want to know about this complexity. Is<br>difficulty of use really necessary? There are some examples of extremely complex systems which are<br>absolutely straightforward to interact with (Google search for example –<br>it’s the work of a big team of the world’s best software engineers over several years, and still<br>it’s just a simple search box).
Making complicated systems easy to use is actually quite a<br>difficult problem. Part of the problem is that the engineers designing the system are often used to<br>a certain way of doing things, but this way is not always best adapted to a particular situation or<br>audience. The designers and developers of a system must therefore constantly be questioning their<br>habits, so that they can find better ways of solving problems if better ways exist.
One particular<br>bad habit of programmers annoys me so much that I decided to name this website after it.<br>Johannes suggested the name: Yes/No/Cancel . The choice you are so<br>often presented with in many computer applications, and so often you have to stop and think, because<br>it’s not immediately clear what each of the choices is actually going to do. Which one of the<br>buttons will cause all your work to be lost if you press it? Which one will save it? And what does<br>Cancel mean anyway? Aaargh, it causes headaches.
Let me explain this with a few examples. A<br>situation in which you frequently encounter a Yes/No/Cancel dialog box is when you are trying to<br>close a document without having saved it. Like<br>this:
Nice of it to ask, you say – you had completely forgotten to save. Ok. Now<br>compare it to this one:
Can you believe it? It’s asking the opposite question! Now even if you<br>usually know by habit which button to press, suddenly you have to stop and think. And this box is<br>even worse, because it’s not clear what the difference is between No and Cancel.
Fundamentally the problem here is that we are actually asking two questions at the same time:
Do you want to save the document?
Do you want to quit the application?
The answer to each question might be yes or no, which gives us four different possible actions:
save changes and quit (the “Yes” button in the first example)
discard changes and quit (the “No” button in the first example)
do nothing – do not save and do not quit (the “Cancel” button in the first example)
save changes but do not quit
The fourth option is generally perceived<br>to be silly, so there is no button for that purpose and we get a choice of three. In the first<br>example picture, these three correspond to Yes, No and Cancel respectively. What about the second<br>example? Clicking Yes will “discard changes and quit”. Maybe clicking No will save changes and quit,<br>or maybe it will do nothing. Who knows what cancel will do, let alone the mystery of the red X in<br>the corner.
Already with simple examples like this, you can begin to see that it’s a bad idea to<br>label buttons as Yes, No and Cancel. The meaning of these words depends very much on the question.<br>In fact, if you have no previous computing experience, you will probably have no idea what to<br>answer. As a user, you just want to know which button is...