Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Not understanding the aspirin reference.
  • Aspirin had (though this is increasingly dated) unique cultural currency as a headache medicine for quite a while after it stopped being the overwhelmingly dominant first-line OTC remedy.
  • Pretty sure "causes Aspirin sales to soar" is an attempt at cleverly saying "gives people headaches"
    by CPLX
  • This is more or less the reason why bool is not recommended as a type, instead use a enums which add semantic value
  • This was well known 20+ years ago: https://thedailywtf.com/articles/what_is_truth_0x3f_
  •     enum DoesUserWantToSave {
          Yes,
          No,
          Cancel,
        }
    
    :p
  • I thought this was going to be about a marketing success example for Aspirin! ... Although, I guess in a roundabout way it was.
  • What a weird article. In both shown cases it takes a perfectly legible and understandable dialog and then twists it beyond recognition into something I've never seen being actually used to go "see? that's what's wrong with it!", and when it actually mentions what and how can be improved it feels like merely a footnote.
  • 1. LibreOffice's recover files dialogue series of steps is frustrating like this.

    2. Still better than "Yes, Ask me Later" dialogues that are so insulting to users.

  • Q: Do you think Microsoft¹ understands and respects the idea of consent? A: Yes / Ask Again Later

    --------

    [1] Or the BBC, or whoever, a great many are guilty of this sort of thing.

  • An active "yes/no/cancel" prompt is a paragon of usability compared to the modern standard of constant yes, except for when it fails with a silent no.
  • "Maybe later..."
  • I'll take "Yes/No/Cancel" over the "Discover Windows 11/Remind Me Later" pairing that pops up on my arbitrarily non-upgradable PCs every month or so.
  • (A)bort? (R)etry? (F)ail?
  • What always got me at the time was retry is understandable, but what the heck is the difference between abort and fail? I don't want to complain too much it was probably in the manual, but as a young teen during my DOS days (there are manuals? read?) The distinction was lost on me.

    My understanding today is that one of them(fail?) gives the application a chance to do something clever. Did any application actually handle this gracefully? Something like, Disk 11/15 error(fail) Please put in recovery parity disk.

  • As I remember, standard operating procedure was to retry 4 or 5 times, then turn off the computer and walk away in frustration.
  • Rip John C. Dvorak, writer of the Abort/Retry/Fail column from PC Magazine.

    On a different note, never underestimate the value of a modal dialog that gives you a chance to retry an IO operation that failed. Loose USB cables and network shares over Wifi can make those happen a lot more often.

  • It's actually more than yes/no/cancel. There's also a red X. I only know from experience that it's usually the same as cancel, but not always.
  • And clicking outside the modal
  • This is largely the consequence of the Windows API having a built in option to use these buttons, without having an option for custom text. It would be a lot more work to build a custom window with custom buttons than just callong this API.

    https://learn.microsoft.com/en-us/windows/win32/api/winuser/...

  • You could set a custom text by sending WM_SETTEXT to the respective button. It wasn’t a recommended practice, though.
  • My favorite is apps that offer a way to cancel a long-running operation, where clicking "cancel" on the confirm dialog cancels the cancellation.
  • Sydney Padua's awesome, mostly true, steampunk graphic novel "The Thrilling Adventures of Lovelace and Babbage" jokes about the error messages that might have produced by the difference engine. One example occurs when a character tries to stop a sequence that may or may not destroy a precious manuscript:

    Annulation lever activated!

    Do you wish to continue?

    Engage STOP lever to continue. Engage CONTINUE lever to stop.

    Time remaining 5..4..3...

  • One of the most influential books I ever read was About Face by Alan Cooper. What he said about this bad modal dialogue is that you should simply not ask the user, and let them undo later.

    This was heresy at the time, but turned out to be the native user flow for iOS later on. And now it's common in web apps.

    https://www.amazon.com/dp/1118766571?lv=shuf&channelId=500&p...

  • In general, I hate undo. I'd almost always rather confirm/decline. Undo is ephemeral, if I even notice it, and is a recovery from an accidental action (that I may or may not even know would have happened depending on the UI). Declining is a deliberate action.
  • In the world of 2TB SSD’s, it does seem silly to risk inadvertently deleting an important ~2kb word document.
  • I once heard Cooper talk at a conference. He said that he was indeed the father of Visual Basic, in the sense that he had a little participation at the inception but most of the work was done by someone else. I think you can draw a line between that kind of self deprecation and the ego level required to look through someone else's eyes and design good UI.
  • Remember in 1990 (the pictures are from around then) there wasn't unlimited fast disk space. There was a good chance you were saving to a floppy disk which not only was slow, but might not be in the drive all the time. At least in 1990 you could assume a hard drive - but you couldn't safely assume there was enough free space on the drive to save anything, since 40mb drives filled fast.

    35 years latter we live in a different world where you can assume an unlimited fast data connection to a data center. Saving and allowing undo is possible today.

  • I’ve always loved how TextEdit’s “don’t save” button is actually a red button that says “delete” for unsaved text files.

    There’s no ambiguity there. The user is very well-informed that they’re about to quit and lose the document they were working on.

  • A power user who’s aware they didn’t save would be confused, as there isn’t any file to delete. I would prefer “Discard”, which would also be applicable to the case of not saving changes to an existing file, where “Delete” would be entirely inappropriate.