6

Lately, I've noticed an issue on nearly every StackExchange site that I've visited: namely, that the best answer isn't always first. The site always puts the accepted answer first, even if other answers have a higher score.

I've often seen accepted answers that are either not-quite-wrong, outdated, or cumbersome compared to a later answer. In almost every such case, the community has vigorously upvoted another answer that more clearly answers the question or fixes the problem. Even though consensus shows that the answer is better than the "accepted" answer (sometimes by an order of magnitude), the accepted answer remains on top.

What if there were a threshold past which an answer would be placed above an accepted answer? My suggestion for the heuristic would be at least double the accepted answer's score, and a score of at least twenty. This would prevent close calls for answers with scores close to each others', but still achieve the goal of "best info first."

6

The reason why we even have a concept of accepted answers is because That's the answer that presumably solved the OP's problem. The accepted answer is unique in that way.

It's the answer that has been shown to be the solution that the OP was looking for. The OP is uniquely qualified to decide what answer actually solved the problem.

You don't need to have had the specific problem or have ever actually solved it to upvote, and you don't even need to have a technically correct answer for it to be the most up-voted answer. All you need is to have the best looking answer, and you get the majority of the upvotes.


And I think It's actually a bad idea to change the accepted answer from an outdated answer to a more recent one. Believe it or not, people are still running systems like Windows XP with .NET 1.1 out there, and they might still have use for an outdated answer.

if the answer is outdated, than the question is probably outdated too, and you an ask a new one.


I cannot stress how important the OP's experience is on this matter.

When you are searching for an answer to a problem, and you are reading a Stack Overflow question, you are deciding whether the question applies to your problem or not by matching the question to your own problem. If it matches, than your problem is likely the same problem that the OP had, and in that case, the solution to the OP's problem is likely a solution to yours too.

  • 1
    I'm not saying "take away the accepted answer," I'm just saying that if enough of the community prefers a different answer, it should be more visible, even if the accepted answer did help the OP. – thirtythreeforty Oct 18 '13 at 21:12
  • 2
    @thirtythreeforty in that case enough of the community can make their own question. Enough of the community isn't the one who actually had the problem, and found the answer to be their solution. – Sam I am Oct 18 '13 at 21:13
  • The best answer TO THE OP's ORIGINAL QUESTION can change over time, so a newer answer may eventually get man more votes and BE the better answer. And if someone in the community asks the same/similar question again, it will likely be closed as a duplicate rather than allowed to exist with a better answer. – simpleuser Mar 4 at 17:16
2

I agree entirely with everything Sam I am has said, although additionally it has to be stated that sometimes it is true the 2nd, 3rd, etc answers are better than the accepted one.

However, @thirtythreeforty, I don't think you've thought it through thoroughly enough. How would you suggest this would be applied with a script?

My suggestion for the heuristic would be at least double the accepted answer's score, and a score of at least twenty. This would prevent close calls for answers with scores close to each others', but still achieve the goal of "best info first."

Votes are not enough
Votes do not always = quality (up/down good/bad).

Sure it's mostly a reflection of this, but "mostly" and "votes alone" are not enough to play around with people's answer positioning. Votes can be given for many reasons, and quality can be determined in a variety of ways:

Grammar, good/bad English, too much/little advice, users rep, small issue that doesn't really matter but community sheep voting says it does...
An accepted answer with 3 upvotes might have answered with "MYSQL_" as per the questioners code, but people upvoted the 2nd answer to 10 votes because it touched on info about MYSQLi_ and PDO...

Which is better? The one which simply answered as needed, or the one with some security advice?

There are many more things that could be reasons, and an automated system cannot possibly to take into account these things when determining which answer was better (well, it could but no-one's going to spend 12 months writing it..).

It is sometimes true
Many times I've seen the accepted answer is no where near as good as the 2nd answer.
I've even seen where the 2nd answer had 100% of the entire text of the accepted answer, but then way more info, and useful such as going into depth about quite important and relevant security issues, or whatever.

However, how can you decide which is the "best" answer with algorithms? Upvote comparison with accepted answer and 2nd one is not enough.

EG
If the accepted answer has 3 up votes, and the 2nd answer has 25 upvotes, your argument is it's likely that the 2nd one is better (in fact way more as you only suggested double). However, consider:
The 2nd answer has 10 paragraphs of description, links, other references, and 25 upvotes, but it's is not as good as the accepted answer with 1 sentence and 3 upvotes simply because the accepted answer contains just enough information.

It being short and to the point is all that was needed and so is a good, and possibly better, answer. The 2nd one, while fantastic the answerer went to trouble to give more info and deserves the 25 upvotes, isn't the best answer as the accepted one simply answered the question as was needed.

Maybe the 2nd answer was better due to touching on something very important missing in the accepted answer, but almost impossible to judge with a script.

Also, even just using votes alone, how do you then compare 3rd, 4th, 5th etc to 2nd and 1st answers?
You likely end up with answers all over the place, out of sync with their vote counts, and while this new ordering could accurately represent the true order of answers based on quality, it would look messy and be confusing.
The way it is, while I agree is not 100% perfect, is the best way given the choices and almost impossible requirements to improve it, and for little gain.

There are way too many decisions to make from the above examples, to determine with a script.

  • However, how can you decide which is the "best" answer with algorithms? - What is the point of having the community vote on answers if you aren't going to accept the community's votes as the determiner of which is the best answer? – simpleuser Mar 4 at 17:18
  • @simpleuser We do, it's the most upvoted answer. But it's not the "accepted" answer, which is the debate in this question. Like it or not, the sites do have a definition that the asker has rights to determine the accepted answer,. and it is on the top of all answer. – James Mar 5 at 12:47

You must log in to answer this question.

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