maybe a thought: no longer anonymous downvotes. not to discourage downvoting when appropriate, but rather so the downvoted person knows who to ask at least some explanation as to the why.

Mike Askew commented: I support this +0

Recommended Answers

All 29 Replies

If the voter were interested in explaining his or her reasoning, they would leave a comment rather than just vote, or reply to the thread in addition to voting. I'm not sure I see the benefit of showing who down votes, given the potential for revenge voting.

that potential is already there. chances are you know, or assume to know, who it was and downvote that person.

the point of downvoting should be: pointing out something is wrong. "-1"
doesn't really say much about what's wrong with it. usually, when they don't leave a comment, it's either a decent voter, that downvotes because it's very plain obvious why, but usually, it's someone who, as you call it, "takes revenge" on someone that downvoted them and did bother to explain why.

hope this thread will result in a meaninfull decision . . .

Let's be realistic for a moment and consider the human condition. Since you asked to know who downvoted, specifically, and not who voted in general, it's kind of obvious what the implied intention is. You want to know so that you can accost the voter, find out why they were so impudent as to downvote you, and possibly even strongarm them into reversing it. The more noble members will take the reason to heart and try to avoid similar behavior in the future, but the reality is that the vast majority will be offended and not change their ways, even for perfectly valid and reasonable votes.

I don't really feel strongly one way or another about this issue, but I feel it's important to recognize both the reason for wanting a feature as well as the likely negative effects of implementing it. However, in full disclosure, a bulletpoint near the top of my list of things to do is write an admin page for searching vote records. ;)

that potential is already there. chances are you know, or assume to know, who it was and downvote that person.

Unless that person confirms it, you don't know, you only assume to know. Even I don't know without asking Dani to query the production database. With named downvotes, you're sure, and will probably be less hesitant to go on the offensive. Please don't misunderstand that this is the only reason votes are anonymous, it's just the first possible negative effect of making them public that came to mind.

the point of downvoting should be: pointing out something is wrong. "-1"

The point of downvoting is: "I don't agree with your post for some reason". The reason doesn't have to be rational or factual. Voting is completely subjective, though for the most part people will only downvote when there's an obvious[1] flaw in the post's content.

Ultimately, knowing who voted on your posts is just mental masturbation. It makes more sense for reputation where comments are forced, but I'm reasonably sure people would be less inclined to vote on posts if they started getting private messages demanding a reason potentially every time they voted.

[1] Obvious to the voter, of course. Not necessarily obvious to anyone else.

Would it be possible to implement a system that requires a sensibly sized comment to be entered before a down-vote is actioned whilst remaining anonymous?

Lets take an example from my account: http://www.daniweb.com/software-development/csharp/threads/289586/here-we-are-problem-with-arabic-letters#post1248925

Downvoted...Why? There's nothing wrong with what I said, if there is, I don't know of it and would like it explained; a comment could have done that or a post.
Is the downvote simply because the OP realised it was the only solution and they didn't want to implement it?

If you're going to downvote someone, you must have a reason as to why. I don't think it's unreasonable to require someone to enter that reason, even if the commenter remains anonymous.

At least if someone puts "Because I don't like you", you can just shrug it off. However, without a reason it just appears as though the answers given are bad. This also gives rise to easy "revenge" voting.

Because you can anonymously downvote without a reason, you could just find all posts by one person and downvote them. If you had to spend time writing out a reason each time (or even copy/pasta) it makes it less worthwhile. In the case of copy/pasta, it would be easy for you (as a moderator) to see and check a complaint of revenge voting.

I appreciate this might be for fringe cases, but I think it would be a nice to have; forced comments on downvotes, anonimity remains intact.

If I recall correctly how the system works, leaving a comment will also adjust rep but an anonymous vote will not. Therefore, if you allowed anonymous comments, these would not affect rep. Once you tag it to your account, it would affect rep.

Would it be possible to implement a system that requires a sensibly sized comment to be entered before a down-vote is actioned whilst remaining anonymous?

We own the code and designed the system, so it's most certainly possible. ;) I don't dislike the idea, by the way. In a certain sense, I'm playing devil's advocate here just to make sure that if we choose to make a change, it's been fleshed out from all perspectives.

