What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

I feel like there's a problem with Stack Overflow, as the number of people prowling it increases.

Each question's answers are sorted by descending score and then by descending time of posting. This means that if a person sits down and answers a question in a long, thorough way, going through every nook and cranny, once they post their answer, it will already be one of about seven different ones, some of which have already been upmodded. This wouldn't be a problem if those answers were as thorough as the one this guy's posting, but they usually aren't. Some of them are downright wrong, some aren't even answers to the question asked because their poster didn't bother to read the question all the way through.

This causes a problem I like to call Stack Overflow's Fastest Gun in the West Problem. I've come to a point where I'd rather just send a short, simple, correct explanation, than to go and do some proper research, write a whole blog post about it or even make sure the code I post even compiles, just so it will be noticed, as opposed to the incorrect ones.

I'm sure I'm not the only one doing this and that it despairs many people from even trying to answer questions.

I've long ago learned to try to always raise a problem with a solution in hand, rather than just say "This is a problem, handle it," so my question, after this long tirade, is:

How do you think this can be changed? What would you change in Stack Overflow to make this problem go away without hurting the site?

I promise to vote on answers I like, even if it takes you a long while to post them. :)

share|improve this question

migrated from stackoverflow.com Jul 26 '09 at 13:52

This question came from our site for professional and enthusiast programmers.

81  
create a quick answer, and then edit the detail in steps?? –  Jonathan. May 24 '11 at 19:39
5  
@MortenBergfall he is talking about this edit –  ajax333221 May 24 '12 at 17:01
2  
@Jonathan. That's still too bad, we're always in a hurry. –  Ramy Al Zuhouri Jan 9 '13 at 3:33

50 Answers 50

Sometimes I even see users giving replies like: "change this line of code with this one", not caring about giving an explanation of what they say. "Just do this, so I get my reputation".

And you could see low quality answers being edited and becoming better and better again in the time, but they figure first in the list of all answers, even if who gave it was slower than an user who gave a high quality and complete answer without editing it.

share|improve this answer

I agree too. I've done the same thing. Been waiting for a page to load so I can verify what I'm writing, but it's taking too long so I just post without the verification.

It does reduce the effectiveness of the site I think. Rather than have a few well written responses, you end up with 10 short half-baked answers.

I'm not sure how you'd fix this - what about a delay between the time you post? So it's not like you're all rushing to answer the question, because if there is a 30 minute delay before the post is viewed, you can safely assume someone else will have already answered the question.

share|improve this answer

I feel that it works fairly well as it is. Using the default sort of newest first, the long thorough answer will show up first for the answers with the same vote. I do think that the 'best' answer will in most cases end up at the top of the list. If a user browsing the site really care about finding a good solution to a problem then they will look at all the answers and vote up the one(s) that prove useful.

share|improve this answer

Another possibility that might help is to give users a better view into what changed recently around their votes. I haven't yet found a good way to see all Q&As I voted on that have changed. Having that, it'd be easier to review one's votes, which in turn might lead to long-term improvements in vote quality.

share|improve this answer

I have been thinking about this problem for some time but didn't find good solution.

Since reputation system exists people want to get some reward for their answers. As number of users growth, number of duplicate answers will grow as well.

One of the useful features would be a real-time update on question's answers while you're writing your own answer. It can be implemented in the same way as search, but "search result" should be updated every N seconds/minutes. That way I can clearly see that some one else post similar answer.

Another feature that I find to be useful is merging - as @Unsliced suggested. There must be a way to merge similar answers. However it's not clear who should do it and how to divide reputation points between answering people.

share|improve this answer

I think SO is not only competitive. The competition is just an incentive to -in the end- provide a good (if not the best) source of information for programmers, written by programmers. The reputation feeds two things: you own ego and the confidence of the one who's reading an answer when it sees that it comes from a "guy who's not a newbie in the site and knows what he's talking about". Ot at least, you could change all that quote to: "a guy who has been hanging aroung a lot of time in SO". (which doesn't mean he's good). Badges kind of help with that. You could have 10.000 rep points, and little good badges, or 1000 rep and a few silver…

In either case, time will tell. I think that this is both competitive and collaborative with strong and weak points in each.

share|improve this answer

