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.
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.
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?
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).
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.
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.
I fail to see why people want to delete their accounts when they decide not to use a service any more. Why not simply stop logging in?
With Yammer it at least makes a little sense because there's possibly sensitive business data on there.
But I built and ran a moderately successful Facebook app and people bugged us about it constantly until we built the feature, but the motivations behind wanting to delete an account just baffled (and continues to baffle) me.
I think the whole delete your account and in this case your network was motivated by having a tremendous amount of private company information on there. Some of it was harmless, but if given the choice it would be better that it were removed from the servers of what is a third party at the end of the day.
You are 100% correct - that was the exact situation with us. If we're leaving a service, and we were told we were in control of that data, any remotely diligent security process would involve exporting all data on the service in a secure manner, then removing the data from the control of the third party provider.
Features which by definition never generate sales are dead last on my priorities, too. I have to log into the Rails console to completely kill an account, as opposed to refunding or turning off billing.
These features are also frequently a usability cluster flop because users are absolutely impervious to wording like "If you tell us to delete this WE CANNOT GET IT BACK."
I agree with you patio but if you are serving to a geeky audience, the ability to leave and export your data can actually help some people decide in favor of your app when evaluating choices.
I know a lot of people think and profess that that matters to their decisionmaking criteria. I also know a lot of geeks think and profess that button color has no impact on whether they'd sign up for something.
There is compelling data with regards to the on-the-ground truth of one of these propositions.
If your new solution ends up making you unhappy you're probably much more likely to switch back if you can just resubscribe and have all your old data back.
If you trusted them with your data while you were using it they probably weren't expecting you to not trust them anymore once you left. Even as you delete every user by hand surely all that data is backed up somewhere?
I signed up for Yammer with the re-assurance that I would be in control of my company's data. And that the service could be cancelled at any time. Having to make TWO phone calls to cancel my account for a web-based system is absolutely inexcusable, unless it's 1995. The experience took me from mildly unsatisfied to livid in record time. I ran, not walked, away from Yammer after that.
I had this EXACT same issue with Yammer about 8 months ago. The experience of canceling my account made me want to bolt off their system and killed any hesitation I had. I checked out Presently (http://present.ly) the next day and after a week of using it, it erased all of our data randomly. No go. Not a great first impression. The following week we discovered Socialcast. And we've been VERY happy with Socialcast (http://www.socialcast.com) since that time.
Glad to hear you are enjoying Socialcast. Would love to chat with you sometime about your experience and how we can improve the service. Drop me an email if you want to chat, tim [at] socialcast.com.
Scott Balentine (CSM), Mar-03 10:29 am (PST):
Hey Omar,
At Yammer, our relationship is with our users. All data, whether from a free or paid network, cannot be deleted by Yammer. This would violate our Terms of Service. You as an Admin of a paid account can delete any data on the network. Like you said before, the data is owned by you. Since this data was not deleted before I downgraded you, I will re-upgrade you for however long you need to delete the data in your network at no charge to you. As a paid network, no individual users will have to delete anything at all.
You can delete messages using the "Delete" link under the "More" menu at the bottom of each post.
This attitude is a strong negative, at that. Yammer networks take at least some control of a company's "membership" and image out of the company's hands.
Someone at my company created a Yammer network two years ago and is no longer with the company. We cannot remove her (or anyone else who left) unless we become a paying company.
As soon as I saw that, I stopped using Yammer and will never use them again.
It would seem that Yammer needs to re-evaluate who their customer is.
"At Yammer, our relationship is with our users."
Really? Who writes you the check? I can't imagine going to any of my customers and saying, "Sorry, we don't support that because our relationship is with the people who use the software, not you, the person writing the check."
Technical considerations aside it's still good practice to make it easier for customers to cancel. It makes them feel more comfortable signing up. Joel wrote a few great articles on it:
http://www.joelonsoftware.com/items/2006/08/23.html
People probably think that Yammer purposefully makes it difficult when the reality is that 1) departing customers are a small fraction of users and 2) it's difficult to prioritize highly a feature to "close an account".
This is an unrelated rant, but aargh... what is up with the use of that text-shadow for _normal_ text? It's showing up everywhere nowadays: I don't mind it for headings, but how does anyone find it easier to read for huge blocks of text? And it almost always is accompanied by scrollbars that are super laggy.
From the website of al bogari Holdings, the company Omar is the CEO of:
"If you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time by writing to or emailing us at marketing@albogari.com"
Case in point of building features valuable to customers and the company before those that are not. Why is there no feature on this website to unsubscribe from marketing, just as there is to subscribe? Because it's work to build one, and it doesn't have immediate benefit to the company.
On a side note, as CEO of a 35 year old international holding company - I find it odd that Omar is claiming to be the "little guy" in this thread.
We're thoroughly disappointed that this experience with Yammer and our exit process didn't work out. The reality is that, up until this point, we hadn't gotten too many requests to batch delete all the data within a company network. As you all know, like in any quickly-growing startup, we need to prioritize what we build. We've always focused on the most requested features. That being said, we really have learned from this experience. We're considering ways in which we can communicate user and message deletion better to our users.
Of course, we've considered this issue in the past. There's also a business reason we haven't focused on building one-click network delete: we want to protect our customer companies from irreversible damage that can be caused by deleting an entire network. Each free user can delete only their own content, since only they own their content. You can still deactivate another user, for whatever reason, but if that user has an active email account, they can reactivate. As a premium user, which gives you admin controls, you are able to delete entire user accounts with all underlying posts.
We can do a better job of communicating the process of deletion and deactivation and the role that account type plays in the process. However, currently, we aren't able to offer the one-step network delete. Please rest assured that we take data security very seriously, regardless of the type of account you have.
I understand where you're coming from - I wouldn't expect this to take priority. I do however continue to think that having a delete feature / account closure feature is fundamental to any SaaS application today - especially one aimed towards businesses.
What continues to frustrate me is being told that you as Yammer are unable to actually carry out this process yourself. That doesn't make any sense to me - you have access to your servers don't you?
I think there's a gap in what Support is saying and what any slightly technical user knows is possible - even if the "feature" isn't available on the front end.
I'm sorry for the lengthy delay before the response. Hopefully we'll get better at this in the future.
I agree - this functionality is justifiable. However, we have many things we'd like to implement, and this one wasn't prioritized for the reasons I mentioned.
I'm sorry we told you this couldn't be done. In actuality, this reached the attention of our engineers quite late. As I understand, you first spoke with our support staff, and then with our community manager, after this thread. You're right about the gap - this is theoretically possible, but it just hasn't been implemented. At all.
It's also not exactly simple: we denormalize data in lots of places, there are plenty of nasty side cases relating to inter-related networks, the data lives in many separate systems, and of course everything is backed up. Getting rid of a single network is more than just a DELETE query. This is lots of code to write and test.
44 comments
[ 292 ms ] story [ 1755 ms ] threadI feel your pain, but isn't it obvious though? Increase the pain of leaving and you increase the likelihood of staying. Annoying, but effective.
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.
That's an excuse, not 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?
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).
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.
Until I read this and decide not to sign up in the first place.
With Yammer it at least makes a little sense because there's possibly sensitive business data on there.
But I built and ran a moderately successful Facebook app and people bugged us about it constantly until we built the feature, but the motivations behind wanting to delete an account just baffled (and continues to baffle) me.
These features are also frequently a usability cluster flop because users are absolutely impervious to wording like "If you tell us to delete this WE CANNOT GET IT BACK."
There is compelling data with regards to the on-the-ground truth of one of these propositions.
If you trusted them with your data while you were using it they probably weren't expecting you to not trust them anymore once you left. Even as you delete every user by hand surely all that data is backed up somewhere?
Scott Balentine (CSM), Mar-03 10:29 am (PST): Hey Omar,
At Yammer, our relationship is with our users. All data, whether from a free or paid network, cannot be deleted by Yammer. This would violate our Terms of Service. You as an Admin of a paid account can delete any data on the network. Like you said before, the data is owned by you. Since this data was not deleted before I downgraded you, I will re-upgrade you for however long you need to delete the data in your network at no charge to you. As a paid network, no individual users will have to delete anything at all.
You can delete messages using the "Delete" link under the "More" menu at the bottom of each post.
Let me know if you need anything else.
Scott
-- Delete each message manually. Please.
Someone at my company created a Yammer network two years ago and is no longer with the company. We cannot remove her (or anyone else who left) unless we become a paying company.
As soon as I saw that, I stopped using Yammer and will never use them again.
It's like having a LinkedIn or Facebook page - you should be able to exercise some control over it, including removing it should you wish to.
"At Yammer, our relationship is with our users."
Really? Who writes you the check? I can't imagine going to any of my customers and saying, "Sorry, we don't support that because our relationship is with the people who use the software, not you, the person writing the check."
I just think that closing your account is something more fundamental that being what we traditional think of as a 'feature'.
It's not a priority anywhere to implement batch features, even if it were the opposite---batch additions.
"If you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time by writing to or emailing us at marketing@albogari.com"
Case in point of building features valuable to customers and the company before those that are not. Why is there no feature on this website to unsubscribe from marketing, just as there is to subscribe? Because it's work to build one, and it doesn't have immediate benefit to the company.
On a side note, as CEO of a 35 year old international holding company - I find it odd that Omar is claiming to be the "little guy" in this thread.
Of course, we've considered this issue in the past. There's also a business reason we haven't focused on building one-click network delete: we want to protect our customer companies from irreversible damage that can be caused by deleting an entire network. Each free user can delete only their own content, since only they own their content. You can still deactivate another user, for whatever reason, but if that user has an active email account, they can reactivate. As a premium user, which gives you admin controls, you are able to delete entire user accounts with all underlying posts.
We can do a better job of communicating the process of deletion and deactivation and the role that account type plays in the process. However, currently, we aren't able to offer the one-step network delete. Please rest assured that we take data security very seriously, regardless of the type of account you have.
I'd love to hear anyone's thoughts on this.
- A Yammer Engineer.
I understand where you're coming from - I wouldn't expect this to take priority. I do however continue to think that having a delete feature / account closure feature is fundamental to any SaaS application today - especially one aimed towards businesses.
What continues to frustrate me is being told that you as Yammer are unable to actually carry out this process yourself. That doesn't make any sense to me - you have access to your servers don't you?
I think there's a gap in what Support is saying and what any slightly technical user knows is possible - even if the "feature" isn't available on the front end.
I agree - this functionality is justifiable. However, we have many things we'd like to implement, and this one wasn't prioritized for the reasons I mentioned.
I'm sorry we told you this couldn't be done. In actuality, this reached the attention of our engineers quite late. As I understand, you first spoke with our support staff, and then with our community manager, after this thread. You're right about the gap - this is theoretically possible, but it just hasn't been implemented. At all.
It's also not exactly simple: we denormalize data in lots of places, there are plenty of nasty side cases relating to inter-related networks, the data lives in many separate systems, and of course everything is backed up. Getting rid of a single network is more than just a DELETE query. This is lots of code to write and test.
I hope that helps explain our response.