The default answer to every dialog box is “Cancel”

Date:September 1, 2003 / year-entry #40
Orig Link:
Comments:    39
Summary:The problem with displaying UI is that people will take every opportunity to ignore it. This story of how people deal with virus warning dialogs (via Don Browning) is a template for how users treat any unexpected dialog: They try to get rid of it. We see this time and time again. If you are...

The problem with displaying UI is that people will take every opportunity to ignore it. This story of how people deal with virus warning dialogs (via Don Browning) is a template for how users treat any unexpected dialog: They try to get rid of it.

We see this time and time again. If you are trying to accomplish task A, and in the process of doing it, an unexpected dialog box B appears, you aren't going to stop and read and consider B carefully. You're going to try to find the quickest path to getting rid of dialog B. For most people, this means minimizing it or clicking "Cancel" or just plain ignoring it.

This manifests itself in many ways, but the basic idea is, "That dialog box is scary. I'm afraid to answer the question because I might answer it incorrectly and lose all my data. So I'll try to find a way to get rid of it as quickly as possible."

Here are some specific examples, taken from real customers:

  • "How do I make this error message go away? It appears every time I start the computer."

    "What does this error message say?"

    "It says, 'Updates are ready to install.' I've just been clicking the X to make it go away, but it's really annoying."

  • "Every time I start my computer, I get this message that says that updates are ready to install. What does it mean?"

    "It means that Microsoft has found a problem that may allow a computer virus to get into your machine, and it's asking for your permission to fix the problem. You should click on it so the problem can be fixed."

    "Oh, that's what it is? I thought it was a virus, so I just kept clicking No."

  • "When I start the computer I get this big dialog that talks about Automatic Updates. I've just been hitting Cancel. How do I make it stop popping up?"

    "Did you read what the dialog said?"

    "No. I just want it to go away."

  • "Sometimes I get the message saying that my program has crashed and would I like to send an error report to Microsoft. Should I do it?"

    "Yes, we study these error reports so we can see how we can fix the problem that caused the crash."

    "Oh, I've just been hitting Cancel because that's what I always do when I see an error message."

    "Did you read the error message?

    "Why should I? It's just an error message. All it's going to say is 'Operation could not be performed because blah blah blah blah blah.'"

When most people buy a car, they don't expect to have to learn how an engine works and how to change spark plugs. They buy a car so they can drive it to get from point A to point B. If the car makes a funny noise, they will ignore it as long as possible. Eventually, it may bother them to the point of taking it to a mechanic who will ask incredulously, "How long has it been doing this?" And the answer will be something like, "Oh, about a year."

The same goes for computers. People don't want to learn about gigabytes and baud and security zones. They just want to send email to their friends and surf the web.

I myself have thrown out a recall notice because I thought it was junk mail. And computers are so filled with pop-up messages that any new pop-up message is treated as just another piece of junk mail to be thrown away.

Automobile manufacturers have learned to consolidate all their error messages into one message called "Check engine". People are conditioned to take the car in to a mechanic when the "Check engine" light goes on, and let the mechanic figure out what is wrong. Can we have a "Check engine" light for computers? Would it be feasible?

