I have blogged before about StackOverflow, the new website for programming questions. It is a nice site and I wish it all success. But while Emperor Spolksy and Prime Minister Atwood are theorizing on podcasts about how to make it better, the courtiers (a.k.a. moderators) on StackOverflow are running amok. Here is a taste of the comments of these geniuses on questions by unsuspecting newbies.
Who cares ??? Zzzz……………………
seriously… do you seek attention or something? [ed: A comment left for someone asked how one puts ads on StackOverflow.]
WTF is with all the junk questions today?
this is a very subjective discussion-y question, not really appropriate for stack overflow!
Seems a little vague. [ed: to someone (probably new to programming) asking what the disadvantages of an array are]
Of course, this is not necessarily representative behavior of every StackOverflow moderator, and it is not that different from the behavior of smug developers on other question/answer sites and discussion forums. But StackOverflow strives to be a better site. So here’s some advice:
Get rid of closing questions and negative voting. The ability to close questions has been controversial on StackOverflow, so recently Jeff made a change so that a question can be closed only if 4 people agree to do so. This change does not account for groupthink and mob mentality. Why not get rid of them altogether?
The people who are disproportionally affected by closing and negative voting are the newcomers to the site. They don’t understand the rules because, after all, who reads the manual (or FAQ) before doing something. These users gain a negative perception of the site, perhaps never to return again. The problem is that most of StackOverflow’s growth will come from new users who come via search engines.
StackOverflow provides the ability to close and vote on questions based on reputation. The assumption is that the more reputation you acquire, the more trusted you are. This is a very naive approach. Reputation is acquired by participation and votes on questions and answers. But reputation acquired through asking questions is sometimes meaningless. For example, the question “What’s your favorite programming cartoon?” has acquired 420 votes and 95,000 views. But the question “Preventing browser timeout on large file uploads? ” which has more relevance to everyday programming has just 1 vote and a measly 300 views. According to the SO reputation system, the cartoon fan is more trusted than the web programmer.
If the idea behind reputation is increasing SO participation, then closing and negative votes do the opposite. Closing prevents further activity on a question. And negative voting drives away newcomers. The worst that can come without negative voting is that a question stays at zero votes and does not gain any traction.
Here are some of the reasons that SO suggests that a moderator use when closing a question and my take on them:
- Exact duplicate: Instead of closing it, just post the link to the original question and vote that up. If most people feel that the original question is the same question, it will appear as the top answer and no one will bother to do anything with this question.
- Subjective and argumentative: Most of the highly voted SO questions are subjective. As for argumentative questions, I see no harm in letting people air their arguments about a topic as long as they don’t become abusive. For example, a topic about “which is the best programming language” may be entirely subjective, but the answers would provide a valuable depth of information for people who are unaware of the pros and cons of various languages.
- Not a real question: And what exactly does constitute a “real” question?
- No longer relevant: Why should someone (whoever high his/her reputation) decide that a question is no longer relevant? This is one situation where the questioner should decide whether the answer to the question is no longer important. If other SO users feel that the question is not relevant to them, let them ignore it.
- Too localized: If it is too localized, the question will simply be ignored by users.
As for “spam” and “blatantly offensive” questions, closing does not solve the problem. The best way is to hide a question (marked as offensive) from other users until someone (who works in the SO team) can look at the question and decide whether it is really offensive or not. The “not programming related” question can also be dealt in a similar fashion, but perhaps in a more educative fashion. Only an SO programmer can post a standard reply that the question is not strictly a programming question and refer the person to a FAQ.
The more I think about this, the more it bothers me. Perhaps Jeff’s fastidiousness has something to do with the whole closing and negative voting stuff, so that the only questions active are the ones without any negative traits. But moderator-driven sites are top-driven sites, instead of being driven more democratically by all the users. The reputation system may have worked initially to seed the application, but it may, in the future, restrict the growth of the application.
Power corrupts. Unless you can build an effective system of checks and balances, handing power to some people and not to others always results in bullying, favoritism and stupidity. You may think you have an effective system because some of the powerful may act as a check on others, but actually you don’t, because the powerful act in concert with each other to maintain their unique status. Don’t believe me, just read (really read, listen and empathize with) some of the answers posted by users on these SO functionality questions, instead of justifying your side based on some abstract theory of how things should be.
[Eeyore image licensed from ybnormalman, Ocean image licensed from Marty S]