9 ms·
I have an app that lets people delete their accounts. It very clearly in big letters says "THIS IS IRREVERSIBLE". The button is hidden deep in their profile. I
by cdelsolar 3y ago
I have an app that lets people delete their accounts. It very clearly in big letters says "THIS IS IRREVERSIBLE". The button is hidden deep in their profile. I get emails, every single day, saying "I accidentally deleted my account, could you please restore it?". It literally drives me crazy.
- californical 3y agoOne thing that seems to really get the point across is to have someone type the words “permanently delete” in a text box before enabling the button. I’ve seen this UI pattern in a few places, and it is a bit annoying for something you might do semi-regularly, but seems totally appropriate for your use-case. Something about typing that makes people’s brains fully activate, I think.
- albert_e 3y agoAWS does this for a few irreversible deletes
- hiatus 3y agoAWS is so strangely inconsistent about this. In some places it is "delete", others "permanently delete", and others still it is the name of the resource. Thinking about it more, keeping the user on their toes like that makes it less likely to fat-finger a deletion, I suppose.
- hotpotamus 3y agoCame here to mention that UI option. At an old job, some of the internal tools made you add a flag "--I-am-not-a-moran[sic]-I-know-what-I-do" or "--sudo-make-me-a-sandwich" to important operations, presumably to remind you of their impact and give you a moment of typing to think about it.
- chrisnight 3y ago> Something about typing that makes people’s brains fully activate, I think. Part of it might be that, but I think it’s also about the previous experiences that people have with programs. How much a person thinks about something is inversely proportional to how much they see it. Typing is just something not many companies have added, so seeing it is off-putting and makes people think. If you had to type “Permanently Delete This” all day to delete random entries in a database, you wouldn’t think twice before you accidentally deleted all of production. This is why having the same warning for two different severities is a big problem. People encounter the first and realize it isn’t a big deal, and then glaze through the second because of their previous experience. Deleting an empty folder is fine, but deleting your home directory might not be, even if both are just “deleting a folder”.
- eatbitseveryday 3y agoNot quite the same thing here. Unsubscribing is reversible and without data loss. Account deletion should be hard(er) due to the irreversible nature.
- true_religion 3y agoDon’t do that. Make it delete after 30 days so people can reverse mistakes.
- LanceH 3y agoInstitute an account recovery fee and save it off to the side for a couple months.
- jefftk 3y agoHave you considered tweaking your design to mark it as deleted and then follow up with an irreversible delete after a few days? So people have time to notice that actually they really do need the account? Then this whole process can be self-service, they will leave you alone, and people who currently make mistakes without writing to you are also better off.
- Terretta 3y agoWhy not a step further, show it deleted but continue to maintain activity associated with it, and include it in data sold to third party marketing? You could be the next Meta.
- jareklupinski 3y agoi too started only 'soft-deleting' rows after my first few support calls unless you're somehow required to delete the data, it's simpler to flip a "Deleted?" bit or put it into a 'recycle bin' that's cleared by some cron job
- RankingMember 3y agoHave you considered making it reversible within a certain timeframe, e.g. 48 hours?
- cdelsolar 3y agoThe thing is that it actually is reversible. I just don't have the wherewithal to restore everyone's accounts every day. I will do it if they're super insistent or directly message me, I suppose.
- RankingMember 3y agoIdeally, this would be a self-service kind of thing - retain the login for 48 hours and simply have a "reactivate account" button.
- NoZebra120vClip 3y agoSome sites will automatically restore your account if you log into it again before the deletion completes. For example, Twitter. A while ago, I went through and deactivated a bunch of social media accounts. In fact I first did it for an organization I was a member of. And of course, I got to learn first-hand how crazy-difficult it is sometimes to figure out how to get off a social media site. And the truth is, you can't. Not really. You can play the "Deactivate Account" game with them, but they will still retain your data, plus anyone who ever scraped the site will have it all. So I attempted to deactivate my personal Twitter account, and I was fairly confident that I'd done it right. I never logged into it again, and I forgot about it for months, much longer than the deletion deadline. Well one day I found a link to it, and I followed that link and found my account live. Of course, none of the passwords worked, and I couldn't log in, nor recover the account, to deactivate it again. All I had was a lone TOTP code cycling in my Authenticator. I wrote to Twitter Support and I pleaded with them and said I could furnish the code and they were implacable. So my Twitter account is out there, frozen in time, unrecoverable and undeletable. It could happen to you. Be very careful when you create a Social Media account, because it'll follow you for the rest of eternity.
- mysterydip 3y agoThe EqualLogic series of SANs made you type "DELETEALLMYDATANOW" in order to wipe the system and reset it. There was more than one call about "where did my data go?" and the answer was "what did you type?"
- wheels 3y agoKind of came to say this. I feel like to reasonably chime in on this thread one should have some experience with customer service. There are a lot of times where user errors are because of bad usability, but there's also just a certain percentage of people who will ignore everything you put in front of them and then complain. Had a user yesterday complaining that we were using deceptive practices because we didn't mention our app is paid. It says so multiple times on our home page, once in large, bright, bold letters, and clicking on download redirects to our license purchase page, which uses even larger, bold letters and virtually nothing else. (The first text is an H1 with "Purchase License".) But of course they installed it without reading any of that, and then wrote to complain.
- chaostheory 3y ago16% of the population have an IQ below 85. I don’t know what possible solutions there are that wouldn’t backfire within a decade or two, unless someone makes a miracle drug.
- ben_w 3y agoEven geniuses misread things. An ex of mine, much smarter that me, literal PhD in quantum mechanics from Cambridge, misread the text of a free "create account" option on a game service (having an account would let you record high-scores and achievements) as a request for money to play that specific game. > unless someone makes a miracle drug. I hope someone will do this anyway ^_^;
- BearOso 3y agoI think your ex was a little more intuitive than you think. Those accounts are never free. They just don't have an upfront "cost." You're gonna pay for it one way or another. You know the expression, TANSTAAFL.
- WeylandYutani 3y agoAnd these are exactly the people that companies target. I live in a country that is not pro business so a lot of scummy things that make money for companies is banned. Amazon is still trying though.
- leesalminen 3y agoPeople 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.
- GoblinSlayer 3y agoShow a confirmation dialog as follows: Type UYuk1PjQ5QLAtjU0Ywq2 in this text field: [__________] [OK]
- LeifCarrotson 3y agoDouble tap, ctrl-C tab ctrl-V enter. Elapsed time 2 seconds, conscious thoughts zero.
- avaldez_ 3y agoJust make the text uncopiable and the input box unpasteable.
- tough 3y agoYou should put up a coolingOff period of n days where the account is made to be deleted and reversible?
- hahamrfunnyguy 3y agoThis is the right way to do it, if it's possible to do so. Flag as deleted then have a scheduled job that checks for items that need to be deleted.
- Sohcahtoa82 3y agoBased on other comments I've seen, this might not be legal in some countries.
- ot 3y agoAll the suggestions in this thread are exactly the kind of thing that gets you a "Company X Uses Dark Patterns" post on the HN home.
- gaganyaan 3y agoNah, I'm pretty anti-dark pattern, and I think it's fine to make the user think for a second before deleting their account irreversibly. A dark pattern would be something like Facebook, where they really try to get you to deactivate it, and make you wait 30 days or whatever if you do manage to use the very hidden delete button.
- coding123 3y agoDefinitely agree, a dark pattern for deleting/unsubscribing would be to make the user call an 800 or email someone, or not writing all the rules about payments surrounding cancelling an account (for paid stuff).
- jliptzin 3y agoI get the occasional customer asking for a refund because they claim they accidentally placed an order. For a while I just thought it was a stupid excuse, how do you accidentally enter your credit card number into a form but now with the browser auto completing everything maybe they’re actually serious?
- tiborsaas 3y agoJust a guess, but maybe there were curious about the shipping fees. Probably most of my online purchases start with trying to figure out where the package will be shipped from so that I can factor in import taxes to the EU. Surprisingly many webshops don't indicate their business of location clearly.
- LorenPechtel 3y agoYup, it's something of a dark pattern by many companies. They make it as hard as possible to see what the final cost will be until you're deep in the order process. Oops, if you're dealing with something that never has extra costs and thus doesn't have a final cost stage to ordering it wouldn't be hard to imagine someone actually ordering when they intended to get the final cost. Likewise for shipping time. I need it by X and will not order if it's going to arrive later. That one isn't as much of a dark pattern as it's rarely done for deceptive reasons.
- Loughla 3y agoOnce I had to request a refund from Amazon because I did in fact accidentally order something. The best guess I have is that my phone was in my pocket, I was sweaty, and apparently the sweat and movement opened the Amazon app and ordered one of the recommended items while I was working outside. The order date coincided with only that as a real option (meaning, I wasn't drinking or doing drugs that day so that I might've forgotten the order). I was super confused when a tool I had looked at three weeks prior turned up at my house.
- elektrontamer 3y agoSo you "butt ordered" stuff.
- emmelaich 3y agoTry asking them to type in "i understand this cannot be undone" in a text box before they confirm.
- YeGoblynQueenne 3y ago@User :types Iunnerstan that cant be udon
- marcosdumay 3y agoNo problem, this error is not irreversible.
- gowld 3y agoCan't be udon pasta 30day window.
- dingaling 3y ago"Undone" is a travesty of a word, though. Pedantically it should mean "not done", in the manner of unencrypted or unwanted or unfeeling. The correct construction should be "dedone", but that's so awkward that "revert" is probably a better option.
- Aloha 3y agoundone is easier to understand to native speakers who do not have a great grasp on language than reverted. Also "you need to unencrypt first" is closer to the common use of language.
- Sohcahtoa82 3y agoShould "unzip" be "dezip" then? Should "unbuckle" be "debuckle"? Unlock, untie, unplug, unfold, I could go on. Sorry, but your pedantry is simply incorrect. "un-" as a prefix to mean reverting the action is perfectly valid and very common.
- gowld 3y agoMy brother in Strunk&White, that ship sailed 100years ago, and can't be unsailed.
- Tade0 3y agoPerhaps a cat ran over their keyboard/phone? Anyway I think in such cases it's useful to have an "export my data and delete account" button instead of one that just deletes it. And then still wait 24h before you actually do.
- haswell 3y ago> THIS IS IRREVERSIBLE I might use a word other than irreversible. At a glance, a wishful brain can see “This is reversible”. A vocabulary challenged brain may think “oh cool, it’s reversible”, or revert to the wishful thinking brain. Ideas: - ALL YOUR STUFF WILL BE GONE FOREVER - YOUR ACCOUNT CANNOT BE RESTORED - IT IS IMPOSSIBLE TO RESTORE YOUR ACCOUNT The thing they keep asking you to do is undelete. Tailor your messaging to explicitly indicate the opposite of the outcome users keep asking for. Irreversible requires some interpretation, even though it probably makes perfect sense to most people. (Hard learned lessons after years in enterprise product management. It’s amazing how many odd conclusions users can reach about seemingly obvious labels and messages). Not much to be done about the ones who don’t read at all.
- loloquwowndueo 3y agoThe wishful brain will see “will not be gone forever”, “can be restored”, “it is possible”. Face it, depending on people reading things leads to doom.
- haswell 3y agoYeah, even crystal clear messaging won’t fix all cases. But crystal clear messaging is low hanging fruit that does help. The goal is to raise the bar for the wishful brain, and to eliminate as many semi-plausible wishes as possible. Combining this with a cooling off period is probably the next best step. There will always be exceptions, no matter how much wordsmithing you do.
- jakear 3y agoMuch more likely to mentally skip over an extant negation than introduce a phantom one. My personal favorite: Driving through backroads with some friends, sign says "Impassible Road: No Tow Service Available". Friend turns down it, drives half a mile, gets stuck. "No worries, we'll just call the tow service. Anyone remember their number?". Queue a half hour of us on our knees digging mud around.
- chrisnight 3y agoThe best way of making statements for things like this is to disclude any negatives in it. Don’t include any “cannot”, “never”, “is impossible”, etc because if they are ignored then the statement reverses in meaning. Instead, describe the action with a word that is negative in and of itself e.g. “Please Delete Everything”. So instead of “Your account cannot be restored”, it’s “Your account will be (irrevocably) deleted”. And if a word has a positive affirmation as a substring of the negative affirmation, then avoid using it aswell since it’s a similar principal.
- Aloha 3y agoIts my belief that any account deletion mechanism should never act instantaneously, it should disable login, and then create a job into a queue, which runs once a week, once a month, whatever. Users do stupid things, they do things they dont want, their dog licks their phone, whatever.
- gingerlime 3y agoThe best solution I found was to delay the deletion and make it reversible (within a few days). Mark the account as to-be-deleted and prevent any action. The only page/screen available should show: this account is scheduled for permanent deletion within X days. Click to restore. It has an added benefit of preventing people from easily recycling accounts and still meets GDPR. Zero complaints.
- macNchz 3y agoWhenever this sort of topic comes up I am reminded of this moment in 2010 where a blog post about Facebook briefly ranked higher than Facebook’s own login page, generating thousands of angry comments from users complaining about “the new Facebook”. Reading about this was actually formative for me, in that it helped develop the understanding that very many people out there are using and perceiving the internet in a way that is completely foreign to me. I bring this up frequently when product conversations veer into phrases like “users will get it” or “people know to click on the menu” etc. https://www.themarysue.com/facebook-login-readwriteweb/ https://www.themarysue.com/facebook-login-readwriteweb/
- lousken 3y agoif the action is IRREVERSIBLE according to the dialog, just politely decline that they agreed with it, you can't do anything and that's it
- pjerem 3y agoAnd if it is your customer (which they are), they’ll answer that they will stop being your customer. You can answer that you don’t care about morons customers leaving but your boss might not agree with you.
- lousken 3y agoThat purely depends on your service, how much it costs vs how much time and resources they waste with customer support. We've dropped clients that were morons in the past because it was cheaper for us, and sometimes just because it was just really annoying to deal with them. It depends where you draw the line and what you can afford.
- manvillej 3y agoI might seem crazy here, but have the button download their complete account excluding sensitive information like passwords or credit card info as a file for them. Then delete it off your server. That way, if they can recover it with that file. You could even make it a gigantic jwt token to validate the data incoming. have the incoming file behave like new sign up.
- coding123 3y agoThis sounds like a problem with your app rather than the people using it. If this is a high issue, change the app to reduce this. This is product management 101.
- wruza 3y agoWhy don’t you just restore it? It’s naive to think that something will not happen (or drive you crazy) if there’s a set of preventive measures. Think how much respect and loyalty you could earn by reversing the irreversible, especially if you play it like “usually we can’t but in your case I’ll assign a system administrator to see if it’s possible to restore it from backups”. You can even describe this exact conversation in help/FAQ — none of these folks read them and if it gets viral they couldn’t blame you for trickery.
- aranchelk 3y agoTotally right, this is ultimately not a UI problem it’s a product/engineering/ops issue. In the context of all of the absurd moonshot tech specs anyone has ever written have the audacity to implement soft-delete.
- adamc 3y agoWhy not just implement "logical delete" and have another process sweep through a few weeks later that does any pending deletes? Then they get what they want (or closer to it), and it isn't a lot more effort.
- js2 3y agoI'm reminded me of this big red button with red placard reading "ATTENTION: do not push red button unless it is an emergency" I came across in a bathroom at a highway rest stop years ago: https://imgur.com/a/5kmQQbP https://imgur.com/a/5kmQQbP
- cjs_ac 3y agoWhat happened when you pressed the button? But seriously, I think that's a bad sign, because it doesn't describe what emergencies the button can help with.
- throwawaymobule 3y agoFrom context, I'd assume it's an assistance alarm. But they're usually pull-cords where I'm from. Or it's a novelty button that does nothing because someone thought it was funny.
- deleted 3y ago[deleted]
- Red_Leaves_Flyy 3y agoThe most frequent cause of accidental clicks in my experience are, in no particular order: layout reflows after first paint UX changes/updates. If a piece of software is used regularly and users habituate to it then devs should be darn careful when making ux changes Unresponsive or delayed responses, usually a strong smell of a poorly coded piece of software. Lack of explicit confirmation on critical actions. Inconsistent interfaces or workflows Related to the previous, actions that depend on unreliable resources exhibit unusual behaviors in production environments. Amusingly, these often get conflated by techs for user error when they’re not perfectly reproducible. I’m not saying your app has any of these or anything against you. I just wanted to share the other side of the coin, that it is frustrating for users to deal with hacked together barely functional apps to get condescended to by support who consider mistakes with the app to be solely the users fault. Any system, no matter how well designed will be misused and it should be possible to partially or fully recover from one or two sequential mistakes. If not that’s a sign to improve the workflow. Well above the baseline frequency of mistakes is a point when the frequency of errors is so great that it is evidently the app itself that is leading users to take actions contrary to their intentions. To your example, how much effort is needed to fully delete their account once on the right screen? This is a good situation to use a multi step work flow that breaks a users momentum. Consider a big scary warning that covers the screen with a nice long delay before users can proceed, follow that up with a captcha of some sort followed by another delay and warning before showing/enabling the delete button. Once clicked give users another big warning and a scary countdown telling users how much time they have before their accounts permanently gone with a prominent cancel button.
- kazinator 3y agoGenerate a random system of two-variable linear equations with two unknowns (such that there is always a one solution, consisting of integers): To delete your account, please 1. Enter the X and Y values which satisfy the two equations; 2. Ensure the checkbox is selected; 3. Fill in the complete, correct URL of the Oxford Learner's Dictionary entry for the adjective "irreversible", starting with https:// https://. 4. Fill in your account password. 5. Click the "Irreversibly Delete" button, which will be disabled if 1-3 are not satisfied. 3x + 2y = 12 2x + 4y = 16 x = [____] y = [____] Yes, delete my account [ ] URL of Oxford Learner's Dictionary definition of "irreversible": [ ___ ] Password: [ ____ ] [Irreversibly Delete Account]
- jjav 3y ago> I have an app that lets people delete their accounts. Canceling a paid subscription doesn't need to mean delete the content immediately. The companies are trying to conflate the two in the complaining just to make it sound like they care about customer experience instead of their own pocket. It's very easy to allow canceling a paid subscription with a single click in a way that immediately disables access to the service/data but keep the actual data around for a while (this is generally the default under the covers whether the company admits it or not). This means a customer can reinstate their account by re-enabling payments without any data loss for however long the company wants to support that.