I'd imagine there's a more innocent reason: deleting things is HARD in systems designed to scale. There are likely to be denormalisations, multiple redundant copies, separate search indexes, caches... bulk deleting an account actually ends up involving a fairly large amount of code.
case in point: i was working for twitter support when Miley Cyrus deleted her account. it took down all of twitter for the better part of a day while the system was trying to invalidate/delete millions and millions of records... that was not fun.
Which is why "at scale" you design systems that let you mark records as deleted (without actually deleting them).
You then need to choose how you explain that to users (preferably before they sign up and start entering sensitive data) as well as the normal problems of deciding the policy about having backups of "deleted" data (if you don't actually delete it - either from the live data set or from archived backups - a court could require you to hand it over).
No its really not. I worked on a system where the average user had hundreds of thousands of objects across dozens of servers.
The delete button sets an account flag saying "this user is deleted." The front end UI honored that and no longer showed the user. A half dozen DELETE tasks were then tossed into a job queue, one for each major subsystem (cache, archival storage, etc). The visual effect of deletion was instant and within 20 minutes everything was gone.
This combined with, THERE IS NO BUSINESS INCENTIVE TO DO SO... is pretty much a reason.
Time is a zero sum game. If I can make features/fixes that brings me money, why would I spend time/money/effort to design system for effectively... well, NOT make money, at the cost of the former?
I would give a free non-commercial (or in better words, a non corporate) service this leeway - as a user I haven't paid for it.
But as a paid service - where you've been a paying customer for many months - and a service that is targeted towards corporate customers this should just be a given.
The run around about user data belonging to users and so on is just ridiculous. Yammer helped us to create a corporate network, where the data belongs to the company - so when we want to leave it should be as easy as signing up - hit delete and you're done.
It doesn't matter if their systems retain the data for a few weeks and batch delete it later.
I'm sure that if a larger customer expressed this, they would bend over backwards to accomodate. Just feels like they're screwing the little guy.
The downside to that strategy is if they improved their service (which is what they should be focusing on in the first place), their old users will never come back out of irritation with their past behavior. And the friends of those users won't sign up either.
Comments
>Why oh why have you guys built and application that I can’t leave easily?
I feel your pain, but isn't it obvious though? Increase the pain of leaving and you increase the likelihood of staying. Annoying, but effective.
I'd imagine there's a more innocent reason: deleting things is HARD in systems designed to scale. There are likely to be denormalisations, multiple redundant copies, separate search indexes, caches... bulk deleting an account actually ends up involving a fairly large amount of code.
case in point: i was working for twitter support when Miley Cyrus deleted her account. it took down all of twitter for the better part of a day while the system was trying to invalidate/delete millions and millions of records... that was not fun.
Which is why "at scale" you design systems that let you mark records as deleted (without actually deleting them).
You then need to choose how you explain that to users (preferably before they sign up and start entering sensitive data) as well as the normal problems of deciding the policy about having backups of "deleted" data (if you don't actually delete it - either from the live data set or from archived backups - a court could require you to hand it over).
No its really not. I worked on a system where the average user had hundreds of thousands of objects across dozens of servers.
The delete button sets an account flag saying "this user is deleted." The front end UI honored that and no longer showed the user. A half dozen DELETE tasks were then tossed into a job queue, one for each major subsystem (cache, archival storage, etc). The visual effect of deletion was instant and within 20 minutes everything was gone.
You just described a (perfectly reasonable) system which would take a nontrivial amount of code to build.
> deleting things is HARD in systems designed to scale.
That's an excuse, not a reason.
This combined with, THERE IS NO BUSINESS INCENTIVE TO DO SO... is pretty much a reason.
Time is a zero sum game. If I can make features/fixes that brings me money, why would I spend time/money/effort to design system for effectively... well, NOT make money, at the cost of the former?
What if you charged to delete an account? (only half joking).
I would give a free non-commercial (or in better words, a non corporate) service this leeway - as a user I haven't paid for it.
But as a paid service - where you've been a paying customer for many months - and a service that is targeted towards corporate customers this should just be a given.
The run around about user data belonging to users and so on is just ridiculous. Yammer helped us to create a corporate network, where the data belongs to the company - so when we want to leave it should be as easy as signing up - hit delete and you're done.
It doesn't matter if their systems retain the data for a few weeks and batch delete it later.
I'm sure that if a larger customer expressed this, they would bend over backwards to accomodate. Just feels like they're screwing the little guy.
The downside to that strategy is if they improved their service (which is what they should be focusing on in the first place), their old users will never come back out of irritation with their past behavior. And the friends of those users won't sign up either.
> Annoying, but effective.
Until I read this and decide not to sign up in the first place.
By the time someone feels that pain he's already decided to leave and it just pisses him off.
... but you can still include him in the numbers that you present to advertisers.
Yammer is ad-supported?
I was speaking in general.