StackOverflow and other StackExchange websites
StackOverflow and friends are question and answer sites, StackOverflow specifically was created to edge out Experts-Exchange (not linked on purpose) in Google rankings for programmer questions, specifically because Experts-Exchange likes to make their answer sites are confusion as possible, with many different ads and hiding parts of questions until you cough up a membership fee.
Overall StackOverflow has done an outstanding job in doing what their core mission statement was when they started it, and recently has begun branching out into various other territories using the brand name StackExchange. I am very happy that these sites exist, and that they provide much better results for the same questions.
Today I was reading a blog post created by Joel Spolsky, titled "The Wikipedia of Long Tail Programming Questions", in it he brings up some core features that StackOverflow supports, such as everyone editing community questions at 100 rep, and editing any questions or answers at 2000 rep. Rep in this case can be compared to karma on Reddit or Slashdot. Rep is earned by answering questions accurately and having other users "upvote" your posts. Rep may also be lost, but that is outside the scope of this discussion.
- Some of the suggestions that Joel makes are as follows:
- Don't answer questions that have already been answered elsewhere.
- If you're going to close a user's question as a duplicate, it has to be a real duplicate.
- It is OK to edit a question to make it more general.
- Help us build a great library of canonical answers.
I agree with all of them except the first. Now, if you quickly take an interlude from this blog and go check out my StackOverflow profile page you'd see that sometime in March (only for two days actually) I suddenly became very active on StackOverflow answering a lot of questions and helping many people, and gaining reputation rapidly. It was shortly thereafter that I slowed down, mainly because the rate at which I was going was only possible because I was on school break, and because I started working on some new projects. Since then every so often when I stumble across a question I will attempt to answer it.
In attempting to adhere to number one as outlined above I tend to do some searches to see if maybe the question has already been answered elsewhere, and also to adhere to number two it takes me at least a minute or two per question.
Then scenario one is as follows: During that time others are doing the same, or maybe already know it is a duplicate and close the question (hopefully linking to another question that it duplicates), those are two minutes I just spent doing some research to provide a better answer that is then not necessarily wasted, as generally I will learn a thing or two, but at the same time I wish the submitter had searched for himself.
Scenario two is as follows: However if the topic is not closed, and is a fairly simple question during the time that I am doing my duplicate search others will have posted a one or two sentence reply that will somewhat help the author of the question. Those will then get upvoted rapidly as people consider those easy questions answered. At that point I will type out a full thoughtful reply that will get ignored and will stick around at 0 upvotes as people don't tend to come back into questions after it has already been answered a couple of times.
This has made me apprehensive of answering questions as they come up on StackOverflow as generally those that I feel qualified to answer will get glossed over and there is really no incentive for me to continue doing so unless I go for the long tail (hope that within the next coming years people find the reply through Google and upvote it then). I feel that the quality of responses on StackOverflow has gone down mostly because you can get one or two upvotes before scenario one plays out and the thread is closed. This means that on duplicates it becomes who can quickly answer and post (hence the one or two sentences) before the mods get around to it. While I really enjoy responding and that should be enough to entice me to respond more, I feel like I am being alienated by lesser quality posts that don't provide nearly the quality that I have come to expect of StackOverflow.
The answers are starting to look more and more like those on Experts-Exchange, the barrier to entry is very low on StackOverflow, mostly on purpose but I also feel that it detracts from the quality the website is required to have to stay useful in the foreseeable future.
One way I can see this being "fixed" is Slashdot style (for people who want to "moderate"). On Slashdot before you get mod points you have to do a couple of different tests to see if you are in-line with the majority, you get to see comments and context and you have to decide what you'd moderate the comment. On StackOverflow a newer user before being given the ability to upvote/downvote answers would then have to first do a small test to see if they are able to decide what is a good comment and what is a bad comment. Then when they start posting other users will judge their replies, and if they are short and don't contain a very good answer they are limited from posting replies in threads that are newer than X minutes. This would give the power users that have earned it the time to do the proper research, write out a good reply, or close the thread as a duplicate without people being able to farm for karma by posting two sentence replies that are completely useless.
Is this feasible to implement? I don't know. Would it provide a higher barrier for entry, absolutely. I think that is a good thing. In closing, I would like to state that I absolutely love the various StackExchange websites, and the ease at which knowledge is now spread, but I have been becoming more and more distanced from the website since the quality of answers went down tremendously, and I am much less likely to spend time answering a question when it is already saturated with one or two sentence answers thus having my quality answer sit at the bottom of the list at 0 upvote points.