I think of all the posts I’ve read on coding horror, this has had the most impact on me in terms of thinking about application design (forgive me that I can’t give you full credit though-- Andy Osram’s paper has had a profound impact too).
I mean it-- it has really got me changing some elements of the software I’m working on.
A few of the comments on your post are welcome as well, in particular the notion that there is a trade-off between time spent accomplishing an objective, and the sense of fun in doing it. As with much else, clearly it’s about finding a balance.
I’m sure it’s no coincidence that you mention all this in light of the badges mechanic present in stack overflow. I think features like that are what keep people coming back. I think the xbox 360 owes much of its success to the achievements system. I almost wonder if it would be even more interesting if on stack overflow all the possible badges were unknown, that rather than working towards them, they were just accidentally discovered… but i digress.
Someone also mentioned wikipedia, but I have to disagree with that comment to some extent. Personally I don’t feel that contributing to wikipedia (along with the scores of forums and mailing lists I trawl through) is a good use of my time. There is almost something of a clique there, and this coupled with what I consider to be a huge learning curve presents an intimidating barrier of entry to me, let alone a casual web surfer.
Of course, some mechanics (as unfortunately, with the themes of several of your articles lately) are more appropriate to web-based software than desktop applications, but nevertheless, this is really good food for thought…
I don’t like the implication that sites need to interact with visitors in order to be truly viable. Most sites I see have an unnecessary comments section that is often not moderated and occasionally has vile language in it, which means I’d hesitate to link my mom to such a page. How can you be proud of user-generated content, Jeff?
Read any YouTube comment, any digg discussion or Slashdot thread and tell me that user-generated content is the way forward. I read those and I see piss-poor grammar, emotion-driven responses and incoherent arguments filled with ad hominems, racial slurs, and the same tired memes spouted over and over.
Jane McGonigal (http://blog.avantgame.com/) did an awesome presentation about this at Webstock '09. Implementing some of the ideas during the conference - the results of the kind of crowd-sourcing, micro-content, forecasting MMO are at http://lab.signtific.org/
If you want to a cultivate a community of participants instead of passive, zombie-like TV viewers who contribute nothing, you should be designing to maximize this fun.
The same could be said of an office / workplace environment. To maximize the contribution of your employees, you need to make the environment fun and engaging – otherwise you’ll get zombie-like drones that contribute the bare minimum.
One major difference, though, between Rescue Princess Enterprise 2008 and Pricesszr on the one hand, and Mario on the other, is that to actually rescue the princess in Mario takes a long time. If all you need to do is rescue the princess, Princesszr is your best bet. If you need to be able to rescue her in a few ways, Rescue Princess Enterprise 2008 is your best bet. If you need to rescue her with incredible potential for irrelevant variation, and time is no concern, Mario is your best bet. They all have their place, depending where you are on the sliding scale of customized details/time.
Now what does this have to do with fun? Well, fun things tend to make you want to sink more time into them, but they also tend to require a certain amount of time as an investment; even in the realm of super-casual flash games, the best ones are ones that you feel you can keep playing for a while (in my opinion, anyway).
How easy are the above two applications to learn? To use? The desktop application has a steep learning curve, but offers lots of power and flexibility. The web 2.0 version has almost no learning curve, but it only does one simple (and boring) thing.
The web 2.0 version is the worst designed button according to HCI that I have ever come across. Lets see you need text on the button and extra text to explain WTF’in button is for. Yes I know this is not Jeffs image but still it is dumb.
But when it comes to community websites – sites that get better for everyone the more users actively participate – these are already so close to being de-facto games that it’d be downright negligent to ignore this aspect of the design.
I could not agree more! Sometimes when I read your words Jeff I wish I had a sniper rifle.