If you're going to downvote someone, you must have a reason as to why. I don't think it's unreasonable to require someone to enter that reason, even if the commenter remains anonymous.

Your logic is selective. If you're going to vote either way, you must have a reason why, right? So why should negative votes be the only ones requiring a comment, anonymous or not? I've gotten upvotes that were just as baffling as your example downvote, yet it's somehow important that only the downvote be explained?

Because you can anonymously downvote without a reason, you could just find all posts by one person and downvote them. If you had to spend time writing out a reason each time (or even copy/pasta) it makes it less worthwhile. In the case of copy/pasta, it would be easy for you (as a moderator) to see and check a complaint of revenge voting.

All true, though a slew of downvotes from a single person as if they went down the list of posts is just as damning as the same thing using copy-paste comments. And I agree that requiring an interactive comment is a reasonable way to discourage such harrassment, but it's not a solution to the problem by any measure. You described the loophole yourself: copy-pasting a comment is only a little slower than just clicking the button. ;)

If I recall correctly how the system works, leaving a comment will also adjust rep but an anonymous vote will not. Therefore, if you allowed anonymous comments, these would not affect rep. Once you tag it to your account, it would affect rep.

Under the hood we store both votes and rep in the same table, with the difference being the presence or absence of a comment. So implementing anonymous vote comments would require one of two general approaches:

  1. The system would need to change to use a flag as the differentiator between votes and rep. With this approach we'd be able to keep the comments and query them in a list just like rep, but it involves quite a bit more in the way of code changes.

  2. The system would remain the same, and the comment would be transient. For example, instead of storing the comment in the vote, we'd just shoot off a PM from an anonymous account with the comment and store the vote as usual. I'd probably favor this approach unless someone comes up with a good reason for anyone except the voter and votee to care about the comment, barring forwarding the PM to a moderator as needed.

In both cases the UI would need to change to support voting and rep with comments (probably using two buttons on the comment panel instead of one). Of course, this risks confusion about the two options.

personally, who downvotes is besides the point, it's the why that bothers me. I assume the point is to be able to learn from your mistakes?
if I post an error, someone downvotes it and adds as reason <hypothetical>: no, what you suggest is the use of deprecated methods, ... now that I can understand, appreciate and learn from.
but when looking at this downvoted post, as I said earlier " -1 " doesn't tell me why they downvoted it, or what they think is wrong with the post, so how am I to learn from it?

Your logic is selective. If you're going to vote either way, you must have a reason why, right? So why should negative votes be the only ones requiring a comment, anonymous or not? I've gotten upvotes that were just as baffling as your example downvote, yet it's somehow important that only the downvote be explained?

My bad for not explaining clearly enough; in my head, what applies one way would also apply the other way.

Your first way does seem cleaner. It would also allow you to "link" your downvotes at a later date should you wish. I tend to favour this model of development, however, I can't see your code so the cost may outweigh the potential benefit.

Also agree with the confusing options, however, with option one you would have the ability to link and unlink to your account so the error could be easily undone without affecting reputation.

I agree the loop hole is there, but copy-pasta would make a database search for obvious revenge attempts easy to find and undo.

I don't think there is ever a perfect solution to any problem, I think we can only do our best to make it as hard as possible to abuse :)

I'm also in the same group as stultuske. For me it's about the why not the who.

if I post an error, someone downvotes it and adds as reason <hypothetical>: no, what you suggest is the use of deprecated methods, ... now that I can understand, appreciate and learn from.

Once again, if the voter were interested in providing a reason, he'd use reputation or reply to your post (or a combination of vote/rep and a reply) and explain it. In this particular example, the best approach would be a reply explaining that you used deprecated methods and elaborating with what the modern methods are.

Allow me to offer an alternative example to your hypothetical downvote. Let's say that someone votes negatively, but offers the helpful comment of 'wrong', or 'blah blah'. Forcing a comment doesn't ensure that the comment will be meaningful. Even with rep you'll see a lot of comments that aren't helpful in discerning why the person in question voted.

