Listen to your community, but don't let them tell you what to do
codinghorror.com
codinghorror.com
I used to be a mod/product lead for a major IT community forum. We had a group of 300 or so hardcore posters (which the ad team referred to as "inventory builders") who we took behind the curtain and showed our prototypes before we released them. They often had some interesting feedback, but we quickly fell into a strange trap:
The changes the hardcore users wanted didn't drive usage -- posting or reading -- when we implemented them.
These guys were already spending every damn spare moment posting in our forum, so they had no more to give and all the esoteric bells and whistles (segmented follow lists, advanced karma scoring, multi-tiered private messaging) they wanted were completely irrelevant to the casual user.
When we shifted to testing changes that drove casual usage, we saw much better results. The hardcore group wasn't against it, generally, except for those petty few who saw the forum as their private playground and didn't like the riff raff wandering in to post. They were just dumbfounded as to why we were wasting time on these "beginner" features.
You don't want to alienate the devoted userbase, but data -- not anecdotal feedback -- is what should guide your decisions.
A few of my users complained and I decided to rollback the changes. Nobody has complained about the rollback but I still believe the new design was better.
I find it hard to know how to decide when to push further against the community sentiment. Facebook has done that countless times and it has worked for them.
I guess this is where the founder's vision comes into play.
How do you decide what to keep and what to ignore?
Just like you said with Facebook, people will gripe about every change. But they gradually will appreciate the improvements as they get used to them.
If something takes more clicks because it's a rarely used feature, that may be acceptable if the reason is to improve a more common feature that now requires less clicks.
It's ultimately up to you to decide the direction you are going to take. If you really want a challenge, wait until you do an entirely new port or total concept change after people have been using your software for several years. They often get really cranky about that, even if the new software is miles better.
Sometimes when you make an app the first time, it's badly designed but people get used to the bad design. Then when you improve it they have to relearn everything and that's why they're pissed off.
Another thing you can do is "incremental design". Change things little by little over time.
Remember the famous quote from Henry Ford: 'If I had asked people what they wanted, they would have said faster horses.'
Change for changes sake is not good however there are times where you NEED to change and you have to face the criticism and stand your ground. The trick is to know the difference.
Option 1: Compare old and new design with new users. Posting the designs in Mturk could get some unbiaised answers.
Option 2: Gradual design. Don't shock your users. Change things gradually.
Thanks Chris!
The way to get around this is to make gradual changes.
Facebook Beacon was removed after some time for example.
I'd like to know how to figure out what is the fastest to know if a change is for the better or the worse.
In the case of design change, I wouldn't expect a direct change in the metrics, it would impact on a longer term though.
It's likely that some specific features or actions will be affected by a redesign, so track that using Mixpanel or something similar, and again compare old vs new behaviour and complaining users vs others. For example, did people stop clicking on some buttons after the redesign? Did they start buying much less?
What metric would you measure?
This is particularly why I like Ubuntu these days. It seems they have a vision and are sticking to it. Most current Ubuntu users are going to be quite happy, but there will be a few very vocal community members who are essentially caught in a "who moved my cheese" scenario and they will be quite loud. Unity is turning out to be the best DE in all of Linux and they are doing something different, bold and it is clear there is a unified vision there. Had they listened to the community, they would still be doing GNOME2 for the next 10 years and the status quo would remain...no movement, no growth, no real innovation.
Another community that seems to get it right, as much as I am not a fan of the whole community, is Rails. DHH made some tough calls (Coffescript and not going to HAML and Rspec) and there were quite a few people who hated those decisions, but DHH either had a vision or made a random call (hard to tell in his case) and stuck with it. Seems to be working out for them.
And, lastly, Apple. I really, really dislike Apple these days. I think they are going Evil pretty quickly. BUT, they stick to their guns when everyone else tells them they should be doing something different. Let other people build mac hardware? Open up iPhone/iPad development off Macs? Flash on the iPhone/iPad? App store taking 30% from in app purchases?
Overall, I think the message is this: Have a vision, understand what you are doing and execute to your vision. You might be right, you might be wrong, but you can't please everyone so know what you are trying to do and do it. Hot or cold but not lukewarm.