A couple of posts ago, I covered my vision for the first phase of a reputation system for the Microsoft forums.  Now it’s time to build a case for Phase 2 (I feel a bit like I’m building a subdivision here…)  Phase 1 of the reputation was focused on incenting and rewarding top answerers.  Phase 2 of the reputation system aims at helping another group of key users of the forums--the question-askers.

A few months back I did an informal survey of some of the top answerers on the MSDN Forums site.  One of the questions I asked was "Why do you answer questions on the forums for free?"  I was expecting answers such as "respect", "advertising my consulting business", etc.  What I got was completely different.  People said that they learned by answering interesting questions on the forums.  The best way to get more answers was really to get more interesting questions posted.

Of course, some of the questions on the MSDN Forums are, admittedly, not very interesting.  Many newbie posters will post something like "Help!  I am using Visual Studio and can't run my program."  Listen, I don't care what your third-grade teacher said--there are such things as stupid questions.  :)  Questions like that clog some of the forums, keeping our top answerers from wanting to answer questions there.  In addition, new questioners are the ones most likely to post off-topic.  It's not their fault--they aren't familiar with the structure of our site yet, but you'll often see databinding questions in the "Visual Studio General" forum, or questions about GridView in the "Visual Basic Express" forum.  This makes it very, very difficult to find a good question to answer, and it keeps our more experienced questioners with the good questions from getting as many eyes looking at their on-topic question.

What do we do?  We allow questioners to build reputation.  If you're known for writing really good questions, or even known for good answers, you should have more flexibility than a newcomer to the site.  So, let's give people some points for question-asking activities.  Here's an idea:

Question Asking Points

  • 1 Point for every question asked that was answered
    • 1 Point if you marked a reply to your question as an answer (and it was never unmarked)
  • 1 Additional Point for every question asked that was marked as helpful
  • -1 Point for every post that was marked "off-topic" and moved to another forum
  • -3 Points for every post that was so off-topic that it was deleted
  • -10 Points for every reported post that was approved as abusive

Answering Points

  • 5 Points for every answer given
  • 2 Additional points every time your given answer was marked as helpful

So, "answer count" would be replaced by a synthetic "community score" in phase 2 of the reputation system that took into account more of the behaviors on the forums that we wanted to encourage--good question asking, helpful posting, answering...and discouraged the bad behavior--off-topic posting, abusive/spam language, etc.  So, what would we use this new score to do?  Remember--any reputation system needs to be linked back to something "tangible"--a number on a screen doesn't mean much to me, one way or another.

Points Based Rights

  • 10 - able to post in a forum without going through forum selection steps
    • Newbie posters would need to answer a few questions that helped select an appropriate forum before they posted, and possibly would force new users to search before posting.  For example, I would be asked what version of Visual Studio I'm using, what language (C#, C++, VB), and what I'm trying to do (writing code, designing UI, debugging, deploying, etc.)  The forums system would then suggest a forum that is on topic for me to post in.
  • 25 - Answer Marking Rights (for others)
  • 50 - Answer Marking Rights (for everybody)
  • 100 - Can Move Posts
  • etc...based upon the levels in Phase 1
  • And, of course...
  • -20 - Nomination for banning from the system, which would go to the site administrator

I toyed around a bit with the idea of having the top users questions actually appear higher on a forum thread list than others, but I really don't like the idea of the forums becoming an exclusive club.  A new user should have just as much chance of having their question looked at as a veteran user--but I think it's okay to make them jump through a few hoops while they learn the site, ensuring quality for the older users of the forums.

This whole "rewarding question askers" idea is relatively new--it really stemmed from a conversation I had with Josh last week.  As a result, I'd really welcome some feedback.  What do you think?