Voting - perhaps not?
-
The voting system has been fundamentally broken since it was first initiated and has been complained about on a regular basis with no action taken despite many good suggestions. As the system stands now if you have anything over a 4 it's about the best you can hope for. However that being said I just noticed that Chris has added weighting to the votes which is a good improvement so some action has been taken obviously, I retract what I said above :), however I really like Colin's statement that when an article has few votes you can't go by the score, that should be pursued as a feature: perhaps an article with less than 10 votes doesn't show it's score until the 11th onward or something. I also think it would useful if people were more strongly encouraged to leave a comment if they vote significantly different than the current average.
"110%" - it's the new 70%
We've had many suggestions on the voting system but very few that are practical. Weighted votes have been with us for years and tend to even out an article's rating over time faster than straight votes. The other suggestions we've had are: - Showing a histogram (Like it, and am looking into incorporating it) - Allowing members to change votes (this is being added) - Forcing a comment (means we just get "asdf" comments) - Restricting votes to N per day (people just create fake accounts) - Displaying a list of who voted (this will just cause voting wars) We also disallow votes from those not logged in, and disallow multiple votes from the same IP to make it harder for people to create fake accounts. I'm open to more suggestions.
cheers, Chris Maunder
CodeProject.com : C++ MVP
-
We've had many suggestions on the voting system but very few that are practical. Weighted votes have been with us for years and tend to even out an article's rating over time faster than straight votes. The other suggestions we've had are: - Showing a histogram (Like it, and am looking into incorporating it) - Allowing members to change votes (this is being added) - Forcing a comment (means we just get "asdf" comments) - Restricting votes to N per day (people just create fake accounts) - Displaying a list of who voted (this will just cause voting wars) We also disallow votes from those not logged in, and disallow multiple votes from the same IP to make it harder for people to create fake accounts. I'm open to more suggestions.
cheers, Chris Maunder
CodeProject.com : C++ MVP
Hi Chris you must have missed my almost immediate edit on my message. I made two suggestions: don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something. This calms the author and doesn't skew the initial results. The second is that any votes that are extremely off the current average should have a *Suggestion* pop up that they make a comment of why they voted that way.
"110%" - it's the new 70%
-
Hi Chris you must have missed my almost immediate edit on my message. I made two suggestions: don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something. This calms the author and doesn't skew the initial results. The second is that any votes that are extremely off the current average should have a *Suggestion* pop up that they make a comment of why they voted that way.
"110%" - it's the new 70%
John Cardinal wrote:
Hi Chris you must have missed my almost immediate edit on my message. I made two suggestions: don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something. This calms the author and doesn't skew the initial results.
If doing this it should be X votes or Y days so that an article that gets very few votes will eventually show a score.
-- CleaKO The sad part about this instance is that none of the users ever said anything [about the problem]. Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
-
Hi Chris you must have missed my almost immediate edit on my message. I made two suggestions: don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something. This calms the author and doesn't skew the initial results. The second is that any votes that are extremely off the current average should have a *Suggestion* pop up that they make a comment of why they voted that way.
"110%" - it's the new 70%
Anything that forces a suggestion will often result in either asdf or something that will get filtered out by our obscenity filter. I've also toyed with the idea of using statistics to weed out poor votes but it's a tricky one. Let's say you have someone who creates 5 fake accounts and votes 5 5's. Someone else comes along and gives a more accurate "1". Statistically the 1 vote should be removed.
cheers, Chris Maunder
CodeProject.com : C++ MVP
-
Anything that forces a suggestion will often result in either asdf or something that will get filtered out by our obscenity filter. I've also toyed with the idea of using statistics to weed out poor votes but it's a tricky one. Let's say you have someone who creates 5 fake accounts and votes 5 5's. Someone else comes along and gives a more accurate "1". Statistically the 1 vote should be removed.
cheers, Chris Maunder
CodeProject.com : C++ MVP
Chris Maunder wrote:
Anything that forces a suggestion will often result in either asdf or something that will get filtered out by our obscenity filter.
Exactly. Which is why I capitalized and put asterisks around the word *Suggests* as in a wild vote deserves a popup suggesting the user make a comment, not forcing them to make a comment. :)
"110%" - it's the new 70%
-
Anything that forces a suggestion will often result in either asdf or something that will get filtered out by our obscenity filter. I've also toyed with the idea of using statistics to weed out poor votes but it's a tricky one. Let's say you have someone who creates 5 fake accounts and votes 5 5's. Someone else comes along and gives a more accurate "1". Statistically the 1 vote should be removed.
cheers, Chris Maunder
CodeProject.com : C++ MVP
Chris Maunder wrote:
Statistically the 1 vote should be removed.
If someone's using fake accounts to skew the score, the stats are gonna be screwed up no matter what you do. IMHO, a histogram is still the best bet for making the score more meaningful. You're actually presenting more information. If someone's gaming the system, well, the results are gonna be wrong regardless, but if you see an article with 2 1s and 5 5s and a weighted average of 3, you'll at least have a better clue of what's really going on...
----
It appears that everybody is under the impression that I approve of the documentation. You probably also blame Ken Burns for supporting slavery.
--Raymond Chen on MSDN
-
I certainly understand how you feel - early low votes are discouraging, and makes you question if its worth the effort. Personally, I have decided that it is worth the effort. And as annoying as a vote-with-no-comment can be, over time it won't matter - see my response here to someone else who feels like you do. Also, I believe that the article rating does help in determining its usefulness - again, over time. I do not write for the 1-voters on CP - I write for myself, and other people who are trying to make CP better.
I visited that link, and I liked the article - gave it a 5. :)
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
I think there are only two things I can say of value here: 1. Over time the rating of an article levels out to a reasonably good approximation of its value. Please be patient. I know it sucks sometimes though. 2. Not all votes are equal. Votes from Silver, Gold and Platinum members all count for more (in increasing order) than those from other members. A 1 vote from a drive-by will quickly be repaired by a 4 or 5 from a solid member.
cheers, Chris Maunder
CodeProject.com : C++ MVP
Unless you manage to piss of a whole range of people elsewhere on the site.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
From the point of view of a writer I can certainly understand that you are put off by low votes. From the perspective of a reader the vote does guide me as to whether the article is worth reading or not. Now, if an article has few votes I tend to ignore the actual vote as it is too early to say. Once it has about 5 to 10 votes I start to pay more attention. If it has over 25 votes I take the value as being a fairly accurate estimate of the articles worth. So, what is the vote worth to me, as a reader? 4.0 to 5.0: I count that as a must read. 3.0 to 4.0: It is worthwhile reading, but I expect the odd gap here or there. 2.5 to 3.0: It may contain useful information but will most likely require supplimental reading to get what I want. 2.0 to 2.5: It possibly has what I want but will be so poorly written that it will require major effort to get to it. 1.0 to 2.0: The article will be so badly written that it isn't worth the effort to even try and read it.
Upcoming events: * Glasgow: Introduction to AJAX (2nd May), SQL Server 2005 - XML and XML Query Plans, Mock Objects, SQL Server Reporting Services... Never write for other people. Write for yourself, because you have a passion for it. -- Marc Clifton My website
Of course, you have to change your vote analysis when considering *my* articles. People vote mine down just for the sheer enjoyment of doing so. I have some articles that are down in the 2.0-2.8 range that are decent articles, but that were hammered by morons that can barely function on their own. Whoops, there I go again. :)
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
Hi Chris you must have missed my almost immediate edit on my message. I made two suggestions: don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something. This calms the author and doesn't skew the initial results. The second is that any votes that are extremely off the current average should have a *Suggestion* pop up that they make a comment of why they voted that way.
"110%" - it's the new 70%
John Cardinal wrote:
don't show the score until a certain number of votes have been made, i.e. not until the 11th vote or something
Oooh, I like that, but I think the number should be higher, like say... 20 votes.
John Cardinal wrote:
The second is that any votes that are extremely off the current average should have a *Suggestion* pop up that they make a comment of why they voted that way.
I think showing votes accumulated like this would alleviate Chris' voting wars fears (illustrating the way it would look for one of my articles - grin):
Vote -------------- Votes By -----------------
Value Platinum Gold Silver Bronze
5 1 4 2 3
4 5 2 7 0
3 0 0 5 0
2 0 0 0 0
1 0 0 1 4,038,764,324Further, Chris cited the a probability that if forced to leave a comment, many folks would just post "asdf" or other equally invalid comments. My response was that a rudimentary text parser could be created that would parse the comment, and automatically reject votes that are associated with comments that failed the following checks: a) When trimmed of leading and trailing spaces, did not contain any characeters. The nefarious "empty" comment. b) Comments must have X number of characters (this prevents the simple "asdf" example provided by Chris. I would think 30 characters would be enough. c) Comments that don't contain a certain percentage of spaces. Statistically speaking, Chris (or whoever) could take a reasonably long sentence out of a well-written article, and calculate the percentage of spaces in that sentence as a baseline. d) If the comment passes all of the previous validation, come up with a vocabulary file and compare all of the words in the comment against it. Assign levels of coherence based on the percentage of word matches achieved and an ultimately lowest acceptable value that can be used to automatically reject the comment/vote pair as invalid. So, if a comment matched 80-100% of its words with the vocabulary, it would be automatically labeled as "probably valid", and the vote/comment would be viewable by the article author who could then read it. The article author would be able to see the vote, the comment, and the member status (platinum, go