Could an answer's length be factored into the sorting algorithm somehow? How about letting the reader choose how they want their answers sorted? Much like I can go to Best Buy or Circuit City's sites and sort my search answers by brand, price, or alphabetically, I might be inclined to sort my answers descending by length if given the option... at least as a short-term experiment, although if I find the quality of answers to be better that way, I might just leave it like that forever.

share|improve this answer
1  
And it is easy to cheat. –  Ladybug Killer Sep 11 '08 at 14:34

This is a very valid problem, which I have been thinking a lot too. I have some ideas for this.

Redesign ranking functionality a bit. People can upvote (good ones can range from 1-10) or downvote (bad ones will always show as -1) but users will NOT be able to see their actual rep scores.

Use only Badges (or Grades) for display. Ranking can be used internally to determine the badges but the user will never see his rep points.

This has a psychological effect. Instead of posting a quick reply and refreshing the screen for the rep points to shoot up, users will try to write a more useful and conservative reply with code samples and will know they will get more points in the long run.

Allow users who posted the question to only Accept the answer after a day. If you want to get too draconian, allow him to accept only after upvoting or downvoting all the existing answers. :)

To eliminate fastest gun replies, answers will show up only after 5 minutes. That way, even if 10 quick guns are composing replies and posting, all those answers will show up at the same time. This will negate people to post quick replies and allow them to think at least for 5 minutes.

share|improve this answer

@Mel,

You have some interesting point. It will be nice to differentiate answers by various criteria, not only by votes count. Length of the answer can matter for me. Event if it's wrong, it serves as an indication that person spent some time thinking on his answer.

For example, when I browse through answers I'm interesting not only in "common opinion" but in experts decision. I don't care how much "reputation" answered person has. But I'm interested in his skill in given technology. For example there might be a little statistics attached to answer - total votes, how much people with average score per answer (with same\similar tags) > N voted, etc. Of course there might be a case when someone with tiny "reputation" provides best answer. But it's really a matter of statistics. Probability that quality of answer given by "experts" would be good is quite high. I prefer to not see "reputation" of answering person. In my opinion "reputation" doesn't matter, but specific skill does.

share|improve this answer

Early in my experience on Stackoverflow my gut reaction to this issue was that it was a problem. I also hadn't asked any questions at that time. I soon changed my mind. I believe over time that the most correct answers do bubble up to the top.

If I ask the question I will be reading all the answers no matter what order they are in. As someone looking for an answer I will most likely be doing the same thing. To me what order they are in and how much they have been upvoted doesn't really matter if I need the information.

share|improve this answer

A few ideas, mostly independent/combinable:

(1) Have a buffer time for upvotes. You upvote an answer, but it doesn't count on the rankings for a little while.

(2) Show different rankings to different people randomly, weighted by upvotes and newness. This way newer answers still get a chance, but don't drown upvoted ones (or vice versa).

(3) Temporarily place new answers at the top. Give them N/5 views at that position, where N = # views so far.

share|improve this answer

@Justin Standard,

I think some kind of grace period might be the best thing we can come up with. Also secrecy of the ballot is the way to avoid biased opinions. But your proposition is not solving following problem:

Boundary (first/last) answers receive more attention (and votes).

It means that when votes will be revealed, there is a high probability that mostly first\last answers will be up-voted like it happens in current implementation.

Since there are "oldest" & "newest" sort modes, some answers will be less noticeable than other. To solve this issue (first->most popular answer) I proposed to disable voting for some time and pop question to main page after a while to indicate that it's ready for answer selection.

However disabling voting will make it harder for question author to select some answer in the first few minutes after grace period. So your idea might be better.

share|improve this answer

Just allow the OP to select "how long before the first answer gets displayed", say, 10 minutes. If T is the original post time, then we'll call T + 10 minutes "Answer Open Time". Or we could call it Business Time, whatever you prefer.

This makes every question like a mini-contest, where people have 10 minutes or so to submit their answers. Answers are then displayed, but "early" answers are timestamped with Business Time, not the time the server originally received them. This effectively removes the fastest gun problem.

share|improve this answer
6  
I don't like this at all - you'd end up with a bunch of identical answers. It would result in a lot of wasted (redundant) effort when people put time into a question that is already well answered. Besides, FGITW was largely replaced with SCITE. Any method, including this one, will be gamed just as heavily as the method that it's 'fixing'. But I believe the unintended consequences of a 10 minute wait time (redundant redundancy) greatly outweigh any benefit it might provide... –  Adam Davis Dec 14 '09 at 17:16