Your first way does seem cleaner. It would also allow you to "link" your downvotes at a later date should you wish. I tend to favour this model of development, however, I can't see your code so the cost may outweigh the potential benefit.

Agreed. However, looking at the code, a fundamental redesign wouldn't be justified by what still seems like dubious benefit. The only benefit I'm seeing so far in this thread is if the voter provides a meaningful comment on a downvote, one might recognize the problem, agree with it, and learn from the perceived mistake. There are a lot of "ifs" in that process, and I'm inclined to believe that the more common reaction would be "some idiot downvoted me for a stupid reason", followed closely by requests to make votes public.

Worse, while I agree that requiring a comment would hinder revenge voters to some extent, it would also hinder legitimate voters and the voting system would fall into relative disuse much like the rep system has.

I agree the loop hole is there, but copy-pasta would make a database search for obvious revenge attempts easy to find and undo.

I think obvious revenge attempts are already obvious without any comment, keeping in mind that a frivolous vote here and there doesn't constitute abuse of the system. That's why regardless of whether we make changes to the voting system, I'm still planning on writing an admin page for searching votes when I find the time. That way I don't need to bother Dani about searching the production database or giving me direct access when the fringe case occurs. :)

yes you are right stultuske,even similar thing happened to me in that thread.
the quote i have taken from oracle site and someone disagreed with it and downvoted.
even someone downvoted the post in which i have asked for the reason why it is downvoted.check this.

even someone downvoted the post in which i have asked for the reason why it is downvoted.check this.

That was me. ;) Hopefully you don't need my reasoning, but I'll be happy to provide it anyway. All you did was copy paste what stultuske write in the post immediately above yours. The pointless repetition wasn't even humorous in this context, it just came off as childish and whiny.

[troll]
I chose not to upvote any of the frivolously downvoted posts in that thread because it would break them as examples of frivolous downvoting. Maybe we should add a feature that anonymously gives reasons why someone didn't vote on a post. ;D
[/troll]

commented: [troll]Accompanied with a trollvoter to troll that feature :D[/troll] +0

I'm not sure I see the benefit of showing who down votes, given the potential for revenge voting.

usually, it's someone who, as you call it, "takes revenge" on someone that downvoted them and did bother to explain why.

You mean as opposed to the downvotes (which have been reversed) that I received here? This person did not downvote me out of revenge. It was just a drive-by downvoting which, to me, seems quite cowardly.

You want to know so that you can accost the voter, find out why they were so impudent as to downvote you, and possibly even strongarm them into reversing it.

That may be true for some people, I am open to valid criticism, but I also like a chance to respond to same. Unfortunately, without a comment or a name I have nothing to respond to so I can neither improve the quality of my posts nor reply with something like (in the above example) "more details in the question directly corresponds to a more accurate, and therefore more useful answer".

I don't really feel strongly one way or another about this issue, but I feel it's important to recognize both the reason for wanting a feature as well as the likely negative effects of implementing it.

I think a reasonable compromise is to ignore drive-by voting when it comes to a member's overall score. The actual numbers (+ or -) on the thread would reflect the views (justified or not) on that post, but would prevent what happened to (I believe it was) lastmitch who had someone go through and downvote hundreds of posts, thereby driving his post quality into the low 30s.

I think a reasonable compromise is to ignore drive-by voting when it comes to a member's overall score.

What is the definition of a "drive-by" voting? I'm not sure there's any way to deterministically mark votes as drive-by.

but would prevent what happened to (I believe it was) lastmitch who had someone go through and downvote hundreds of posts, thereby driving his post quality into the low 30s.

So basically you're asking for flood control. That doesn't accomplish anything as concerns the topic of this thread, which is figuring out why a post has been downvoted, but I agree thoroughly. In fact, I agree so thoroughly I just committed a patch that implements flood control on votes. We'll see if Dani approves or thinks the trips to the database will be too resource intensive (thus forcing me to get creative).

@deception: although copied the text,but the cause was same to know why someone downvoted without commenting.

Basically, I consider any down-vote without a comment and obvious reason a drive-by. Let's say someone asks a question and another user posts some dubious code as a solution. In response I post