Comments (39)
  1. Jim Causey says:


    This isn’t a bad idea; however, almost everyone I know, male or female, ignores "Check Engine" lights too. I can’t tell you how often I’ve either been driving a friend’s car and noticed the light, or been chatting about someone’s car, and heard them say, "Oh yeah, that thing comes on all the time. I’ve been meaning to take it in."

    Part of the problem is that mechanics simply reset the light and let people go; another is that they go off easiliy (don’t put your gas cap on right? Emissions control computer trips "check engine").

    Fundamentally, however, I’m not sure how to get around either of these problems. It completely exasperates me that people ignore "Check Engine" lights and Windows Update messages.

  2. adam smith says:

    An interesting observation, Raymond, but I’d like to suggest that you missed another important detail.

    Many of the users I interact with and watch (who are computer users, as opposed to enthusiasts) ignore updates because they just want their computer to behave like it always has. They get it to a point where it’s reasonably stable and then they want it to stay that way. Even if there is a known flaw or two, they would rather deal with the known problems than have those flaws fixed but have to learn a bunch of new ones.

    Many users I know are highly suspicious and resistant to updates and upgrades because it will cause what they know and have adapted to to start behaving differently.

    We in the industry tend to think that anytime we give users new features it’s a good thing. Lots of people would just like what they have to not change, but to simply work better.

  3. Florian W. says:

    Hello Raymond

    One of the things I dislike is the "OK/Cancel/Yes/No" at the message boxes at all. I wondering all the time, why MS doesn’t presents verbs for the user to click on.
    e.g. "Do you want to delete the file" -> [Delete|Skip]

    I think that verbs are easier for the user, because the user has an action in mind. So he can click the button with the text which is most next to his mind. Translating the verb into [Yes|No] just takes a too high amount of think time.

  4. Michael Moulton says:


    That’s a good point. There have been plenty of horror stories about upgrades that break features that people don’t trust automatic updates. They don’t want to update until something happens that forces them to (like Blaster did), and even then they do it reluctantly.

  5. rODbegbie says:

    I think that’s what MS are aiming at with the "PC Satisfaction" trial. Bringing backups, patches, firewall and virus scanning under one Red/Yellow/Green "light" on your taskbar. If everything’s up to date, show Green. If you need to update something — from patches to out-of-date backups — show red.

    Could be interesting to see what route it takes.


  6. KDobey says:

    As a Software Engineer myself I often wonder if we could time the amount of time a user spent looking at an error dialog. i.e. if a user closes a dialog in 1 or 2 seconds with a cancel operation – then there’s a fairly good chance that it wasn’t actually read at all. – and you can base futher actions on that.

    I must say – I really like that in these days in windows (XP/2k) when an error occures in another application the application does not get the focus auto-magically. Instead it flashs on the task bar. So may times i have closed a dialog accidentally because i was typeing and looking the other way (or at the keyboard).

  7. Well, I guess this is one good reason not to have the regular window-close control on a dialog box: you remove the learned response people have to automatically get rid of popups, which must be pretty pervasive these days.

    It would be interesting to see if Apple have the same problem with their automatic-update system. In OS X, the "you need to install an upate" launches the Software Update application, presenting you with a fully-fledged application window rather than a dialog. I would guess the more aggressive posture of the application would be afforded more respect by users.

    Then again, I could be wrong.

  8. James says:

    Message boxes are bad and should not be used. Check out the Alan Cooper book on this.

  9. Ryan Lowe says:

    Charles, you have a great point. I’m a software engineer (ie. not an average user) but I still find Mac OS X’s update more proactive and easier to understand. They even distinguish security updates from say, iPod updates so users can pick and choose — and it’s right in your face.

    I read recently that Microsoft is aiming to split security and feature updates and I think this is a great idea. Like others here have said, people don’t like to change something that works unless they have to.

    So most people would probably agree that security updates are important and features are optional. Make the security updates automatic by default and the feature ones not — I know automatic updating has its faults, but if geeks can turn it off at least the computer-ignorant majority will have it enabled.

  10. Massimo says:

    I think that you completely missed the point when you want to create a check engine button.
    My experience tells me that people are scared by technology generally speaking, and computers are the main representative of it. And people is scared by what they don’t know, and can not understand.
    So a Check Engine light for computers with no further detail would simply push people away due to this simple mechanism. I don’t know how the Check Engine lights work in american cars, but here in Europe when they turn on you must completely stop your vehicle and stop the engine because something really bad is happening.
    People appreciate details, especially when they are written in their language, and are pleased to fix some simple issue by themselves. So a well done dialog box will explain what is happening and a details button will open up many well written sentences.
    This could also make interest in computer raise.


  11. sebastiaan says:

    The most annoying thing about Microsofts update is the updates itself. How many times did I have to walk this route? :

    – Start Windows Update
    – Let Windows check if there’s a update for windows update
    – Let Windows check if there are updates for my computer
    – Check the important updates and de-select Internet Explorer 6 (don’t want it.. I need IE 5.5 for developing)
    – Select all the updates I want to install
    – Get a notice that one of the updates cannot be installed in combination of other updates
    – Download..
    – Install..
    – Reboot..

    – Start Windows Update
    – Let Windows check if there’s a update for windows update (doesn’t it keep track of -when- it looked for that?)
    – Let Windows check if there are updates for my computer (I repeat.. oh no.. I understand.. see below)

    – Why is Internet Explorer 6 marked as -important- update, and several security-fixes not??
    – Why does Microsoft still have outdated, unpatched versions of their software for download? An example:
    You download all updates, patches and fixes, including the latest version of MediaPlayer. Then after rebooting,
    there a whole list of updates and patches again… including a security-fix for MediaPlayer????

  12. some says:

    And some of people just have not enough free bandwidth on 14K modems. :)

  13. Joe Dietz says:

    The point is that computers are, at best, awkward tools for most people. When a user starts their computer they just want to open their spreadsheet and get on with the day. To have the computer demand care and attention like some sort of demanding pet is simply not inline with the task. Its as if I picked up a cresent wrench, got under my car and was about to use it and the wrench declared that it would only do this work after I had a short discourse with it about the wrenches emotional state. In short, anything that takes away from the task, devalues the tool.

  14. All are good comments but the computer is not a wrench and the user HAS to be a little bit involved. Sure we shield the user as much as possible but at some point, trying to make decisions for the user can be counter productive. Some modifications to the way information is presented, would go a long way (I like Florian’s suggestion of using action verbs in the response buttons).

  15. A "Check Engine" light on a computer would be a terrible idea, because it would always be on, because there is always SOMETHING wrong with a computer.

  16. Sean Duggan says:

    Most frustrating for me was when I was working as a Lab Monitor for a comptuer lab in the Math and Sciences department. As a monitor, you had to have good hearing, particularly being able to pick out the "Virus Detected" sound and being able to instantly locate where in the room it went off. In the spirit of "I want to print my document and get out of here," users routinely clicked on the button to ignore the virus warning. If it weren’t for that distinctive sound, infections would have become much worse, I suspect.

  17. a_developer says:

    "What does this error message say?"
    "It says, ‘Updates are ready to install.’…"

    It’s to blame on all developers thruout the world, that they are a) unwilling and often b) unable to explain in a simple message what the fuzz is all about.
    What does "Updates are ready to install." say to a user? Nothing. Like 100,000 other dialog boxes in 1000s of applications. Pointless. Put in at a time where the developer thought "Critical point here, maybe ask", but didn’t take the time to think what the user has to KNOW to make a decision.
    Worst are naturally those boxes with a logic of "Deleting file X. Or do you want to keep it? [Yes] [No]"

  18. Hal O'Brien says:

    Here’s the example I used to run up against regarding this, and boy was it a peeve of mine:

    I used to be The Support Guy for a chain of retail shops. Each store had two machines, a "server" and a "register". They were really set up as Windows95 peer-to-peer, but we called one a "server" mostly because it had files the "register" (as in cash register) *had* to have access to in order to run the POS cash register program.

    This meant that if the machines had to be re-booted, the "server" computer *had* to be up and running first, so the register computer would map to the server’s drive, and then get the files.

    About twice a month, some store or other would re-boot in the wrong order. This meant they saw a scary message that said, roughly, "I can’t find the server drive. Do you want me to look for this mapped drive in the future? Y/N"

    Sure enough, straight to the pattern, the near universal response was "No" just to get the scary message to go away… which meant that even if the store manager then re-booted the machines again in the right order in the future, the register *still* wouldn’t find the server, because he’d just told the register to never look for the server.

    Then they’d call me, and I’d walk them through re-mapping the drive.

    I have no idea how I’d write that error message differently… But it caused a low-level annoyance time and again for me.

  19. A complex part of programming doesn’t even involve writing code. I am referring to the interaction between computer programs and people. User interaction is a complex subject that has been the subject of many books. I like what Alan Cooper…

  20. Paul Tyng says:

    re: Florian W.’s comment.

    I think he hit on something I’ve seen as an issue. Users don’t read the prompt text as you state, they don’t want to parse out what yes means and what no means. If yes for windows updates said "Update My Computer" and no said "Do Not Update My Computer" and there was also "Do not Ask me again" (instead of taht damn check box) button that cancelled and disabled update. I think users would most likely be able to handle it. Nobody wants to read instruction manuals, even if they are in the form of pop up dialogs. Give me a few statements and allow me to ignore the text entirely, the less text the more action oriented options the better.

    Ok/Cancel means I ahve to think to figure out what they are, just tell me what each button does on the button itself.

  21. Ed says:

    But unlike car engines, most software can ‘fix itself’. The reason that the software ‘asks’ for the update is more for the peace of mind of people who are afraid of privacy concerns.

    Windows should have on-install settings. How about: Professional and Standard. Standard will automatically update windows, and log all changes. Professional won’t, and will give the user more control. Kind of like the old lady who has the mechanics charge her for whatever to her cadillac, and the 17 year old who opens the hood every day to add a bigger ‘x factor’ to his 1979 firebird.

  22. Raymond Chen says:

    Lawyers get reeeaaaaallly nervous when the computer updates itself without explicit user permission. There are thousands of legal jurisdictions in the world, some of which have laws like the Computer Misuse Act, which bans modifications to a computer without the owner’s consent.

  23. JD on MX says:

    When in doubt, dither: A Microsoft staffer, who apparently doesn’t have a name on his blog but who may work in Longhorn UI, notes how the natural tendency is to click "Cancel" if you’re not sure what a dialog is…

  24. Explaining how to fix a problem that cropped up recently.

  25. Here’s Part One.


    this isn’t really a continuation of the history, but rather some more


  26. Here’s Part One.


    this isn’t really a continuation of the history, but rather some more


  27. Scott's Blog says:

    Raymond from The Old New Thing has written a great article to remind us that " The Default Answer

  28. My pet peeve regarding usability is the lack of (let’s face it, most) developers ability to put themselves in the situation of computer beginners (aka newbs). Eric S. Raymond describes exactly how bad this can get in The Luxury of Ignorance. And in my

  29. I’ve earlier written a norwegian piece on why Vista isn’t coming near my computer over at, but since the arguments have grown during time and I felt the need for a recap, I’ll do it again. To sum it up: Vista isn’t coming near any of my c

Comments are closed.

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index