I've put together a different but as it happens related question (Expiration of answers for questions with novel solutions), and a proposed solution, that I think helps resolve (or at least significantly advances discussion about) the "Fastest Gun in the West Problem" by having the "fastest answers" replaced by "better answers" as old and perhaps deprecated answer-sets are revolved by the community (i.e. wiped, to-be replaced by new sets of answers).

share|improve this answer

Well.. Good answers will rise up. So dont worry, post a helpful answer that doesnt exceed half a page. Instead of read this or link to that, be objective and comprehensive. Also the first/last line (bold) AFAPossible should be the direct answer to the OP's question. These kind of answers will be rewarded with votes.
As for not reading all the way down... Well its your loss if you don't read all the answers to find the gem. But someone else definitely will.. So post and help away
Hey I made my first 1000 ... post! post! post! just kidding... 'The work is its own reward' as Jeff likes to quote. :)

share|improve this answer

The central problem here is that while there might be several answers to a given question, in an ideal world there would only be one representative of each answer, rather than a whole muddle of similar duplicates.

Obviously we want our answer to be that representative. Our fear is that if we spend too long composing the definitive response someone else will get there first - and if they 'win' they'll get the rep (and, of course, the rep will be going to another answer that can't be as good as ours).

I like the ideal of good answers rising, but what we actually need here is probably some concept of answer merging.

It's probably not for the questioner to make the decision, they can accept an answer but there should be some mechanism for respondees to be able to merge another's answer into theirs and the product would be owned by the community wiki.

share|improve this answer

Maybe there could be a "challenge" to the selected answer. So the person asking a question gets a response and marks that as their answer, even though it may, for whatever reason, be an invalid answer. Part of it could be by adding a comment to the "selected answer" but those are somewhat buried to anyone reading the answer.

If there were a way to show that there is some dispute/challenge from people other than the questioner that the selected answer is the best answer, it should foster some discussion and perhaps even cause the questioner to change their selected answer.

Of course, this way lay flame wars, perhaps, but I'm just using this as a starting point.

share|improve this answer

I think it's got to be down to the community to a large extent - and to the question owner.

Perhaps the question owner should be given more power to change the order of answers to a greater degree?

The only problem with that is that a lot of people asking questions will be 'drive-by' users, just wanting a quick answer to their problem. They're not the sort of user who will hang around to collate and manage responses.

share|improve this answer

The problem

Fast and correct, or comprehensive and insightful. (Scroll down to see suggestion)

I do not think that either type of answer is inherently better. A "good enough" answer will solve the problem and get you back on track. An insightful answer will teach you something new, make you more skilled.

The problem is that if you focus only on rewarding fast answers, many of the comprehensive answers will never get posted at all.

As it is now, the quick answers float to the top, and stay there. People do not always bother to check all the answers, and they might not consider the depth of the question, the way the asker would. If a top voted answer is good enough, chances are it will recieve more votes than it deserves, merely because it is voted highest. That is an error of conformity of the reviewing audience.

Blind votes

Unless votes are made in the blind, you are always getting a systematic error. Simply put, here's the three biggest culprits:

  1. How many upvoted it?
  2. How high up on the answer page is it?
  3. Who made the post?

That is: People will tend to conform to the majority's opinion. People will only read answers to a certain thread depth. People will tend to agree with "authorities", e.g. people with high rep, many badges, etc.

These are all basic concepts in psychological testing. There are many kind of errors that prevent you from getting correct answers. Here is a wikipedia entry on bias, take a look at Bandwagon effect and Primacy Effect.

The correct way to do it, is blind tests

The suggestion

Note: This only affects people who:

  • Are eligible to vote (due to rep or other constraints)
  • Still hold the option to vote for the question.
  • Are not the person posting the question

Anyone who just want to see the voting results can do so by clicking "finished voting".

Blind votes:

  • The author's name & rep is hidden.
  • Other people's votes are hidden until you are finished voting.
  • Answers are presented in semi-random order (1).

(1): A clearly poor answer should be nudged towards the bottom, a clearly good answer should be nudged to the top. Otherwise we are not using the expertise of our users. However, to avoid tainting by position, order is determined by vote intervals, with random order inside the intervals.

