When Joel Spolsky and I set out to design the Stack Exchange Q&A engine in 2008 – then known as Stack Overflow – we borrowed liberally and unapologetically from any online system that we felt worked. Some of our notable influences included:
All these elements were folded up into the Stack Exchange Q&A engine, so that we might help people create useful artifacts on the internet while learning with and among their peers. You know the old adage that good artists copy, great artists steal? That quote is impossible to source, but it means we were repurposing these elements we liked.
So, what do Picasso and T.S. Eliot mean? They say, in the briefest of terms: take old work to a new place. Steal the Google site, strip down what works (fast load, nonexistent graphics, small quirky changes that delight) and use the parts on your own site. Look at the curve of a Coke Bottle and create a beautiful landscape painting with it. Take the hairline pinstriping on the side of somebody’s car, reimagine it on your print job. Find inspiration in the world you live in, where nothing is truly new so that everything has the potential to be innovative.
Unfortunately, the elements we liked were often buried in mounds of stuff that we ... sort of hated. So extracting just the good parts and removing the rest was part of the mission. If you're lucky enough to have a convenient villain to position yourself against, that might be all you need.
Traditional web bulletin board systems have a design that was apparently permanently frozen in place circa 2001 along with Windows XP. Consider this typical forum thread.
Here is the actual information from that forum thread.
Based on the original size of those screenshots, only 18 percent of that forum thread page is content. The other 82 percent is lost to signatures, avatars, UI doohickeys, and other web forum frippery that has somehow become accepted as "the way things are done". I regularly participate in several expert niche bulletin boards of various types today, and they're all built the same way. Nobody complains.
But they should.
This is the status quo that we're up against. Yes, we fixed it for programmers with Stack Overflow, but why stop there? We want to liberate all the brilliant experts stuck in these horrible Soviet-era concrete block housing forums all over the web. We'd like to introduce them to the focused, no-nonsense Stack Exchange Way, a beautiful silo of pure Q&A signal without all the associated web forum gunk.
There's only one teeny-tiny obstacle in our way. As a great programmer I worked with once said:
It's the damn users. They've ruined every program I've ever created.
Every web forum is the way it is because users wanted it that way. Yes, the design of the forum software certainly influences behavior, but the classic 2001-era web forum paradigm assumed that what users wanted made sense for the rest of the larger internet. As it turns out, groups are their own worst enemy. What groups want, and what the rest of the world needs, are often two very different things. Random discussion is fine for entertainment, but it's not particularly useful, nor does it tend to generate the kind of artifacts that will be relevant a few years from now like Wikipedia does. So then the problem becomes how do you encourage groups to do what's best for the world rather than their own specific, selfish needs?
When I looked at this problem, I felt I knew the answer. But there wasn't a word for it in 2008. Now there is: Gamification.
Gamification is the use of game design techniques and mechanics to solve problems and engage audiences. […] Gamification works by … taking advantage of humans' psychological predisposition to engage in gaming. The technique can encourage people to perform chores that they ordinarily consider boring, such as completing surveys, shopping, or reading web sites.
I had no idea this Wikipedia article even existed until a few months ago, but we are featured prominently in it. It is true that all our stolen ideas about reputation systems, achievements, identity, and vote scoring are in place specifically to encourage the adoption of the brave new no-nonsense, all-signal Stack Exchange Q&A model. Without those incentive systems, when left to their own devices, what you get is … well, every forum ever created. Broken by design.
Yes, we have ulterior motives, but let me explain why I think gaming elements are not tacked on to the Stack Exchange Q&A engine, but a natural and essential element of the design from day one.
I've had this concept in my head way before the web emerged, long before anyone coined the term "Gamification" in 2010. In fact, I'd trace my inspiration for this all the way back to 1983.
For programmers, everything we know is pretty much guaranteed to be obsolete in 10 years if we're lucky, and 5 years if we aren't. It's changing all the time. The field of programming is almost by definition one of constant learning. Programming is supposed to be fun – and it is, if you're doing it right. Nobody taught me that better than the Beagle Bros on my Apple II. Why can't learning in every other subject matter be just as enjoyable?
There's a long, rich history of programmers as gamers. Oftentimes, the whole reason we became programmers in the first place is because we wanted to move beyond being a mere player and change the game, control it, modify its parameters, maybe even create our own games.
We used games to learn how to program. To a programmer, a game is a perfectly natural introduction to real programming problems. I'd posit that any field can use games as an introduction to the subject matter – and as a reinforcement to learning.
It's something of a revelation to me that solid game design can defeat the Greater Internet F**kwad Theory. Two great examples of this are Counter-Strike and Team Fortress. Both games are more than ten years old, but they're still actively being played right now, by tens of thousands of people, all anonymous … and playing as cohesive teams!
The game's objectives and rules are all cleverly constructed to make working together the most effective way to win. None of these players know each other; the design of the game forces players to work together, whether they want to or not. It is quite literally impossible to win as a single lone wolf.
I haven't ever quite come out and said it this way, but … I played a lot of Counter-Strike from 1998 to 2001, and Stack Overflow is in many ways my personal Counter-Strike. It is a programmer in Brazil learning alongside a programmer in New Jersey. Not because they're friends – but because they both love programming. The design of Stack Overflow makes helping your fellow programmers the most effective way to "win" and advance the craft of software development together.
And I say we all win when that happens, no matter which profession we're talking about.
I feel a little responsible for "Gamification", since we're often cited as an example (even, much to my chagrin, on Wikipedia). I wanted to clear up exactly why we made those choices, and specifically that all the gaming elements are there in service of a higher purpose. I play the Stack Exchange game happily alongside everyone else, collecting reputation and badges and rank and upvotes, and I am proud to do so, because I believe it ultimately helps me become more knowledgeable and a better communicator while also improving the very fabric of the web for everyone. I hope you feel the same way.
(If you'd like to learn more about the current state of Gamification, I highly recommend Sebastian Deterding's page, and specifically his Meaningful Play: Getting Gamification Right presentation.)
| [advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you. |
I'd love to see a gamified email system. Reputation points for writing clear, concise emails. Negative points for forwards, rambling meaningless emails, accidental reply-alls... what a world it could be.
I love the arstechnica.com forums because of the lack of signatures. One of the reasons I used to use Opera was so that I could turn off the animated GIFs used in forums.
I hope you and the Stack Exchange team are proud of what you have accomplished. I, for one, really dislike when Google gives me a result that isn't in a Stack Exchange site, because I know I'll have to wade through loads of cruft (usually ads that I won't click on) to see if there actually is any useful information beyond the link.
Johnnygf on October 12, 2011 9:50 AMIs it possible to have a new stack exchange engine that isn't relegated to being ONLY about Q&A?
What if the goal was simply discussion (On topic, or off topic)?
Has it ever been considered?
I get the feeling that StackExchange will never eradicate the 2001-era php BBS until it can gamify online discussion that is not only helpful but interesting to communities.
Matías Niño on October 12, 2011 10:07 AMI believe there are two basic things humans enjoy doing; one is giving and the other is being acknowledged. The StackExchange paradigm certainly makes it easy for anyone to have both of those.
Erik Philips on October 12, 2011 10:13 AMWhat about outside the Q&A model?
Esotericalgo on October 12, 2011 10:39 AMGreat idea, Matías. How about one on politics? That encourages civil discourse between people with divergent views? I can see a Nobel Peace Prize there for Jeff if it takes off.
Or if that's too tricky, how about a StackExchange for general make-the-world-a-better-place problem solving?
Dleppik.wordpress.com on October 12, 2011 11:00 AMI agree with @Matias, if you keep the awesomeness of SE yet have a non-Q&A version for discussions only, you could take the forum world by storm. Especially if you offer a barrier-free way for existing forums to switch (make it free and possibly automate a data migration).
Having said that, it does seem that website forums for the sake of discussion are under attack with so much conversation happening in social networks nowadays.
By the way, I'm not sure if you're aware but many readers of Scott Adam's blog (creator of Dilbert) suggested SE when he opted for the idea of an online government. You should be proud of that even if that idea is far fetched. You're doing extremely well, and I know that you know you're doing well with SE, it's just that SE probably has a lot more potential then you perhaps realize or imagine.
Ferdy Christant on October 12, 2011 11:24 AMOne interesting tale of Gamification is in the Daniel Suarez books Daemon and Freedom (part 2 of Daemon). A game designer decides to end the current social, political, and ecomonic system he sees in play and to implement his own based on games. It's obviously science fiction, but has a very interesting take on how gamification might be applied to society.
Daemon: http://www.amazon.com/Daemon-Daniel-Suarez/dp/0525951113
Freedom: http://www.amazon.com/Freedom-TM-Daniel-Suarez/dp/0451231899
An interesting video about Gamification: http://www.penny-arcade.com/patv/episode/gamification
The guys who do Extra Credits are generally very knowledgeable about the video game industry and this is one of the topics they talked about.
Jonathan Sternberg on October 12, 2011 11:31 AMHideous, over-complicated forums where content is in such a minority like that are exactly what drove me to try making my own forum software. There's so much that can be done better, yet all these forums do is add more features that make them slower and more difficult to use.
I wanted to make something that felt fast and lightweight, and I believe I succeeded. Obviously it's not ready for general use, as it's been put on the backburner with quite a few essential features missing (an admin section being the most obvious, along with any kind of deployment guide. It also doesn't work that well on smartphones/iPad).
I really wish I had the time to work on it again, as I'd love to see it used in place of the ugly messes that most places have.
Andy Farrell on October 12, 2011 11:42 AMThanks for the great article. Gamification solves a lot of problems. I'd like to get you thinking of something bigger now: How can we use these same concepts to improve the government?
Dougn on October 12, 2011 12:11 PMIf you want to see forum chaos in a programmer community, see http://www.autohotkey.com/forum . I'm been trying to use AutoHotKey for a new project, and it's maddening how many cool scripts there are that solve bits of my problem, but they are impossible to find in the forum, and you never know whether you're looking at the latest version. They don't have libraries, they don't have a wiki, they just have a forum. It sucks because the platform is extremely powerful, if you can learn its capabilities.
vdm on October 12, 2011 1:02 PMJeff, thank you for this post, and the new vocabulary. The down side for me (in SO as well as in gaming) is the addiction: in the last few month I've became addicted to the StackOverflow game - posting answers at supersonic speed, reloading the page constantly to see my reputation and badges go up (I even started writing my own notifier). I can justify it be saying that I learn new stuff, and my communication skills are getting better and my English (not native) too, and that I can probably stop it when I want (or when I'll reach 10k reputation). Maybe the next SE site should be something like AA-SO...
Amittai Shapira on October 12, 2011 1:22 PMAnother example of gamification that has turned out really good according to their page. http://fold.it
Camilo Bravo on October 12, 2011 1:45 PMThanks for doing an article on gamification. This is something I'm working with on one of my applications. It's good to hear more about how you designed SE with it in mind.
Jonathan Bennett on October 12, 2011 1:50 PMThat web forum example is hopelessly out of date now. It needs giant banner images in signatures. More smileys and image macros inline in the posts, and animated avatar images. Oh, and inserted advertisements as posts within the thread.
God I wish I was joking.
inclinedplane.myopenid.com on October 12, 2011 2:40 PMI'm the one percent that's the exception to this rule. I hate playing games. I hate scores. If I see carrots and sticks I run in the other direction. I liked the old CompuServe forums. Very plain. No games. I just asked and answered questions without competing against anybody for recognition.
Matthew Kane on October 12, 2011 3:37 PMI have loved gaming since child. This article of yours is good. I like the way the design is connected to gaming.
http://codedincantation.com/blog/
I hated web forums when they started becoming popular having been a user of Usenet for many years. In fact, it coincided with me becoming much more of a consumer of information than a contributor. For all it's flaws, Outlook Express allowed me to skim through and keep track of complex threads and the extra baggage was minimal. A return to the briefness of Usenet and intelligent quoting (e.g. if somebody block quotes, only shown the first line with option to expand all) would be welcomed here.
Munrobasher on October 13, 2011 1:32 AMMy $0.02 regarding the forum layout as in the first screenshot above: I hate it! I really, really hate it. I grew up with discussions on Usenet. Usenet clients typically display discussion threads as a tree, which is much better to follow than "linear blocks", where one block refers to the block above, another one to the block three pages before and a third one to five different posts scattered all over the place; I cannot follow these discussions comfortably. Also on Usenet people quoted what other people said and put their reply below the quote(s) inline; I hate top posting (first posting the reply, then quoting the text you replied to) and it's even worse if there is no quote at all but instead somebody replies to something someone else has said somewhere else and I have no idea what he said, when he said it, where he said it or why he said it (since there is no context provided either).
Mecki on October 13, 2011 3:42 AMI'd highly recommend Jesse Schells incredible talk at ted: http://www.ted.com/talks/jesse_schell_when_games_invade_real_life.html.
It's an exciting idea for the future.
Aaronjbaptiste on October 13, 2011 5:18 AMNo doubt Game programming is the best form of exercise one could use to learn programming and its more fun, real world and use of your physics and maths concept as well. It would be great if there is some online exercise site where user can program , execute , chat and participate , more of an online class, research or virtual office
Thanks
How HashMap works in Java
The game I enjoy most on StackOverflow is the close-the-window game: Welcome back! If you found this question useful, don't forget to vote both the question and the answers up"
I just want to brag here that I wrote this comment in July 2009, more than a year before Wikipedia's article on gamification was started and a year and a half before Reality is Broken was published. So I am clearly super awesome.
Relevant text: "SO is a webgame, like all these generic productions where you click on things repetitively to level up and whatever, except you accumulate XP -- oh, I mean rep -- by helping people solve problems and contributing to the sum of public technical knowledge in the world. Taking the hoarding impulse, surrogate power drive, and general OCD that make people play computer RPGs and harnessing it for the forces of good, and moreover productivity, is SO's great innovation and victory."
Chaos on October 13, 2011 7:47 AMI just want to brag here that I wrote this comment in July 2009, more than a year before Wikipedia's article on gamification was started and a year and a half before Reality is Broken was published. So I am clearly super awesome.
Relevant text: "SO is a webgame, like all these generic productions where you click on things repetitively to level up and whatever, except you accumulate XP -- oh, I mean rep -- by helping people solve problems and contributing to the sum of public technical knowledge in the world. Taking the hoarding impulse, surrogate power drive, and general OCD that make people play computer RPGs and harnessing it for the forces of good, and moreover productivity, is SO's great innovation and victory."
Chaos on October 13, 2011 7:47 AMOh, and by the way, the most infuriating thing about a forum thread is when it ends with a command to "use the search" or a link to lmgtfy... and the first result is that thread.
*facepalm*
Miffthefox on October 13, 2011 7:54 AMJeff, we should compare counter-strike scripts sometime!
I also went through a counter-strike phase, part of the fun being the ability to program my controls.
But I'm a gamer from way back, self taught programming in grade school using those 'basic computer games' books, still have a few. By the time I had my first 'programming' class in the 8th grade in the brand new Apple IIe lab I was teaching the teacher.
Beyond that though I really geek'd it up as a books-an-dice role player, going so far ultimately as to write and run my own games. Even managed to get one published, not that anyone would ever had heard of the title.
Anyway, I ramble; I have come to the conclusion that the experiences with playing, running and writing RPGs has been invaluable in my career as a software developer.
The type of creative imagination at work when designing a game system isn't so very different from the thought process necessary to translate business rules into code.
Glad I'm not the only one who recognizes this.
Good article, helps explain why I do find more answers @ SO than any other single source.
now back to the bugs...
Steve Leve on October 13, 2011 8:03 AM"The lost space" on the example forum are ads. They are not there to help the reader, but to help other stakeholders.
The most intruding are user's signatures. Some users configure avatars and signatures as if they were trying to put up an aggressive ad for themselves. Not to get sales or traffic, but as an attempt to boost their self-image by drawing attention.
We came to accept this state of things because we got used to the reality of ads on the web on any useful content that we get for free. Stack Overflow looks great because it managed to avoid introducing or allowing this kind of intrusive ad placement and size.
Andrej Orešnik on October 13, 2011 10:58 AMWhat's funny is that the gamification on StackExchange ends up adding cruft to the interface. Like how every single user's score and badge count is shown to every other user, along with a significant amount of screen space being dedicated to question and answer and comment scores and the arrows to change them.
Smackfu on October 13, 2011 11:44 AMBut SO is only good if you know what you're looking for. It's not a site where you can learn about something you SHOULD know. Right now I have tons of sites in my rss reader that I have to sort through to find good information on new technologies, best practices, etc. For example, if I've never heard of SQL injection how would I know to protect my site from it? I wish SO had more wiki style bundling of good information together to inform users as well as a quick stop for problems I am having trouble with.
rushonerok on October 13, 2011 9:47 PMHuh, until today I would have said, no, I'm not a gamer. Never have been. Probably never will be. Any way, gotta get back to my StackExchange topics...
No mention of bbpress or Vanilla? Some of the cleanest form software currently out there.
Edward Chick on October 15, 2011 10:12 AMI'm with Matthew Kane. The gamification drives me away from the SO based websites. The vast majority of forums are terrible, but I'm not sure SO has solved the problem, and certainly people like myself and Matthew stay away. It remains to be seen whether we are such a small minority.
Cstanhope on October 16, 2011 9:24 AMHey, Jeff,
I am having great benefit with the sites you and the whole Stack Exchange community have been creating... Stack Overflow, Ask Ubuntu, Server Fault, etc... and I am pleased to see the evolution of all these.
But... wtf is this?
http://cstheory.stackexchange.com/questions/8624/is-max-cut-apx-complete-on-triangle-free-graphs
I think it's better stop. You went too far! :-)
Account Deleted on October 16, 2011 6:33 PMWhy all the forum hate? SE sites are great for Q&A, which was their design goal, but they're awful for discussion. Forums are for discussion. Use the right tool for the job.
Noah Yetter on October 17, 2011 7:01 AMNot all forums are horrible looking. My own forum - http://talk.notthetalk.com - is designed to be very clean and easy to read. Moreover, it was built with the help of the user community and is based on the late 90s design of the now defunct Guardian Unlimited.
No gamification either.
John Dudmesh on October 26, 2011 9:39 AMActually pretty interesting and useful information!!! I have really enjoyed reading it. Just what I am searching for.
shandelle on December 13, 2011 4:07 AMHi we recently launched http://achivy.com/home so you can track all your stats across all stackexchange sites , github and ohloh as well as foursquare and gowalla and many more in one dashboard
Cheers,
altuure
http://achivy.com/u/altuure
Woohoo!! I used to own those two books (BASIC Computer Games and More BASIC Computer Games). Those were good times.
David Hoobyar on January 20, 2012 4:47 PMThe comments to this entry are closed.
|
|
Traffic Stats |