A couple years ago, I couldn’t attend a meeting without answering the “what if someone posts porn” question.
That one went away a long time ago, as people started using Facebook and Twitter and saw that online communities are, for the most part, respectful places where everyone gets along, keeping the greater good in mind.
Especially inside the firewall.
Turns out 4chan is the exception, not the norm.
Another question has become common, although not as common as the pr0n one was.
How do you prevent cheating?
A little bit of background first, if you read here, you know I’m a big proponent of reputation and game mechanics. I preach that message every chance I get, and frequently, people express concern that cheating will taint a system like that.
My answer is simple: build an engaging game first, then worry about cheating.
I’m using the term game loosely here. By game, I mean a system created around the unit of work you want users to do. Take foursquare as an example; they want users to broadcast their locations, simple as that. To encourage them, they created a game around the basic unit of work. This is what differentiated foursquare from other early geo-location apps like Shizzow and Brightkite.
Anyway, focusing design energy on preventing cheating means you’re not focusing on gameplay, which is the reason you’re doing this in the first place, right?
What good is an awesome, airtight, cheating-proof app that has no users?
Cheating is good because it means people care.
For example, foursquare has a long history of cheaters, including the guy who collected cool mayorships, pretty much every user in Indonesia, and Mike Arrington (@arrington) of TechCrunch, who cheats openly and loves that aspect of the game.
I cheat too, albeit not as successfully, e.g. Conan O’Brien has a badge for his blimp, which can only be seen on the East Coast. That’s totally unfair for those of us out on the left coast, and well, most places, so yeah, I tried to cheat to get it.
Now for the bonus round, if cheating incites online riots about unfairness, you’re onto something.
Yeah, I know cheating isn’t good for the long-term health of a system, but not having any users is worse.
The trick is to create an engaging design first, then let people bang on it. Foursquare isn’t a first attempt. Dennis Crowley cut his teeth with Dodgeball in the early part of the 00s, making it version 1.0 of foursquare in many ways.
Experience is critical to addressing cheating because human behavior doesn’t always take the expected path. So, you may build a complex algorithm to prevent one type of cheating, but find that users take a different approach.
So, as with many things, iteration and usage make the whole thing better.
That’s my answer anyway, although I’ve yet to prove it. Maybe someday.
Find the comments and add your thoughts.