only a moron would do it that way

If someone were to downvote me without a comment, the reason would be pretty obvious. But when I got downvoted for

Perhaps the behaviour is different in VB6 and earlier but in VB 2010 the items in the ListView are not editable. Are you sure you mean ListView and not some other control?

the reason was not obvious. I could see someone posting quickly (and this was a short question with no code) and typing listview instead of listbox. My tone was not snotty or condescending and I was asking for clarification. In this case I felt the downvote to be completely without merit. But of course, with no comment there is no way to know.

And of course, I think flood control is a good idea. Nobody should be able to downvote many times in rapid succession.

Basically, I consider any down-vote without a comment and obvious reason a drive-by.

There's no way to programmatically determine a drive-by according to that definition. I'm still debating with Dani about flood control for votes though. We'll see how that goes down, but our history on that topic is Dani:2, James:0. ;)

I don't expect you to detect it. That's just my rationale for abolishing anonymous voting.

i think that the rep system should have more of a spam free setting where the user MUST enter a comment in order to add a rep or subtract a rep. I got accused of it (i come in clean hands, i did not do anything) and i am saying that it may be more effective and spam free... just a suggestion.

i think that the rep system should have more of a spam free setting where the user MUST enter a comment in order to add a rep or subtract a rep.

That's the way the system currently works. I meant to post a long rant here earlier, but I got sidetracked. I'll do it in a bit.

No, i mean it should not be in a way that you can just click upvote... it should have a way of blocking "spam" by making you type a reason. I don't know if i am making sense, i think i sound a bit strange but it sounds right in my head (which would be most likely wrong in others).

No, i mean it should not be in a way that you can just click upvote... it should have a way of blocking "spam" by making you type a reason.

If you just click upvote, it doesn't affect reputation. You have to type a reason if you want to affect someone's reputation.

But it will affect the posting quality percentage... I was referring to that, people's posting quality can get so easily affected if it wasn't "spamable". For example, do you remember LastMitch's case? A user decided to downvote him like 300 times, but if the rep point system required a reason to up/downvote the system would be much less abused.

Do you see what i mean (i still think i am a bit unclear, things sound right in my head.)

I had a long IRC conversation with Deceptikon earlier today and I'm now basically going to restate my position on the matter.