Those who do not vote

What about users who are only after answers? If you cannot or choose not to vote on a question, all the information becomes visible to you, and you can use this additional information to evaluate the quality of the answer.

The effect

By having users only vote on the merits of an answer, the validity of the vote tally will be maximized. In other words, we will know that the votes cast reflect the quality of the answer.

As it is now, the votes reflect something more than a good answer. Two identical answers may get a completely different score. Not because one person was faster in solving the problem, but because they shoved a foot in the door fastest.

How will this affect quick and dirty answers? It will still allow users to get rep for quick answers, but it will reduce the exponential effect of "being first", and also disperse some of the rep towards those who feel they have something to add, despite not being first to reply.

In short, it will be less of an "all-or-nothing" effect to being first.

Note: Please give feedback in the comments. The feedback so far has really been helpful.

share|improve this answer
3  
But this ignores the population of people who look at votes not to decide how to vote (they may not even have an account) but only to know which answer to trust. That is the larger community. –  Kate Gregory May 21 '11 at 19:48
1  
Consider stackoverflow.com/questions/6076717/where-to-put-dllimport as a single example (I just grabbed a multi answer question from one of my tags that newbies ask in a lot) - the top vote getter is clearly better than the other two. And the whole point of this site is to serve those who cannot tell which answer is better, and to help them. –  Kate Gregory May 21 '11 at 20:15
1  
I have to say I strongly disagree with this. Yes, you can look at data which shows that higher rep users get more upvotes for more-or-less equivalent answers. However, generally speaking users with higher rep make answers that are simply better -- that's what gets them the rep in the first place. Furthermore, being able to point at an answer and say "I wrote this" is useful for employers as well as for employees showing off what they're capable of. This suggestion is completely contrary to the function of the sites which is why I downvoted. –  Billy ONeal May 22 '11 at 18:24
3  
-1 Appeal to authority fallacy. That you have a university degree in psychology is quite irrelevant. This needs to be substantiated not with philosophical argument, but rather with empirical proof that people actually do vote based on a user's rep. I don't think that exists, in fact I've seen quite the opposite. –  Cody Gray May 22 '11 at 18:29
1  
@TLP: Well, then we can agree to disagree. I think it's a horrible idea. However, this answer would still get a -1 from me if nothing else that it does not talk at all about the FGITW problem (the topic of this question). –  Billy ONeal May 22 '11 at 18:34
1  
Not necessarily. Reputation is a direct indicator of the quality of answers you've posted on this site. A university degree isn't necessarily the same thing. Although that part of the comment was kind of a joke, contrasting your bristling at downvotes and justification of your theories with the very same underlying logic that you appear to criticize. –  Cody Gray May 22 '11 at 18:38
1  
@Cody I am not saying votes are primarily based on rep, I am saying that they boost the effect of a good answer. But I do not think rep is the biggest factor in this case. More likely a high score and top position causes more bias than rep. –  TLP May 22 '11 at 18:58
2  
"Fast and correct, or comprehensive and insightful." In my experience, this is very much a false choice. The FGITW problem is generally understood to mean that someone will post a fast and correct answer to start with, and then (usually within the 5 minute window) edit it to be comprehensive and insightful. In the cases where I've used my fast gun, this is what I do. In the cases I've seen Jon Skeet et. al. use his fast gun, this is what he does. It's not necessary to pick one or the other. It generally ends up that the answer that gets the upvotes deserves most, if not all, of those. –  Cody Gray May 23 '11 at 3:28

I know, I am quite late in reacting o this question.

So my answer will suffer with the problem what this post is trying to state

This answer would be the last one in the list, a lot below the highly upvoted answers

Now the solution I would like to suggest for the problem is:

  1. Give priority to new suggestions and answers. I am not omitting the usefulness of the old ones, but we should be soft enough to welcome the new suggestions.

  2. If upvoted questions are given priority over other ones, then downvoted questions should be given minority over others.

  3. The mark-it-as-a-useful answer trick should be used to decide the priority of a good answer and the mark-it-as-spam trick should be used to decide the location of the answer down the hill.

share|improve this answer
8  
If you order the answers by "active" then your answer will appear first. –  Lix Sep 15 '12 at 10:21

You must log in to answer this question.

protected by Jeff Atwood Aug 8 '11 at 5:13

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .