Proposal: A different approach to voting

It’s no secret that newer (and older) users on the SE network don’t really like being downvoted. There are tons of Meta posts about how someone being downvoted made them feel unwelcome, or how they perceived the downvote(s) as a personal attack. Of course, we could just become YouTube and essentially get rid of downvotes, but that would make it difficult to curate content, since everything would have a score of at least 0.

A big problem with downvotes on the SE network is that they’re used to signal so many different things. There could be any number of reasons someone downvoted:

  • Clarity issues
  • Topicality
  • Broadness
  • Someone’s having a bad day
  • Obvious duplicates
  • etc etc etc

When you see ambiguous negative feedback, it’s easy to think, “oh, they must not like me.” The curators know that’s not the case, but the person asking the question might not. Contextual tutorials would help with this problem, but I think it’s possible to go further.

Instead of a single downvote function, what about something more granular? I can think of a few possible scenarios:

  1. Have flags and close-votes count as negative feedback, and let the author see which reasons have been selected. There might need to be separate weights for flags and CVs.

  2. Have a pop-up when downvoting, asking the downvoter to specify roughly why they downvoted. Maybe a list similar to the CV reasons, with the option of entering a custom reason or just not leaving any specific feedback at all.

  3. Instead of a single downvote arrow, have different negative feedback buttons. This is basically just a variant of the second scenario, with more buttons instead of a popup. Each version is still negative, but it’s more specific than an all-encompassing downvote.

Obviously, all of these scenarios have their issues. With the first one, there could be problems if someone wants to both upvote and close (a good duplicate, for instance). With the second and third, it adds more clicks to the process.

I personally think the general idea if better than a normal downvote, though. Getting more specific feedback on the votes (without removing anonymity) means the post author knows roughly what they need to do to improve their post. It also specifies that the vote isn’t about them personally, but about their post.

How could these be improved? Are they better or worse than a simple downvote?


There have been talks and opinions about how should a downvote be handled carefully and constructively. While I think it’s a pretty sensitive topic and we can mess this up easily, this is what I propose should serve as a viable pipeline to handle a downvote so that it can serve its purpose to improve the post whitelist maintaining user-sanity with healthy content judging capabilities.

  • A downvote is placed and the OP is informed about the downvote without disclosing the username of the downvoter.
  • The vote right now is not visible to the public. Only the downvoter knows about the post they downvoted.
  • Along with the vote, it will be necessary to attach a small pin that should be destroyed after the purpose is fulfilled. The pin will be by a member who has voting capabilities, it will contain the information which is context-specific and comes intending to improve upon the post, be it any issue for the downvote.

For example, if I see no code to work on to solve the OP’s problem and assuming that I have the appropriate trust level, I can downvote with a pin stating explicitly “Your post doesn’t have code which is appropriate to the context. Please attach your code in the question body.”

  • The OP can see the pin and act on it. The pin is still there and the downvoter will be notified for the edit if they want to and just like you would retract a downvote manually, the downvoter can validate the edit for themselves and see if the question is now answerable if it is then they may retract the downvote and the OP can complete the pin

That makes it necessary to leave a pin if there is a downvote. This adds some value to the downvote. This is indeed a rough sketch and suggestions are welcome

1 Like

I’ve seen this (or similar) mentioned a few times. My one concern is that there may be “this is a little bad but not horrible” situations where some people will always downvote, but many others will downvote only if nobody else has, because they don’t want to say “this is horrible” but just make sure somebody has gotten the message across. If the downvotes are hidden (except from moderator/high-trust-level-users) then this doesn’t work and the result might actually be more downvotes, which would be even more “unwelcoming”.


Hidden downvotes would also confuse people trying to understand answer ranking. And a downvote that doesn’t affect answer ranking isn’t really a downvote at all, just feedback that could have been left in a comment.

Having some way to communicate to downvoters that there has been a post-vote edit would be helpful. On SE I remove downvotes if told about a sufficient improvement or if I happen to notice the edit later, which could be months later when the question next pops up on my radar.


We can then add a queue to simply fix this issue. A downvote has happened and a pin is sent that stops others from downvoting or sending more pins. That way there are no more downvotes and only the downvotes which are appropriate because we don’t want to allow a rain of downvotes on the user

1 Like

Then you run into a similar issue that you have without downvotes at all. Instead of all posts being scored 0+, they’re just scored -1+ now (or -N+, where N is the number of negative feedback categories there are).

@wander1236 I think the idea (or at least what I think should be the idea…) is that “initial downvote to be reviewed” == worst case -1. But long-term - i.e., after initial review to determine whether this is salvageable or not - could have any level of downvotes (like some Meta SE questions of late). Not every “not good enough” message will be closed/deleted - the spam & trolls will be. Others will, after giving the user some help/guidance, be allowed to run their natural course (I think). This is especially the case for Answers - e.g., an Answer that is “wrong” but not “evil” won’t be deleted but it will get downvotes.

1 Like

As I mentioned in chat, having some sort of quality control (aside from stuff like closing questions) is absolutely necessary for both questions and answers. I want to take a bit of a look at how the voting system is currently used on SE.

First off, upvotes. Upvotes are used on questions to indicate that this is a high-quality question. What that means depends on the person, the site, and the question:

  • It can mean that this is a common question that will be useful for future visitors to the site.
  • It can mean that this question does not have an easy-to-find answer and shows research effort on the part of the answer.
  • It can mean that this is an interesting question and enjoyable for people on the site (such as an intellectual challenge for the answerers).
  • It can mean that someone else had the same problem.
  • etc.

Upvotes on answers also have different meanings,

  • It can mean that this solution worked.
  • It can mean that it provided a useful or in-depth explanation.
  • It can mean that even if it didn’t solve the problem it gave useful information that was related to the question.
  • etc.

And of course downvotes are used for a whole variety of different things as well. On questions…

  • It can mean it was lazy and didn’t show any effort to solve the problem on their own.
  • It can mean it is unclear and badly written.
  • It can mean that it is an uninteresting question that doesn’t interest anyone in the community.
  • It can mean that someone disagrees with the premise of the question.
  • etc.

And answers…

  • It can mean it didn’t actually solve the issue in the question.
  • It was written unclearly and difficult to understand.
  • It was unsourced or entirely speculation.
  • It doesn’t actually answer the question (e.g. “me too”).
  • etc.

So once we understand what the votes are being used for, and what the feedback the votes are trying to convey is, then we can look at what we want to do with these different types of feedback.

If someone is downvoting because the answer is flat-out wrong, then it doesn’t make much sense to, say, ask the OP to edit the answer. If it’s totally wrong, then editing won’t help; they’re better off deleting the thing and writing a new answer.
On the other hand, if someone is downvoting because the answer is unclear and is struggling to get the point across, then giving feedback to the OP that an edit would help has the potential to be useful. Telling the OP that their answer got feedback from two people that it needs to be edited to be clearer is more useful than just showing a score of -2 without any reason specified.

So I propose that we have a more nuanced feedback mechanism than just upvotes and downvotes. Someone should be able to select “needs editing, is unclear” as a downvote reason. That feedback is then transmitted back to the OP - “Someone has requested that you edit your answer to “Why do unicorns love daisies?” because it was unclear.”

And something similar for upvotes, although perhaps not transmitted back to the OP the same way. Someone viewing the answer should be able to see that seventeen people have upvoted as being a solution that works, three people have upvoted for being a great explanation, and one person has upvoted for being useful even though it didn’t address their specific issue.

(Side note: A default to “other” as a voting reason might be a good idea, if someone doesn’t want to specify a reason every time. It should probably be an option to select a voting reason, not a requirement (or if it is a requirement, “other” should be an option).)

Basically: A more nuanced voting system that allows people to mark why they are voting the way they are, that gives both the OP and people viewing the post an idea of what the issues / good things are with that post.


Essentially, you are proposing to replace votes by a set of predefined “reactions”?
Like “interesting”, “useful”, “badly written” etc?

Yes, that’s one way of saying it. But those reactions combine to provide the overall score of the post. Upvotes and downvotes that come with reasons.


I’m going to be thinking about this, a while, but my immediate reactions (so that they don’t get lost):

  1. Some people won’t want to be bothered with a dialog box/prompt every time they vote. There are times I’d want to, and other times I wouldn’t want to be bothered. I think the interface would need to take this into consideration, either with two buttons (one shows the options, the other not) or a (obvious) way to turn it off (like: “Don’t show this again”).

  2. For an “Other” option, a box to to optionally type in what “other” is.


In my opinion, this proposal (starting point weegee’s, but especially this) lacks transparency - for everyone. Downvotes need to be visible.

Either the proposed site is what Stack Overflow “should be” and it is expected that contributors make an effort and accept site rules, or there’s no need to create an alternative.

Disagree strongly. If I see something that’s wrong, I should be able to downvote it. It shouldn’t matter if someone else already has. If the issue gets fixed and I get notified, then I can review and remove my downvote. I might have different criteria than that other downvoter; other users don’t speak for me.

My vote, my decision – so don’t take away my vote.

As a demonstration of the problem, this forum software did not allow me to downvote your post.


A while back I proposed optional vote reasons. This seems like a better-developed version of that idea. But I don’t just mean reactions replacing votes; I think the vote is still the primary action, and a voter can optionally also leave a reason chosen from a provided list. (For custom reasons, or expansions, use comments.)

People should still be allowed to just vote, if their reaction is “hey, nice” but they don’t want to have to articulate in which specific way it is nice.


On the other hand, if we go with what Cindy said…

…that would help to eliminate the noise “thank you” comments that are so prevalent across SE, by giving them a place where such a note would actually belong. (And presumably these would be at least a single click away1, so less in-your-face than comments are.)

1Much like the clicking to expand to see the ratio of up- to downvotes on SE, I’d expect you to have to click at least once to see the detailed reasons for the votes.

Yeah, a textbox in the dialogue is fine too.

This immediately reminded me of Facebook’s Like/reaction system. If you see a post you like, you can just hit ‘Like’ and move on; takes only a fraction of a second. If, however, you hover over the ‘Like’ button, then you get a set of six reactions (like, love, haha, wow, sad, angry) which you can then select to give slightly more nuanced feedback.

In a similar vein, it should be possible to just click up or down on a post and not have to do anything else. But if you hover over it (and maybe this is a Trust Level 1+ privilege?), then you get additional options to give more nuanced feedback.


All the votes should be visible, often I don’t downvote q/a if I see that it already has some with similar reasoning in the comments.

The voting system should be simple and fast for a user. However I agree that maybe there can be some reasoning incorporated, but again it shouldn’t intercept ‘fast’ - maybe after you click the downvote, you will get besides some kind of radio button to choose (quality/duplicate/other/etc) - you don’t have to choose it, vote is already cast, but this should help the op and other users to see some reasoning of voting. It can also remove some noise from the comments.


How about queuing the downvotes? Your downvotes get counted and then gets displayed but instead they don’t affect the reputation? The OP can take it as an emphasis on the note that was given by the downvoter

But then there’s no way for a question to not be well received. If downvotes don’t actually affect their trust level, they might as well not exist.

1 Like