Going back years ago, there was no voting system, just a reputation system. The reputation system allowed you to vote a post up or down and optionally include a comment. Each time that you did so, your reputation affected the poster's reputation. Originally only the member whose post was voted on could see the comment and who voted (a la standard vBulletin), but it was ultimately opened up so that everyone could see who voted and the post's comments (a la Dani's modified version of vBulletin).

The system worked this way for a number of years, but there were a number of complaints with it:

  • Members wanted a way to vote on posts without affecting reputation. Especially the regulars, who carried a lot of reputation power, often wanted to give a simple "thumbs up" or "thumbs down" without dramatically affecting the newbie poster's reputation.
  • Members didn't like that you could affect someone's reputation without so much as leaving a comment.
  • The reputation system was very cumbersome to use: It required at the minimum multiple clicks when not leaving a comment, and therefore was not used as often as it could have been.
  • Members were constantly holding grudges against each other for voting on posts because every single vote carried the weight of affecting reputation. Any member with a decent amount of reputation power felt like they had to be very selective if and when they voted. Members were getting mad at each other each time negative reputation was handed out if they felt the reason wasn't "serious" enough to warrant such a huge hit to their reputation.

Enter the voting system. The voting system was designed to aleviate the issues that members had with the existing reputation system, while still having the two somewhat integrated into a single system for simplicity and usability's sake. Here's how the existing voting/reputation system works:

  • You can quickly and easily vote a post up or down with one click, and in doing so, you are simply giving an anonymous +1 or -1 to the post. It's designed to be quick, anonymous, subjective, and can be representative of a simple 'thumbs up' or 'thumbs down' for any reason desired. On the same note, the ease at which voting can be done is meant to match up with its carefree nature. In other words, voting should not be taken all that seriously nor are we expecting much thought to be put into whether or not to vote. It's designed to be more of an "if something catches your eye" type of thing. Ideally this lends itself to widespread use so that a single vote doesn't really affect anything all that much. It's really designed to be a very innocuous system where a single vote or two can't really make any bit of difference to anything meaningful. Sure, it counts towards your Post Quality Score in your member profile, but for most of us, a few votes up or down doesn't really affect post quality score. Additionally, anything more than 60% is really quite good. NO ONE is going to care if your post quality score is 95% or 98%. Mine, for example, is currently 85% and I think that's perfectly fine. Post quality score also does not appear next to all your posts the way that reputation does.
  • If you choose to leave a comment with your vote, now all of a sudden it's no longer anonymous. Now you're saying who you are and why you like or don't like the post. When you do that, then, and only then, does reputation get affected. Reputation is meant to be taken more seriously, and that's why the reputation system has flood control where you can't affect the same person more than once every 24 hours, it doesn't count in the Community Center, and it has other such protection, etc.

For those of you that know me, you know I'm all about simplicity and the fewer the number of bells and whistles and less complex features the better. Therefore, it obviously took a LOT to convince me to introduce the voting system in the first place. I ultimately did it to eliminate the original complaints that people had with the reputation system, so hell would literally have to freeze over before I start treating the voting system with the same level of sensitivity / authority as a reputation comment.

There are no plans on making the voting system non-anonymous or making commenting mandatory because that would literally turn it into reputation system #2. It was designed to fix the problems with the reputation system by offering a more lighthearted, less severe way of quickly and easily voting on posts without any casualties or repercussions.

The voting/reputation system fixes the following issues:

  • It offers members a way to vote on posts without affecting reputation.
  • It requires a non-anonymous comment in order to affect reputation.
  • It offers one-click voting if you just want to just give a non-serious thumbs up or thumbs down if something catches your eye without any big consequences. (Members with a lot of reputation power should no longer be afraid to vote, and now have the option to vote with a comment if they want to leave reputation, or just anonymously nod in agreement/disagreement if they don't feel strongly one way or the other about a post.)
  • It offers a way to anonymously agree or disagree with a post, albeit (because it's anonymous) it doesn't carry the repercussions of the reputation system. Still, there were instances in the past where members asked for an anonymous system, and so we delivered.
  • It offers a new, separate system that gives everyone an equal +1 or -1 say, regardless of whether you're a newbie or a veteran member, while still keeping the existing system where veteran members have more reputation power.

Well if that is the case, you win this "debate:" :)

For those of you that know me, you know I'm all about simplicity and the fewer the number of bells and whistles and less complex features the better. Therefore, it obviously took a LOT to convince me to introduce the voting system in the first place. I ultimately did it to eliminate the original complaints that people had with the reputation system, so hell would literally have to freeze over before I start treating the voting system with the same level of sensitivity / authority as a reputation comment.

You have inherited Steve Job's traits quite well :)

(\ /)
( ' .')
c('')('')

'nuff said then.

right... that is why i will zip my mouth... until i see a reason to post :)

I'll take your responses as being in total agreement with me.

I'll take your responses as being in total agreement with me.

Correct

...

I wonder why i was downvoted...?

might be to give you a reason to post again?

anyway, whether I agree or not, I do understand current (and probably remaining) policy, but:

remains one (what might be annoying) side-effect :
it's like Dani said, whether a post is marked up or down, should be nothing but a visual expression of one person's opinion. unfortunately, a lot of OP's are just starting with programming, daniweb, online communities, and will have (a lot faster than experienced posters do) the tendency to regard a downvote on a reply to their question as:

"oooh ... somebody downvoted it. must be bad."

if you give the person you are trying to supply the idea that an answer is 'bad' ... chances are, (s)he won't be able to figure out for him/herself whether that's a fact or not. a more experienced poster/developer will no doubt be able to go through the post and see whether or not the downvote was well-earned, or just someone who didn't like someone having a different opinion.

the answer 'll then only be taken serious by those who don't need it, while those who should be able to learn from the discussion (OP in the first place) might not, which seems a bit .. against the whole idea of the forum, to me.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.