The question that prompted this is Add or view pattern with MVVM (but I think this situation is pretty common).

There, you have two answers: one is long, thorough and overall great; the other is much shorter, but it still raises some good points (that are not in the long answer).

In such cases, I think the long answer clearly deserves more upvotes than the short one, but the short one also deserves some. But this means that when I want to be "fair", I have to look at the current number of votes on both answers and vote according to that, which I don't like.

I think a better solution would be to have two buttons for upvoting: a big upvote (which I would use for the long answer) and a small upvote (for the short answer). Do you think this would make sense? Are there other solutions to this problem? Is this even a problem in the first place?

(I do realize that even if we unanimously agreed that my proposal was the best way, SE isn't likely to implement it just for CR anytime soon. But I think the discussion might still be worthwhile.)


3 Answers 3


No, for a few reasons...

  1. Would a big-vote button help? Perhaps, but it will just introduce a different set of arguments, like: "Hey, why did you only +1 my answer instead of +2 it?" and, "Why only +1's here?" (in addition to all the "Hey, why the downvotes"...)

  2. The change would be impractical for many technical reasons

  3. There already is a 'super upvote' option (the accept button).

  4. You can always award a bounty if you feel an answer surpasses your just-worth-an-upvote criteria

  5. you have what I believe is an inappropriate mindset about voting

The way you describe your thought process about voting is exactly the reason I believe that voting is broken on Stack Overflow, and why I worry about it here on Code Review.

Your thought process consists of comparing the existing answers, and choosing the one(s) you think are the best, and voting for those. That is not what I believe to be the right way to vote (especially on Code Review). The right way to vote is to determine the value you see in each answer, as individual answers, and not relative to the other answers.

If an answer provides value to the OP, then reward that answer with a vote. If it is not an appealing answer, or does not inspire you to read it, then just don't vote. If the answer is wrong, or misleading, or really badly formatted, whatever, then downvote it.

It is not your job to select the best answers, it is your job to 'like' the answers that provide value to the site, and the question asker.

On aggregate, when everyone who can vote, has cast their votes on the answers, then those answers who the most people think provides value, will 'bubble' to the top, and become the 'winning' answer.

In addition, the question asker has the accept-option, which should be used to identify the answert which the asker thought was the most valuable to them. The asker has the option (and responsibility) to determine what was most helpful to them. That accept also 'raises' that answer to the top.

Votes are not a popularity contest, they are a reward-for-value-added. If both the long, and short answers add value, then vote for both of them.

If a person aswering a question volunteers to go to a lot more effort than other answers, then that is their decision, and it is likely to get them rewarded too (if they add value).

On Code Review, we do not look for 'winning answers' we look for 'valuable answers'. If everyone who adds value gets rewarded for that, then they will get votes, feel good, and contribute more. This is why Stack Overflow is struggling with discontent people, because people are adding value, but not being rewarded for it, because voters are only voting for the 'winning' answer, not valuable answers.

It has been pointed out that bounties are available for this, and they exist in part for this exact reason. When you offer a bounty, you can select the option: "One or more of the answers is exemplary and worthy of an additional bounty." When the bounty is offered, you have to wait 24 hours before you can award it. In this time the bounty will draw additional people to view the question, and will likely generate more voting too. This will also reward those people who have valuable answers.

  • \$\begingroup\$ “Votes are […] a reward-for-value-added” Exactly, except that I think that one of the answers adds more value, so I want to reward it more. I think that what you describe discourages long answers and I don't think we want to do that. \$\endgroup\$
    – svick
    Commented Sep 13, 2014 at 17:06
  • 1
    \$\begingroup\$ Actually, I think we've discussed that the site probably would benefit from having fewer long answers and instead having more short answers that are succinct and cover a specific point about the question. \$\endgroup\$
    – nhgrif
    Commented Sep 13, 2014 at 17:07
  • 3
    \$\begingroup\$ There's also the "Power-Upvote" feature: if an answer is really outstanding, you can always award a bounty on it! \$\endgroup\$ Commented Sep 13, 2014 at 17:07
  • \$\begingroup\$ Of course, posting a meta-post on the question also helps to get upvotes... ;-). @svick - Mat's has a point about the bounty too, and I did exactly that yesterday as well, why did I not think of adding that to my answer....? \$\endgroup\$
    – rolfl
    Commented Sep 13, 2014 at 17:10
  • \$\begingroup\$ The bounty is just perfect if you want to give extra reputation and I was as close as possible to it here. I believe it was rolfl who awarded the bounty to Lukazoid for great idea/insight (to use Dictionary here). \$\endgroup\$
    – user52292
    Commented Sep 16, 2014 at 8:50
  • \$\begingroup\$ "You can always award a bounty if you feel an answer surpasses your just-worth-an-upvote criteria" - related, bounties make horrible "thank you's". See Provide a means to reward users and their answers (decoupled from bounties) for a discussion. Its lists about 10 reasons why they are a bad choice and the wrong tool. \$\endgroup\$
    – user53032
    Commented Sep 23, 2014 at 16:40
  • 1
    \$\begingroup\$ big upvote for this answer \$\endgroup\$ Commented Sep 24, 2014 at 6:16

I want to expand on some points rolfl made in his answer. I think you're taking a drastically wrong approach to voting on answers.

You are free to decide whatever criteria you want for upvoting or downvoting answers. However, once you decide this criteria, you should apply it fully and equally to each answer that you read, ignoring any other posted answers.


Because it is wholly unfair to the answerers to do anything different.

Whether or not my answer gets an upvote shouldn't depend on whether or not there are any other answers at the time you happened to look at my answer for the first time.

The tooltip for upvoting says simply "This answer is useful."

You're more than welcome to up your criteria for what counts as a useful answer if you want. You're perfectly free to only upvote the very long and very complete answers. There's nothing against you having this criteria. But I must strongly urge you to apply this criteria with blind equality across all questions and answers. If an answer doesn't meet your personal criteria, don't upvote it. If it does, do.

  • \$\begingroup\$ I don't quite get why. Why is it unfair to the answerers to do anything different, @nhgrif? \$\endgroup\$
    – Pimgd
    Commented Sep 15, 2014 at 7:12
  • \$\begingroup\$ So by your reasoning it would be totally fine to upvote a duplicate answer because in itself it is useful? I agree with your comment about the short answers. Often there are answers with great parts that deserve the upvotes but with some advice that is at best subjective. I would like to be able to vote on specific sentences but this is not possible. Putting each point into its own answer would make this possible and would allow for a natural ranking of the most important changes. \$\endgroup\$ Commented Sep 24, 2014 at 11:08

From a gamification perspective I would not mind collecting doodads ( 1 per accepted answer ) that can only be spent by giving +2 to answers.

It would allow users to say, this is not just useful, this is AWESOME without giving up precious, precious (preciousss) rep.

It would prevent worries on 'why did I not get +2' because everybody would understand that there are not that many +2's to go around.

There have been several answers of Flambino where I was thinking, wow that just blew my mind. And all I can do is give a +1 since no amount of mind blowing will make me give up rep until I hit 20000.

  • 3
    \$\begingroup\$ That 20K motivator.... suddenly becomes a 30K motivator, and now a 40K motivator.... soon it will be a 50K motivator..... ...come to me, my precious..... \$\endgroup\$
    – rolfl
    Commented Sep 23, 2014 at 16:21
  • 1
    \$\begingroup\$ Right, I used to say I will give all my xp away after 5K. Muhahah.. \$\endgroup\$
    – konijn
    Commented Sep 23, 2014 at 16:22

You must log in to answer this question.

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