6 ms·
People don’t read. Period. They’ll just click anything. One approach I take is to make the user type something before taking the destructive action. Make them
by leesalminen 3y ago
People don’t read. Period. They’ll just click anything.
One approach I take is to make the user type something before taking the destructive action. Make them type IRREVERSIBLY DELETE MY ACCOUNT!, in all caps, with punctuation.
Another option is to have a 30 second timer where users have to sit on that screen and wait until you enable the delete button.
I’m sure many here would call these “dark patterns”, but these tricks have saved me so many painful support tickets over the years it’s not even funny.
- tough 3y agoThis is what dev focused tools like github or vercel do, make you type the name of the resource you're going to delete, and press the delete button (disabled until you correctly type) Reading in auto mode and skipping is easy, writing not so much
- thomascgalvin 3y agoArgoCD also requires you to type in the name before you delete something. I've found that this has the added benefit of pushing people towards shorter names. I have seen instances where the wrong pod or whatever was deleted, because someone nuked "foo-api" instead of "foo-ui" or something, but it's significantly harder to footgun yourself this way.
- pyth0 3y agoI actually experienced a full outage caused by an infra engineer accidentally deleting our production ArgoCD app, don't ask how but it seems like someone will always manage to stumble through whatever safeguards are in place. And on that day we also switched to more restrictive SSO access.
- whartung 3y agoThis all happens because the person doing the work "knows what they're doing". They "know" exactly what they're doing. And they "know" that whatever prompts that come up are there as part of the process of doing what they "know" that they're doing. This process is not an exploratory process for them at that point, it's simply the actions necessary to get it done. Check the box, sign the form, stand on one leg, "yea yea, yada yada yada. GO!!!". The fact that they are WRONG in their knowledge is long past. This is not in question in their mind. The decision is done, now it's all action. And we all have long become immune to all of the click throughs and other arcane dances necessary to "get things done". It's no different from being in an intersection and seeing another driver LOOK RIGHT AT YOU and drive into you anyway. You're not "supposed to be there", and they have that driving maneuver locked into their brain, they're just following through.
- HeavyStorm 3y agoI once deleted a PPE environment (thankfully no unrecoverable data) in Azure even _after_ typing the name of the resource group. I was just confused with the name of the groups, and typing it didn't help.
- hahamrfunnyguy 3y agoI don't think this is a dark pattern, but a better approach might be requiring the user to type in their account name. It's preventing an accidental deletion. I like that Azure makes you type in the resource name before deleting it, I know I am not going to accidentally click the button. I'd say performing an action wrong item when having lots of tabs/windows open is probably pretty common.
- 0cf8612b2e1e 3y agoI like inserting the “delete” or other deliberate action message into the prompt. Entering a resource name feels far more developer-driven workflow.
- glimshe 3y agoThis is actually a best practice given the data, not a dark pattern. Irreversible, high impact operations should require the user to prove they are not impaired, but instead fully aware of what they are doing.
- bena 3y agoYes, this is something I believe even users don't quite understand. Certain things should be a little harder. They should require deliberate action from the user to ensure as much as possible that they are engaged with the task at hand. Typically you'll have requests like "I just want to do X with 'one click'" and "I want to be able to delete X with 'one click'". I hate "one click". I hate counting clicks. Counting clicks is the fucking stupidest way to measure ease of interaction. I can make everything one click away, but it will be a fucking mess of an interface because there is not enough real estate for all that mess. A children's book requires far fewer clicks to type than the works of Shakespeare, but no one will say that a children's book is "better". And I know that comparison is a little strained, but user experience isn't just clicks either. In some ways, it is a story about your application. Ease of discovery is far more important. Relying on things people already know. I've slowly moved away from categories for most things and have gone to just alphabetize things. I don't have to worry if something is a TV show or movie, if it's horror, comedy, or action, or if it's a TV movie taking place between two seasons of a sci-fi western drama.
- JohnFen 3y ago> Counting clicks is the fucking stupidest way to measure ease of interaction I wish more product teams really understood this truth.
- bragr 3y ago>One approach I take is to make the user type something before taking the destructive action. Then you just get emails from the kind of people who get stuck at "Press OK to continue"
- creshal 3y agoI'll take those over handling "I irreversibly deleted my everything, please undo (ps: I live in a country that makes this illegal)" emails.
- mcpar-land 3y agoabsolutely not a dark pattern. I love when websites do this, actually - when I see a website has a big angry danger message around any permanent delete dialog and a box you need to type into, it makes me more confident around the rest of the interface, because I know the dev won't let me do anything destructive without safeguards.
- dicytea 3y ago> Make them type IRREVERSIBLY DELETE MY ACCOUNT!, in all caps, with punctuation. This is what GitHub does. But incidents like this still happen: https://httpie.io/blog/stardust https://httpie.io/blog/stardust > Due to an unfortunate sequence of events, I accidentally made the project’s repository private for a moment. And GitHub cascade-deleted our community that took 10 years to build. > There’s a confirmation box. It’s designed to stop users in a situation like mine from doing something stupid. It tells you that “You will permanently lose all stars and watchers of this repository.” If it happens to experienced developers, imagine the laymen. Humans are just fallible, I guess.
- LorenPechtel 3y agoGithub does it wrong. This is the sort of situation that calls for a type-name-to act approach. It ensures that you're acting on the object you think you're acting on.
- 0_____0 3y agoThis is what DigitalOcean does.
- js2 3y agoBut GitHub does require you to type the org and repo name. The linked blog post includes a screenshot of it: https://httpie.io/_next/image?url=%2FBlog%2Fstardust%2Fconfirm-B3X7QRNG.jpg&w=1200&q=95 https://httpie.io/_next/image?url=%2FBlog%2Fstardust%2Fconfi... The developer was on automatic because he had just been working with another repo and the two repo names were similar, so the type to confirm didn't prevent the mistake. The blog post suggests other changes GitHub could make.
- lamontcg 3y ago"If you make something idiot-proof, someone will just make a better idiot." I think there's a literal psychological disease in American culture, where if you fuck up, then someone else was to blame for not preventing you from doing it. I think we just need less of that (not more of that) to force people to understand that they need to be considering the effects of their actions before they do them.
- distcs 3y ago> One approach I take is to make the user type something before taking the destructive action. Make them type IRREVERSIBLY DELETE MY ACCOUNT!, in all caps, with punctuation. The more websites start doing this, the more users will be trained to typing whatever you ask them to type. A dangerous trend is in formation!
- LorenPechtel 3y agoYup. Cancelling should be easy, but one-click for something that can't be undone is unreasonable. This is especially an issue with web pages as the nature of browsers will cause occasional wild misclicks--you click just as the browser succeeds in loading something that caused the layout to change. I very much favor type-to-delete for important irreversible actions--and when it's delete one of a list the type-to-delete is the name of the object you are getting rid of. I never implement one-click for options which are rarely used and are potentially bad. This isn't a dark pattern, this is simply sensible UI design. (My entire career has been spent programming for industry--I have absolutely zero reason to implement any sort of dark pattern as my users aren't my customers.)
- meepmorp 3y agoIf you've ever worked retail or other service-type job, you already knew this. People also don't listen when you tell them what the signs say, either.
- poplet 3y agoWhy not make them sit for 30 seconds on a page that strictly says: "Your account has been deleted" with a button that says "Undo"... And after that 30 seconds it would be perfectly deleted.