“Still waiting to hear back from you”

I knew something was horribly broken when I read this email to a friend’s support site: “This is my third email today asking for help from you. I want to delete my account so I can make a new account, and reuse the same email address I always do.”

First, why is it so hard for a user to delete their account? I looked at my friend’s site, and there was a big red “Delete my account” button on the account profile page. I found a knowledge base article on “How to delete my account”. I saw a tool tip when I hovered over the button. I found links and suggestions when I used the site search tool. That part looked OK. So I asked my friend what the problem was, and he told me that account deletion was a manual operation, and had been for, well, forever. In fact, they had a backlog of thousands of account deletion requests, some dating back more than six months (it’s a popular site, I reckon). For some reason, the developers and product managers and executives decided years ago that no one would ever delete their accounts, and even if they did, they’d keep that customer’s data in the back end databases — forever. While the user could “request” their account be deleted, and it (mostly) looked like their request was accepted, in reality, that request generated a ticket, was routed to a queue, and one part time person spent about an hour a day working on as many of them as possible. That person had to verify the account, look it up in a database, run a couple raw SQL queries they tailored to the specific account, checked the database for consistency, and then committed all the transactions. The production instance would pick up the changes in 4-24 hours, depending on circumstances. The average account deletion, once this part-timer got to it, took almost 10 minutes. Until this part-timer got to the request, the user name was marked as “to be deleted”, was unusable, and all the data retained. And, since the username and email fields were constrained to be unique (there could be only one), the username seemed available, but it wasn’t; the email address seemed like it could be reused, but it couldn’t. This was why the user wrote three times in one day, and there was a multi-month backlog of account deletions…stupid decisions by people long ago who have left the company and the code is maintained that way because reasons.

Now, the user could be smart, and use a throwaway email address to solve their own problem — that’d take minutes, actual minutes. The company could even tell users about the non-delete delete. But no, rather than own up to the non-delete delete and the impact on users, they’d rather not say they don’t actually delete user accounts. Instead, they chose not to tell their users, frustrate the hell out of them, require/engineer a system that requires manual intervention and customization for every user delete, and then wonder to themselves why there’s a six month backlog of account deletions.

Yeah, that’s going to scale.

Leave a comment