|
I'm going to need a UML diagram for that, Luc.
I understand your intent. However, it does not allow the majority of uses to undo a vote of 5 voted by a sock-puppet of an author. This will make it easier for bad articles to float to the top, degrading the perceived average quality of CodeProject articles.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
Sorry, I'm no good at UML diagrams. I'm still struggling with Venn diagrams.
OK, your remark is valid, but fixable. Maybe like this:
a color cannot vote below the weighted average of all higher colors (i.e. your current
average, but excluding all votes from some colors); and author's vote gets demoted one color.
scenario 1: author is gold.
first vote is white 3, OK
next vote is white whatever, OK (average is now anywhere between 2 and 4)
next vote is bronze 4, OK (is higher color)
next vote is white 3, NO (below average)
scenario 2: author is gold.
first vote is author (gold) 5, OK (counts as silver 5)
next vote is bronze 4, NO <------
next vote is silver 3, OK (same color, average now 4)
next vote is white 3, NO
next vote is bronze 4, OK <------ (same vote as before, now made possible by silver 3 bringing down average)
yes, I'm aware you need to keep more data now. Keeping top achievers happy will cost you
(instead of one average, you would need one for each voter color, hence five)
|
|
|
|
|
What you need for articles (and yes I've never written one - blah, blah, blah, lounge lizard, trouble maker etc. ) is a "critique" system.
In such a system - and this might play quite well with the recently stolen introduced vanity reputation system - articles are put up for peer review. Those luminaries who have a decent technical reputation (or article rep > some value), rather than berks like me, get to approve content, suggest improvements or throw the same in the bin.
So far, so the same...
However, once an article is made public, users would not be able to vote that on that article - it's been peer approved, after all - but they would be able to offer a critique of it and offer a proposed "vote" on the content. These critiques themselves are the actual subject of votes and it would be the cumulative votes on the legitimate critique, positive or negative, that rates the article.
An example is due:
I write an article on the best "Hello, World!" application in Ass#.
Luminaries decide that it is awesome, and make it open to the public.
Berk #1 comes along and 'critiques' my hard work and 'critiques' with "adsfasd". His vote counts for nought until his critique is up-voted.
Marc Clifton comes along and gives me a 'critique'. He says he's done it all in MyXaml much better and gives me a down vote. Marc's 'critique' gets +5 affimtives.
Pete comes along and says my work isn't valueless and says my work is worth something. His 'critique' gets +1 vote.
Meanwhile Berk #1 has been down voted a number of times because "adsfasd" is worthless.
To calculate we only look at those critiques that got a positive register; -5 for Marc's appreciation and +1 for Pete's making my article worth (clearly 50 billion).
It gets rid of drive-by-voting and also puts an onus on those who do vote to do so properly, such as if someone does the "adsfgsyag" routine they lose, whereas people who offer legitimate critique are rewarded.
|
|
|
|
|
Very interesting. Have to think some more about it.
The big plus is the indirection adds lots of significance to the votes. Individual univoters would be gone; teams of them might still have a chance. Anyhow, that is a huge step forward.
Another plus is it strengthens the community sense, it is based more on interaction between people and ideas now, rather than just the sum of individual votes.
One minus is the delay between entry and publication (on the positive side the delay would now be known in advance). Gold/platinum members can now publish instantaneously, they seem to loose that. However this could probably be rescued, by giving them the option to skip the preliminary peer review behind the curtains, openly taking comments right away from everyone (or only from the happy few for a short while), and not processing the votes on comments for some time.
A minor minus is it sounds like it will be slower to yield a judgement. Actually, it is not clear to me when the votes on comments would be turned into an article score.
Interesting indeed.
hmm, I will read your first CP article, whatever the subject!
PS: I hope someone will upvote my reaction, so you earn some points...
|
|
|
|
|
Luc Pattyn wrote: PS: I hope someone will upvote my reaction
done...
Nice discussion all the way...
|
|
|
|
|
Luc Pattyn wrote: Actually, it is not clear to me when the votes on comments would be turned into an article score.
I have a semi-answer to this (bear in mind I do my best thinking whilst drunk, and at the moment I'm stone cold sober) - a review period where a new article is open to critique. Let's pick on a real example - your article on Timer surprises, and how to avoid them[^] of 2007.
Currently I could go in there and vote on it, 1 - 5. We've discussed (and know) what the problems with that process are, but we can boil it down to a single problem statement "As a voter I am not required to justify my vote and my opinion is not placed under any scrutiny". This allows for the malicious 1 voting and also the 5 voting, which may have nothing to do with the content of the article, but more subjective and anti-quality criteria such as whether I like the author etc.
Now let's assume the critique system is/was in place and see how that would pan out:
1) You post your article which is then open to critique for (for argument's sake) 30 days.
2) People come along and provide useful and also un-useful critiques which are voted upon.
3) After the 30 days, the review period is closed, no further critique can be offered and the resulting score for the article is posted. I see this not only getting rid of the "adsfs 1" type votes but also the "Ohh! Shiny! WPF! I like you! 5!" type votes, but also it concentrates on reviewing the content and quality of the article and also prevents the 1 spamming that might happen years after the article was published. At the end of the review period, what we're in effect saying is that this article was of this quality and was generally found to be correct (or incorrect).
But what about now (3+ years on) I discover a glaring error in your article, what do I do? I can't vote on it, but I do have some other choices:
1) Tell you about it.
2) Write an article in response to your original (an article response system - where my article has to be peer reviewed like any other article).
3) request that an article be reopened for critique (we'd need some sort of system for that also).
I think that system would make this sort of behaviour:
Luc Pattyn wrote: Individual univoters would be gone; teams of them might still have a chance.
less likely to succeed or be worth the effort and uni-voters intent on disruption would have a much smaller period of time to gather the sock-puppets of disruption. Even if they did, that behaviour would be much easier to spot on an article-by-article basis.
It would also get rid of this sort of rampant idiocy[^].
Luc Pattyn wrote: One minus is the delay between entry and publication (on the positive side the delay would now be known in advance). Gold/platinum members can now publish instantaneously, they seem to loose that. However this could probably be rescued, by giving them the option to skip the preliminary peer review behind the curtains, openly taking comments right away from everyone (or only from the happy few for a short while), and not processing the votes on comments for some time.
Yes, that's a good point. The ability to skip that stage should be directly linked to an author's proven technical expertise.
|
|
|
|
|
martin_hughes wrote: open to critique for (for argument's sake) 30 days
Hmm. So after 30 days all is over. That will disappoint some, Chris is much in favor of an article possibly yielding votes and rep points forever, kind of a royalty. I myself am not convinced one way or the other. I think I would be a bit disappointed that, when I stumble on an old article and decide on reading it, there is no way I can add a significant vote to it.
I discovered another potential issue. If I understood it right, an article getting more critiques allows a single voter to give or deny it more points. Whereas in the current system, a reader has a single vote of constant weight. That might become a problem, especially for highly specialized articles getting very few critiques. I for one do not want to favor articles on popular topics at the expense of specialized ones.
I still think the concept is worthwhile and all is fixable, it may need some more work though.
|
|
|
|
|
Luc Pattyn wrote: Hmm. So after 30 days all is over. That will disappoint some, Chris is much in favor of an article possibly yielding votes and rep points forever, kind of a royalty. I myself am not convinced one way or the other. I think I would be a bit disappointed that, when I stumble on an old article and decide on reading it, there is no way I can add a significant vote to it.
Remember the ability to critique an article is only there to ensure the quality of the article. In that scenario it is far more useful to have a small number of critiques that can be voted upon than 50,000 spammed votes and umpteen comments. But in terms of showing appreciation for an old article/author, I see no reason not to have a "Thanks" button that could add to reputation ad-inifinitum.
Luc Pattyn wrote: I discovered another potential issue. If I understood it right, an article getting more critiques allows a single voter to give or deny it more points. Whereas in the current system, a reader has a single vote of constant weight. That might become a problem, especially for highly specialized articles getting very few critiques. I for one do not want to favor articles on popular topics at the expense of specialized ones.
Hmmm. How about one critique vote per article? After reading an article I read the critiques and chose the one I find most appropriate to vote on or write my own critique?
Luc Pattyn wrote: I still think the concept is worthwhile and all is fixable, it may need some more work though.
I need to do some more drinking in order to flesh this one out
|
|
|
|
|
martin_hughes wrote: I need to do some more drinking in order to flesh this one out
You're doing well.
|
|
|
|
|
That's a pretty darned good idea. I like it.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
This will moderate some of the down voting issues, but is still wide open to having members post comments from one account and then vote on them from another. It's more painful for them, but we have some dedicated gamers out there.
Another issue is that it will reduce the amount of positive feedback an author gets dramatically. When I read a good article I want to vote on that article. I do not expect that I have to read the comments and vote on the comments to vote on the article. To me that is cumbersome and counter-intuitive (all respect to your idea, though).
Further, what if someone fills up the first page with negative comments and I want to vote an article up? I would have to search for a positive comment.
I don't want to search for positive critiques. I don't want to vote on someone elses critique, especially if they say an article is good for reasons other than why I think it's good. In the end I would walk away frustrated that a site like CodeProject won't even let me vote on an article.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
I do see what you mean and I've had another idea after chatting to Luc about it earlier that might be a bit simpler and more workable.
My thought is that what you really want to be able to do is to separate judgements about quality from appreciation.
One of my favourite CP articles is this one: Dynamic... But Fast: The Tale of Three Monkeys, A Wolf and the DynamicMethod and ILGenerator Classes[^]. It's funny, witty and an enjoyable read.
Under the current system I had to vote it a 5 to show my appreciation. But in doing so I'm also passing a technical judgement on the quality of the article - and I don't think that's particularly fair on the author or other readers. Let's have a quick look in my profile: "1,155
Authority"; what that's basically saying is that "This user has not yet shown any technical savvy - I wouldn't trust his technical judgement if I were you" (and it'd be right, I don't trust my judgement on getting out of bed in the morning!).
My new suggestion would be to link someone's ability to vote on an article to their proven technical ability and contribution to CP as indicated by their technical reputation points. Set the bar quite high (Gold and above). It would require a very determined sock-puppet master to bring all of his "buddies" up to a standard where they could all vote and have any meaningful effect on the voting.
For everyone else, give them the opportunity to say "Thanks!" to an author/article. Link that to a page that says "This article has been thanked by [list of people]", but crucially register the "thanks" against one of the author's non-technical reputation types (or create a new one, "Appreciation"). This would prevent the sock-puppeteers artificially giving themselves technical reputation.
I don't think this would hurt very many people. In my case if I want that ability to vote on articles back all I need do is contribute technically to the site and earn the right to vote. For those very rare, but legitimate, cases where someone is technical brilliant but can't contribute for some reason, you could always artificially increase his/her tech rep to the required level to enable them to vote at your discretion (Bobenprinzip )
|
|
|
|
|
The problem here is that you then have two types of rep for authors, and the 'appreciation' type will have far, far more votes than the "official" Author rep type. With so few Gold+ members compared to articles the vast majority of articles will have no "official" score, so members looking to the ratings on articles will be more used to checking out the "Appreciation" score instead of the official rating.
Also, if you had never visited CodeProject before then what would you make of a rating system that had two ratings? An article, typically, is either good or it isn't. Splitting the ranking doesn't make sense to me.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
Luc Pattyn wrote: An article/message on a specialized topic would not get many readers and votes, and would probably score less than a mediocre article/message on a popular topic.
It's the same thing today. If a really excellent article on an obscure topic gets a few 1s, not enough people are going to read it to rectify that with 5s. Whereas if a fancy WPF article with 12 screenshots gets a single 1, it's immediately drowned out by a dozen 5s.
|
|
|
|
|
Hi Nish,
yep, you're right about that.
Martin's scheme is a better protection, even for the excellent obscure-topic articles.
|
|
|
|
|
I've suggested that at least once. It wasn't met with much enthusiasm.
My view is there should only be one thing someone can "vote" on - whether the article is useful. If they don't find it useful, they don't vote. Period. A 1-5 rating doesn't do anything but piss people off and provide some bizarre form of empowerment on the morons with sock-puppet accounts.
If Chris doesn't want to eliminate the voting system that's already in place (and I can understand why he would want to avoid this), maybe a "cooling off period" should be imposed on new accounts so that voting cannot even be performed for a reasonable amount of time and a certain reputation points level - say 14 days AND several hundred participant points. This might even cause some of the sock-puppet accounts to go unused/abandoned when the owner realizes their nefarious plans have been foiled by Father Time. With the exception of the voting, the account can be used on the site as any other account at that level.
I don't like the deferred voting idea either (where the users votes are nullified until a certain time, and then "come alive" at a certain point).
Whatever change Chris makes, it has to be as low-impact on the site as possible, especially where the database is concerned. I think a cooling off period would be that low impact change. Of course, it wouldn't solve the problem of current users, but whatever system is put in place has to be usable for both articles and messages, and coming up with something reasonable and with a certain degree of ease of implementation is a monumental task.
.45 ACP - because shooting twice is just silly ----- "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." - J. Jystad, 2001
modified on Saturday, March 27, 2010 7:15 AM
|
|
|
|
|
We need to keep this on track this time.
No other site offers the quality and quantity of articles that CP has.
No other site offers the high-quality, expert advice that CP does.
No other site offers start-to-finish mentoring that is absolutely free.
It's time to put aside the childish amusement that anonymous sniping offers, and become a truly helpful, supportive community, in spite of how immature members act. Let's take their toys away, and enjoy a growing, positive future.
|
|
|
|
|
Yes, I have previously made very similar suggestions here. You either vote up or you don't vote. If the article sucks, click the report-article and let an editor or staff member decide what to do with it.
|
|
|
|
|
Just came by this article:
Inputer Replacer[^]
There is an input box present in the article short description at the top. It also appears in the search list. Looks odd... though doesn't look harmful.. just odd! If someone gets time can do a quick fix!
|
|
|
|
|
Fixed, thanks
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
|
|
|
|
|
|
Thanks Pete. Deleted posts, deleted account, and on verge of banning IP. Wham bam later spam
Thanks,
Sean Ewington
The Code Project
|
|
|
|
|
Sounds like you've got the name for a new product there: Spambegone.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
Is that anything like chipotlaway[^]?
------------------------------------
I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave
|
|
|
|
|
|