Stack Overflow for sure is a class act. What are the downsides of Stack Overflow that you are aware of?
Maybe it's wrong of me to attempt a serious answer, but one of the biggest shortcomings of the SO model, in my mind, is that it doesn't have an effective way to do troubleshooting. I've seen a lot of questions along the lines of "Why is this code block resulting in $SOME_FRAMEWORK crashing?" Often these require a multi-step process to diagnose, but there is no good way to do this.
It's hard to establish a conversation with the OP that allows both sides to be notified of new information from the other person. This results in conversations that take far longer than they should, or even get forgotten.
It's incredibly difficult for a third party to follow any such conversation. Thus you lose a bunch of potential resources to resolve your problem.
If questions or answers are edited as part of this conversation, it leaves other answers and comments behind. At worst they appear patently wrong, but they often become redundant, seem off-base, or appear to be non-sequiturs.
What's the solution to this? I don't know. Better abilities to track questions and answers you're interested in would help, but ultimately I just don't know if such problems will ever really fit within the SO domain.
Downvotes without explanation. Too often people will down-vote your question/answer without telling you why. You're left with no explanation, no name, and no direction towards fixing whatever it was that they were upset with. It is my opinion that this is in no way helpful to anybody, and in fact may discourage many people from even attempting to participate.
(What the hell, I have a sense of humor too)
Expiration of answers. For certain types of questions, the "best" answer may change over time and the StackOverflow model doesn't quite capture or allow for that.
For example, let's say I asked "What is the standard way to manage DB persistence in Java?" back in 2000. At the time, the best answer might have been EJB (gulp). Today, the best answer is probably Hibernate. (Tomorrow, who knows?)
In this situation, users relying on StackOverflow to answer the question may be misled! The best answers should be voted up over time, but if the initial best answer got a lot of votes, then it may be difficult for subsequent votes to overcome that initial surge.
How do we account for this? Is there a way to revisit questions where the best answer has clearly expired? Is there a way to value more recent votes over votes that are several years old?
The downsides? Oh, there are many unintended side-effects of the the StackOverflow system.
One of the stated goals was to be "wiki-like"; that is to say, there is the intention that good answers will float to the top, and that over time, answers will converge toward "the truth".
Unfortunately, the karma system works against this. The "fastest gun in the west" problem is well known; early answers get up-voted far more frequently than later answers, and generally speaking, the first semi-correct answer rises to the top, over the more accurate and complete answers that come later.
In addition, points are given for asking and answering questions, not for editing and refining existing questions and answers. So, the system is constantly generating more and more noise.
Think, for a moment, if instead of editing a page, Wikipedia allowed each user to add another page for the same topic. You'd have a zillion pages on each subject, and it would be difficult to separate the wheat from the chaff.
Unfortunately, I don't have any good suggestions for amending the incentives to reward the desired behavior; but the disadvantages to the current system should be examined.
From the FAQ: You can answer and ask questions to your heart's content as an anonymous user
The fact that "anyone" can post a question is a weakness in my opinion. I'm seeing more & more "homework questions", not the cool/challenging/interesting ones, but rather the inane questions.
When I see a "hit & run" question like "why won't my program compile" (let's say due to a case mismatch in a variable name) or "what does += do in this C program" I feel that it dilutes the quality of the content.
Sure, questions can be downvoted & closed, etc... but I'd be happier if I never had to see such questions.
Maybe the admins have a point though, now that I think about it... Why clog the system with 100s of 1000s of registered users who will only ever ask 1 question...
I don't know if the answer is forcing registration, having some type of "posting probationary period" or what... but I fear that as word spreads, the signal to noise ratio on SO will go down.
Especially the fun tag :)
Popular questions and answers (I'm especially referring to humor) get upvoted a lot more than advanced, technically challenging questions/answers. I do enjoy it myself, too, but very skillful q&a should be awarded more than funny one-liners, imo. The difficult stuff, which should be exposed more, gets suffocated.