One of the most fun parts of my work with the MSDN Forums has been working some of the most passionate, smart customers we have in Developer Division—the forum moderators. The moderators are usually thinking about a month or two ahead of Josh and me, so whatever new issues they are bringing to our attention today usually come to the forefront in due time. In a way, I guess I think of our moderators as “Community Barometers”…they let us know whether or not a storm is brewing on the horizon.

That’s why I knew that there is a big element missing from my reputation system thoughts when one of our most passionate moderators, ReneeC, sent me an email earlier this week. She noticed that I’m constantly on a hunt for new community moderators, and correctly assumed that it was because I see a rising tide of questions on the site (3,100/week at last check) and knew that I needed to enable more passionate community members on the site to continue to keep pace. What she also told me was that simply adding warm bodies to the mix wasn’t going to help exacerbate one of the biggest problems with the rise of questions on the site: new users don’t know how to ask good questions.

For example, let’s say a new user to the site is really having trouble with populating a WinForm DataGrid with the results of a query on a database. A more experienced user will know to include code samples, a detailed description of what he/she is trying to accomplish, and the specific error message that they are receiving. Unfortunately, the new user on the site isn’t used to writing questions, and they often will post a message like:

Subject: Please Help!

Body: I am trying to get a DataGrid to show the results of a query I wrote and it isn’t working. What should I do? Thanks!

Ugh. That question has less than a 20% chance of being answered. In fact, we’ve found that questions written by MSDN Subscribers (typically quite experienced users) have a 75% overall answer rate, versus a 59% answer rate on the overall site! Does good question phrasing matter? You bet!

So, how do we help new users write good questions? I’m not sure, but here’s some ideas below…

  1. Welcome Messaging—We know how many posts a particular user has made on the site, and we can also figure out fairly easily what percentage of questions that they have asked have been answered. Using this information, we could target welcome messaging at new users. It could be a pop-up that displays on the homepage that links to a best practice guide to using the forums (idea c/o Renee), an email message that is sent to your Passport account after you register to the forums, or a page you must read when you go to create your first post. The content of the message will be an introduction to the forums, how they work, and guidelines to asking and answering questions. The downside to this method is that most users simply click through these guides—there’s really no incentive to actually reading them. When was the last time you read a welcome guide?
  2. Question Moderation—When you first come to the site, before you’ve built up a basic reputation as a good question asker, you might have to have your questions approved by a moderator before they appear on the live site. The moderator could always tell you that you need more detailed information, and this could be coupled with the welcome messaging. The problem with this approach is twofold: 1) This requires quite a bit of extra moderation and 2) This potentially creates a feeling of distrust and extra unnecessary “hoop jumping” for some of our new users.
  3. Forced Search Prior to Posting—Many of the questions that new users ask could be solved through a simple search of the forums site—saving the question asker and answers time both. If new users to the system had to search and look through a page of search results prior to seeing the post dialog box, we could potentially cutoff a huge number of questions from new users.
  4. Question Template—We actually use this internally for bugs quite a bit at Microsoft to make sure newbies like myself are writing good bugs in our bug database—detailed templates. When a new user makes it to the post dialog box, there will already be a framework inside the text box to help them frame their question, prompting them to fill in a detailed description of what they are trying to accomplish, sample code, a list of things that they have already tried to solve the problem, and the detailed error message or behavior that they are experiencing.
  5. Automatic Alert of “Bad Question”—The best way to identify a “bad question” is usually the fact that a bad question won’t get any responses in over two days. If a user hasn’t received any responses in two days, an alert could be sent to the user informing them that there hasn’t been any activity on their thread, and it might help to clarify their question.

That’s what I have for now—anybody else have any ideas? What do you think?