Rendered at 20:48:18 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
Grombobulous 6 hours ago [-]
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.
layer8 2 hours ago [-]
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.
frollogaston 5 hours 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.
somat 60 minutes ago [-]
On the subject of being slightly too pedantic for my own good, using "disk" in a conversation sort of worries me, It does not really matter, everyone knows what you are talking about, but it is not often an actual disk anymore. Is "storage" fine as a replacement? as in, memory vs storage.
I could go full nerd and call it "non-volatile storage" but nobody wants that.
Grombobulous 3 hours ago [-]
I think you’re technically correct but that “delete” gets the right thought across to someone who doesn’t understand how files work. You’re deleting whatever you have in front of you.
I agree about Save As…
Maybe that could have just been updated to “Save a Copy” or something like that. I don’t really understand why it’s a hidden option.
frollogaston 2 hours ago [-]
If common users understand it then fine, but it doesn't seem like they do. Only Apple does it this way.
bogdanoff_2 4 hours ago [-]
A better verb would be "Discard"
frollogaston 4 hours ago [-]
Yes exactly. Which I think is sometimes said.
fmbb 5 hours ago [-]
You 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 5 hours ago [-]
It's not deleted. I already have a.txt. I edit it then quit without saving. a.txt is still there.
mxey 2 hours ago [-]
Since 10.7 it autosaves.
The Delete button is shown, and correct, for new files that have not been saved at all yet.
frollogaston 1 hours ago [-]
Oh you're right. And if I enable "ask to keep changes when closing documents," it asks me if I want to "revert changes" when I quit, not "delete." That even survives a force-quit, so on-disk the file was autosaved, but it still remembers that the changes are in an uncommitted state.
Weird thing is with the setting disabled, quitting TextEdit with multiple new docs open asks if I want to "delete and quit," but Numbers only lets me "save and quit." Even if I press that, Numbers reopens those in a still-uncommitted state. So from all the CSVs I've opened in Numbers and messed with, I have literally 100 pending docs and can only get rid of them by clicking through every single one.
hbn 5 hours ago [-]
The 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"
thefourthchime 6 hours ago [-]
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.
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.
frollogaston 4 hours ago [-]
Even in 2005 when I was a kid using computers in school, I had some larger docs where constant autosave would've been unreasonable. Word had a timer that was like 5 minutes.
delichon 5 hours ago [-]
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.
stronglikedan 3 hours ago [-]
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.
TheJoeMan 6 hours ago [-]
In the world of 2TB SSD’s, it does seem silly to risk inadvertently deleting an important ~2kb word document.
SoftTalker 5 hours ago [-]
It 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 5 hours ago [-]
You 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.
brabel 2 hours ago [-]
In IntelliJ you can look at local history of a file and see that the ide remembers your changes for a long time. It seems to take a snapshot on actions like test runs, build complete, or maybe every few minutes. This is on top of auto saving and git of course. It saved my ass when I ran the wrong git command more than once!
MetaWhirledPeas 5 hours ago [-]
For 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.
gtowey 5 hours ago [-]
We could have both. The "save" button just becomes a pointer to a specific point in the revision history, the same way we already have that with git.
giantrobot 5 hours ago [-]
Well we're rapidly approaching a world going back to 256GB (or smaller) SSDs because VC money is being used to buy up all semiconductor and HDD output by AI hyperscalers. Everything will end up cloud storage, you'll own nothing and like it.
Also the minimum Word document is far larger than 2KB. IIRC it's about 10x that size for an empty Word document (docx).
chuckadams 6 hours ago [-]
My favorite is apps that offer a way to cancel a long-running operation, where clicking "cancel" on the confirm dialog cancels the cancellation.
KineticLensman 5 hours ago [-]
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...
frollogaston 5 hours ago [-]
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.
cosmotic 3 hours ago [-]
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.
You could set a custom text by sending WM_SETTEXT to the respective button. It wasn’t a recommended practice, though.
SubiculumCode 5 hours ago [-]
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.
dspillett 5 hours ago [-]
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.
frollogaston 5 hours ago [-]
PedOS 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.
5 hours ago [-]
5 hours ago [-]
teeray 6 hours ago [-]
(A)bort? (R)etry? (F)ail?
Dwedit 6 hours ago [-]
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.
roryirvine 6 hours ago [-]
And 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 5 hours ago [-]
When the game comes on 14 floppy disks, sometimes you forget how to count in the excitement.
collingreen 5 hours ago [-]
Keeping 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 5 hours ago [-]
As I remember, standard operating procedure was to retry 4 or 5 times, then turn off the computer and walk away in frustration.
f1shy 5 hours ago [-]
This is more or less the reason why bool is not recommended as a type, instead use a enums which add semantic value
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.
IAmBroom 3 hours ago [-]
Omitting 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 3 hours ago [-]
[dead]
CPLX 5 hours ago [-]
Pretty sure "causes Aspirin sales to soar" is an attempt at cleverly saying "gives people headaches"
cr3ative 5 hours ago [-]
Thanks, I also found this unclear.
ccvannorman 6 hours ago [-]
I thought this was going to be about a marketing success example for Aspirin! ... Although, I guess in a roundabout way it was.
superxpro12 5 hours ago [-]
We 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)
5 hours ago [-]
dspillett 5 hours ago [-]
I 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 2 hours ago [-]
However, if all tests happen to be of the form `if (!isValid)`, one might reconsider and use `isInvalid` instead.
tdeck 6 hours ago [-]
A 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.
flobosg 6 hours ago [-]
(2007)
SoftTalker 6 hours ago [-]
For 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.
shaftoe444 6 hours ago [-]
Good year
baxtr 6 hours ago [-]
Every year was better before 2020!
sb057 6 hours ago [-]
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.
RattlesnakeJake 15 minutes ago [-]
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.
SoftTalker 5 hours ago [-]
"Maybe later..."
WalterGR 5 hours 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 4 hours ago [-]
Except in practice "Maybe later" means "Nag me about this until I relent and accept"
1970-01-01 5 hours ago [-]
Great 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.
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.
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.
I could go full nerd and call it "non-volatile storage" but nobody wants that.
I agree about Save As…
Maybe that could have just been updated to “Save a Copy” or something like that. I don’t really understand why it’s a hidden option.
In some instances this could be a file on disk. But it does not have to be.
The Delete button is shown, and correct, for new files that have not been saved at all yet.
Weird thing is with the setting disabled, quitting TextEdit with multiple new docs open asks if I want to "delete and quit," but Numbers only lets me "save and quit." Even if I press that, Numbers reopens those in a still-uncommitted state. So from all the CSVs I've opened in Numbers and messed with, I have literally 100 pending docs and can only get rid of them by clicking through every single one.
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"
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...
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.
This lets you throw away and start over, but also gives you infinite undo even after "loading" an older version.
Also the minimum Word document is far larger than 2KB. IIRC it's about 10x that size for an empty Word document (docx).
Annulation lever activated!
Do you wish to continue?
Engage STOP lever to continue. Engage CONTINUE lever to stop.
Time remaining 5..4..3...
https://learn.microsoft.com/en-us/windows/win32/api/winuser/...
2. Still better than "Yes, Ask me Later" dialogues that are so insulting to users.
--------
[1] Or the BBC, or whoever, a great many are guilty of this sort of thing.
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.
This is even more true of HN users than it was on the actual playground.
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…