6 ms·
Yes/No/Cancel causes Aspirin sales to soar (2007)
- flobosg 1mo ago(2007)
- shaftoe444 1mo agoGood year
- baxtr 1mo agoEvery year was better before 2020!
- SoftTalker 1mo agoFor a site about usability, I was going to gripe about the tiny font, low contrast, and unresponsive layout until I saw that. It does look more suitable at 1024x768.
- teeray 1mo ago(A)bort? (R)etry? (F)ail?
- Dwedit 1mo agoRip 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.
- roryirvine 1mo agoAnd it came from the days of floppy disks, so we often needed the chance to put the correct disk back in the right drive!
- doubled112 1mo agoWhen the game comes on 14 floppy disks, sometimes you forget how to count in the excitement.
- collingreen 1mo agoKeeping one of the disks from the pile was peak bff/sibling rivalry antics. It's like keeping out one of the pieces of the puzzle so nobody can finish it but you.
- adiabatichottub 1mo agoAs I remember, standard operating procedure was to retry 4 or 5 times, then turn off the computer and walk away in frustration.
- somat 1mo agoWhat 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.
- ccvannorman 1mo agoI thought this was going to be about a marketing success example for Aspirin! ... Although, I guess in a roundabout way it was.
- thefourthchime 1mo agoOne 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&plpRedirect=mhFallback https://www.amazon.com/dp/1118766571?lv=shuf&channelId=500&p...
- TheJoeMan 1mo agoIn the world of 2TB SSD’s, it does seem silly to risk inadvertently deleting an important ~2kb word document.
- SoftTalker 1mo agoIt took me quite a while to get used to the "save continuously, keep revision history" of Google Docs, but in that context I've gotten used to it. For something like code, or image edits, etc. I still prefer explicit "Save" or "Save As..." operations that I control, because quite often I get myself boxed into something that I just want to throw away and start over.
- two_handfuls 1mo agoYou might like "save continously but call it 'history', offer a save button but that just names the current revision" This lets you throw away and start over, but also gives you infinite undo even after "loading" an older version.
- MetaWhirledPeas 1mo agoFor me this is what I use Git for, even if I have no intention of pushing to a remote repository. So I suppose some of Git's functionality could be considered redundant if only the applications would be generous about saving history and deltas.
- 1mo ago
- chuckadams 1mo agoMy favorite is apps that offer a way to cancel a long-running operation, where clicking "cancel" on the confirm dialog cancels the cancellation.
- KineticLensman 1mo agoSydney 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...
- chuckadams 1mo agoI still see "Press ENTER to exit" on many ATM interfaces.
- sb057 1mo agoAn 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.
- SoftTalker 1mo ago"Maybe later..."
- WalterGR 1mo ago“Maybe later” and variants annoyed me to no end until I realized that the implication is that you’re not making an indelible choice. As with anything, it can be overused, but I personally enjoy not having to think about whether I can change my mind later.
- SoftTalker 1mo agoExcept in practice "Maybe later" means "Nag me about this until I relent and accept"
- RattlesnakeJake 1mo agoI'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.
- Grombobulous 1mo agoI’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.
- hbn 1mo agoThe example of Pages from the article has actually since been changed to do the same thing. Red "Delete" on the far left, then on the far right a gray/neutral "Cancel" button, and an orange (the app's primary color) "Save"
- frollogaston 1mo ago"Delete" is the wrong verb, suggests I'm deleting the file, which I'm not. Sure you could say, well you're deleting the unsaved changes, but this isn't what it means on any other computer or even in other Mac apps. The same update (Lion?) ruined saving overall. Apple has insisted that apps should never have a "save as." You can hold opt to do it anyway, but it silently overwrites the original too. Maybe or maybe not lets me revert, and idk where even those revisions are stored. Apple might've hoped this catches on, but again nothing else does it this way. I get they want me to duplicate the file first, but no, I already made changes that I want to save-as, it's too late to duplicate. If they were going for blurring the line between memory and disk, that didn't work either because there is still the concept of saved vs unsaved changes (that can get "deleted"). It's not like Google Docs.
- fmbb 1mo agoYou are deleting the document from your computer. In some instances this could be a file on disk. But it does not have to be.
- frollogaston 1mo agoIt's not deleted. I already have a.txt. I edit it then quit without saving. a.txt is still there.
- tdeck 1mo agoA program I occasionally use has a "Don't close" button in that dialog. Of course I'm more used to "Don't save", so I often hit it and then am surprised when the program stays open.
- tobadzistsini 1mo agoNot understanding the aspirin reference.
- CPLX 1mo agoPretty sure "causes Aspirin sales to soar" is an attempt at cleverly saying "gives people headaches"
- cr3ative 1mo agoThanks, I also found this unclear.
- dragonwriter 1mo agoAspirin 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.
- IAmBroom 1mo agoOmitting clarifying information is how cool kids signal their coolness to others, and exclude uncool kids. This is even more true of HN users than it was on the actual playground.
- cindyllm 1mo ago[dead]
- dllthomas 1mo agoYours is a response to someone providing clarifying information, something I often find helpful on HN.
- dragonwriter 1mo agoTitles tend to be terse, HN—by the guidelines—prefers original titles, Kleppman isn’t (AFAIK) an HN user, and the piece is ~20 years old—when a lot more of the audience wouldn't have missed the reference.
- superxpro12 1mo agoWe added a clause in our coding standard to make all booleans reference the positive frame of reference only. This happened after I got fed up with dealing with too many if !(!not_has_missing_field) operators. Just.... make everything positive: if (is_field_present)
- deleted 1mo ago[deleted]
- dspillett 1mo agoI try to keep to that, but sometimes the flag is turning on a negative feature, disabling that which is the default and will remain so for compatibility reasons. Sometimes it is worth the effort of going through and changing the logic elsewhere to keep the boolean positive, sometimes that would be too much effort to retest at the time. Another option I like, when I have a config object interpreting things so I'm reading doing `if (config.IsWhateverThatThingIsEnabled)` then I can just have paired properties to pick from when I want to check IsEnabled or IsDisabled. I've come across code where there is an overide for an option to disable something and the naming plus the logical not really make you think about what is happening… if (!OverrideDisabledOptionToBlockAction) {}
- layer8 1mo agoHowever, if all tests happen to be of the form `if (!isValid)`, one might reconsider and use `isInvalid` instead.
- SubiculumCode 1mo ago1. 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.
- deleted 1mo ago[deleted]
- dspillett 1mo agoQ: 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.
- deleted 1mo ago[deleted]
- frollogaston 1mo agoPedOS is so bad that I would actually try to use Linux instead nowadays if I didn't have a Mac. Even though I fully assume that any Linux distro will be endless problems.
- 1970-01-01 1mo agoGreat title. Great topic. The tiny details are all here, including the 4th option (X), the Abort/Retry/Fail link, and they even have RSS! Subscribed.
- f1shy 1mo agoThis is more or less the reason why bool is not recommended as a type, instead use a enums which add semantic value
- QuantumNomad_ 1mo agoenum DoesUserWantToSave { Yes, No, Cancel, } :p
- layer8 1mo agoThis was well known 20+ years ago: https://thedailywtf.com/articles/what_is_truth_0x3f_ https://thedailywtf.com/articles/what_is_truth_0x3f_
- frollogaston 1mo agoIt'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.
- joshmoody24 1mo agoAnd clicking outside the modal
- frollogaston 1mo agoClassic Windows experience, continuing to use some program while there are 8 models that I've moved to the side
- deleted 1mo ago[deleted]
- cosmotic 1mo agoThis 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/nf-winuser-messagebox#parameters https://learn.microsoft.com/en-us/windows/win32/api/winuser/...
- layer8 1mo agoYou could set a custom text by sending WM_SETTEXT to the respective button. It wasn’t a recommended practice, though.
- sebastianconcpt 1mo agoMy ambiguity stack overflows... _______________________ | Error. | |_____________________| | | | Unknown Error | | | | (Continue) | |_____________________|
- card_zero 1mo ago"the program is still trying to answer two questions at the same time, which you may consider to be an unnecessary complication" - fuck off. This is why we have the modern idiom of saving everything to temp files all the time without even asking the question, an idiom that silently says you may not write a throwaway document because you can't handle anything so dangerous and cannot be trusted. Let users have complicated things. You know, moderately complicated. They may not all have degrees in Complicator Science but they should at least grasp the concept of a three-way choice, and if some users find that an unnecessary complication then they can go away and stop trying to use devices.
- Dwedit 1mo agoI mean I don't bother reading the dialogs. If there's modifications, "Yes" means save, "No" means close the program without saving, and "Cancel" means go back. And almost every program agrees on that convention, so you don't need to read the dialogs.
- grandpoobah 1mo agoI love how the link to Raymond Chen's blog is broken because one of the largest technology companies in the world doesn't give two shits about permalinks.
- kristianp 1mo agoThis is by the author of "Designing Data-Intensive Applications", one of HNs favourite books. https://dataintensive.net/ https://dataintensive.net/
- seba_dos1 1mo agoWhat 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.