Letractively / dotnetkicks

Automatically exported from code.google.com/p/dotnetkicks
1 stars 0 forks source link

Implement Karma Points like Reddit #7

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
One reason I think Reddit is popular and has a lot of commenters is due to
its Karma system.

When you post an article, people can vote it up or down. Up votes add
points. Down votes subtract. This keeps people from posting stupid links.

Likewise, when you post comments, people can vote the comments up or down.
The motivation to build up Karma points is that when you submit a new link,
it's more likely to make the front page if you have high karma. 

It's this sort of "game"-like functionality that keeps people coming back.

Original issue reported on code.google.com by haac...@gmail.com on 10 Jul 2007 at 7:02

GoogleCodeExporter commented 8 years ago
I like this idea, should be quite easy to implement. 

Original comment by gavinjo...@gmail.com on 10 Jul 2007 at 7:33

GoogleCodeExporter commented 8 years ago
How about the following rules for awarding points:

*Submitters*:

  Awarded *+1* point per kick on their unpublished stories, +5 points per kick for
published stories

*Commenters*:

 Awarded *+2* point per 'thumbs up', *-1* per 'thumbs down' on each comment

*Kickers*:

 Awarded *+5* for kicking an unpublished story which goes on to be published

--

As supports a number of host website, we should track an individuals karma 
points
_per user per host_.

Original comment by gavinjo...@gmail.com on 14 Jul 2007 at 11:02

GoogleCodeExporter commented 8 years ago
Taggers:

 Award +1 point per tag for the first 3 tags on a story

Original comment by gavinjo...@gmail.com on 14 Jul 2007 at 11:10

GoogleCodeExporter commented 8 years ago
Some extra discussion:

http://www.dotnetkicks.com/community/Karma_Points_System_for_DotNetKicks

Original comment by gavinjo...@gmail.com on 14 Jul 2007 at 3:44

GoogleCodeExporter commented 8 years ago
Karma sounds like a good idea.

Original comment by hasan.ba...@gmail.com on 15 Jul 2007 at 8:50

GoogleCodeExporter commented 8 years ago
I like the method deployed at Photosig, http://tinyurl.com/27wgej This has 
people returning just to get their 
status up while maintaining quality submissions.

Original comment by terry.pi...@gmail.com on 16 Jul 2007 at 8:27

GoogleCodeExporter commented 8 years ago
Karma sounds great to me.

Original comment by dan.bri...@gmail.com on 16 Jul 2007 at 10:21

GoogleCodeExporter commented 8 years ago

Original comment by gavinjo...@gmail.com on 14 Sep 2007 at 6:53

GoogleCodeExporter commented 8 years ago
I've changed my mind about a karma system; I think it might actually be useful,
especially in keeping 'revenge tagging' and meta-bad-behavior in check.  I 
agree with
Phil that the karma game can keep people coming back, but I'm also wary about 
the
case when karma becomes more important than anything else on DNK.  I think 
Slashdot
is a good example of karma run amok.

Original comment by cdj...@gmail.com on 20 Sep 2007 at 4:42

GoogleCodeExporter commented 8 years ago
What are the bad things about karma? People just play the system to get more 
credits? 

How about we just put a limit on the number of karma points per day/month and 
let
them know that they have received the max allowed for that time period?

I think that if we weigh the different factors properly, then it might be less 
of an
issue. 

Example: 
Maximum points per submitted story: 200 (ex: published and 20 kicks)

Story published = 100 points
Story deleted = -75 points

Each kick on published story (by someone else) = 5 points
Each comment on published story per unique user (by someone else, grouped by 
user, so
3 comments made by userX counts as 1) = 1 point

This would put quality over quantity and would require someone to do a lot of 
work to
gain the system. The downside is that we get more stories published, which is 
good :)

There's no benefits here for non-submitters, but it sounds like that's were the
problems are at. We can also renamed karma points to something like Quality 
Points, etc.

Original comment by james.e....@gmail.com on 20 Sep 2007 at 5:40

GoogleCodeExporter commented 8 years ago
All of the above example can be calculated using SubSonic aggregate queries 
without
the need for an additional table. Or we can just make a View with that code in 
it so
that it can be added to the DAL as a class that extends the User class and 
would let
us cache it.

Original comment by james.e....@gmail.com on 20 Sep 2007 at 5:42

GoogleCodeExporter commented 8 years ago
I like your idea of a time period limit on karma, James.  But once we have some 
users
with good karma, others with bad ... how to we make use of it?  Lower the kick
threshold for publishing stories by users with good karma and raise it for 
those with
bad?

If a comment-rating system were implemented (positive rating = + karma) then
non-submitters could see a benefit.

As for a name...."karma" by itself is good, though "juju" and "mojo" might work 
as
well.  "Quality Points" just sounds so....sterile and unfriendly. :)

Original comment by cdj...@gmail.com on 20 Sep 2007 at 6:21

GoogleCodeExporter commented 8 years ago
That's a good point. What would be the use of any point system? How would it 
affect a
user? If its just a number on their profile page, then it might not be worth 
doing
it. We could just show the user's # of published stories stats there and not 
worry
about a ranking system.

I don't like the idea of punishing lower point users by hiding/disabling site
functionality, etc.

Original comment by james.e....@gmail.com on 20 Sep 2007 at 7:21

GoogleCodeExporter commented 8 years ago
I agree, if by "lower point users" you mean "new users".   IMO, a new user 
should not
be penalized merely because they have no track record...but an established user 
with
bad karma should suffer *some* kind of penalty.  Any penalty, however, should 
not
prevent said user from somehow redeeming themselves in the future.

For instance, user evilbob manages to develop a bad karma rating.  At some 
point he
crosses a particular threshold and he is no longer permitted to submit a new 
story
(or perhaps submit a story that is not first reviewed by a moderator).  After 
being
informed of this, a repentant evilbob starts making constructive, positive 
comments
on existing submissions; ratings on his comments by other users slowly but 
surely
restore his karma level to a point where he can again be a fully productive 
member of
DNK society.

Original comment by cdj...@gmail.com on 20 Sep 2007 at 7:47

GoogleCodeExporter commented 8 years ago
How expensive do you think the aggregate queries would be? Should we just 
create a
table to model this data? A row per user/host/month with a point score? We 
could then
aggregate this data to get top users for the zeitgeist per month and year.

Original comment by gavinjo...@gmail.com on 24 Sep 2007 at 9:16

GoogleCodeExporter commented 8 years ago
That sounds like a good place to start, at least.  I can't testify as to how 
much
overhead this would add -- I just don't know.

Original comment by cdj...@gmail.com on 24 Sep 2007 at 9:57

GoogleCodeExporter commented 8 years ago
If you aggregate the queries, then you could just run a SP every night/day for 
it and
it shouldn't be too much on the server.

What if evilbob just created another account and become evilbob2? I think that 
anyone
with that low of score (where it prevents normal site interaction) would either 
make
a new account or just leave the site.

Original comment by james.e....@gmail.com on 25 Sep 2007 at 12:51

GoogleCodeExporter commented 8 years ago
Heh.  Gets a bit more complicated then, doesn't it?

I can think of a few ways to handle this, none one of which are close to being 
foolproof.

The first one, and the one most easily circumvented, is by setting a cookie on 
the
client when the user first registers.  It simply contains an ID (maybe even a 
db key)
which can be associated with the user account.  If a user attempts to register 
a new
account while their client still holds a key associated with a low-karma (or 
banned)
account, then the new user's account is either a) not created at all (though the
interface lets the user believe it is) or b) hit with a karma penalty just as 
great
as the one against the old account.

While this would deter the real bottom-feeders, it is unlikely to thwart 
anybody with
much of a clue about how web sites work.  Additionally, it could penalize new,
well-intentioned users who access DNK through a shared workstation, such as at 
a library.

The second method would be simply to compare a new user's email address with 
those
currently 'on file' associated with DNK users.  If there is a match, don't 
create the
account.  Additionally, a check could be run against banned/very low-karma 
users'
email addresses -- if the domain is identical (and isn't a "big name" ISP or 
email
provider like Yahoo!, Gmail, Comcast, etc) perhaps a moderator/admin-eyes-only 
flag
is associated with the account so if any questionable activity takes place a 
human
can do some follow-up work.

This would be more effective than the cookie method, but not by much.  Again, 
your
lower-tier troublemakers (who don't know about or can't figure out how to get a 
new
email address) would be filtered out but that's about it.  

The third method would be to capture remote IP and HTTP Agent information and do
comparisons between the new user who is applying for an account and 
banned/low-karma
user accounts.  Perhaps by comparing the first three octets of the IP along 
with HTTP
Agent info and maybe even timestamp maybe most troublemakers could be weeded 
out.

There are several problems with this approach, however.  How much data would we
capture and how often?  Would we end up with a lot of false positives for users 
with
big ISPs and common browsers (e.g. AOL and Internet Explorer)?

It might be that a combination of approaches might work, and would be enough to 
keep
out all but the real dedicated sociopaths.  Then again, this could be overkill 
since
a person like evilbob will eventually burn out the karma on his new account as 
well
and would have to repeat the process.  Eventually (one would hope) he would 
tire of
the game and move on to other sites.

If there are other options, I'd love to learn about them (though further 
discussion
may or may not be on-topic for this page).

Original comment by cdj...@gmail.com on 25 Sep 2007 at 2:30

GoogleCodeExporter commented 8 years ago
I'm not sure that this will even be a problem. I see the whole karma feature as 
just
a bit of fun, a nice way to see who is contributing to the site - another way 
to view
the DNK community. We can hand out awards for top contributers every month, a 
small
award graphic could be shown beside the usernames of these users.

Once we build the scoring system, we can consider other utilities for it.

Original comment by gavinjo...@gmail.com on 25 Sep 2007 at 8:40

GoogleCodeExporter commented 8 years ago
Well part of the reward for high karma should be intrinsic to the site itself. 
For
example, with Reddit, if a high karma scorer submits a story, the submitter's 
karma
adds weight to the "score" that puts an item on the front page.

Original comment by haac...@gmail.com on 25 Sep 2007 at 4:38

GoogleCodeExporter commented 8 years ago
I see, that is useful. We can easily incorporate the submitters karma in the
publishing process scoring algorithm - either during or after the karma points
functionality implemntation.

Original comment by gavinjo...@gmail.com on 25 Sep 2007 at 4:45

GoogleCodeExporter commented 8 years ago
I just thought of an idea. We could limit the number of stories submitted per 
user by
the point system. So that someone doesn't submit a dozen stories they just got 
from
msdn blogs or a microsoft rss feed. Those that submit quality stories will 
always
have more points, so they will always be able to continue to submit a dozen or 
more
stories/day. But the people that submit lower quality articles will be limited, 
etc.

Original comment by james.e....@gmail.com on 28 Sep 2007 at 12:40

GoogleCodeExporter commented 8 years ago
I like that idea James, I guess we should start to build this soon.

Original comment by gavinjo...@gmail.com on 28 Sep 2007 at 8:41

GoogleCodeExporter commented 8 years ago
> people that submit lower quality articles will be limited, etc.

I'd be careful about confusing popularity for quality. It's a big world out 
there. :)

Original comment by azizatif on 28 Sep 2007 at 8:55

GoogleCodeExporter commented 8 years ago
^ I agree.

But sometimes, when I'm watching the Spy, you see people submit several 
articles at
once and usually none of them get more than a couple kicks*. As the site's 
popularity
increases, Upcoming Stories is getting full of good and not-so-good stories and 
it's
making it harder to find the good ones that get buried/pushed to back pages.

* = sometimes there's a herd of people that comes in (usually enough to get it
promoted to the front page, 5 or 6) and kick the same story within a few 
minutes of
each other - sometimes like 5 kicks in 4 minutes. I've been trying to think of 
a way
to develop an algorithm to detect swarms/cliques/groups of users that routinely 
kick
each other's articles to "play the system." It would be nice to add IP Address 
info
to the StoryKick table, so we can check to make sure its not the same people 
with
different usernames kicking articles.

Original comment by james.e....@gmail.com on 28 Sep 2007 at 4:18

GoogleCodeExporter commented 8 years ago
When will this be ready aprox?

Original comment by rfurd...@gmail.com on 20 Nov 2007 at 6:07

GoogleCodeExporter commented 8 years ago
Unknown. Nobody has signed up for it or started on it.

Original comment by james.e....@gmail.com on 21 Nov 2007 at 4:48

GoogleCodeExporter commented 8 years ago
I am working hard to release a new website that I have been working on for the 
past
number of months (http://www.carlist.ie/) so I don't have any free time at the 
moment.

Original comment by gavinjo...@gmail.com on 21 Nov 2007 at 10:47

GoogleCodeExporter commented 8 years ago
I've been busy as well. Hopefully, I'll get some free time after the holiday 
season
passes.

Original comment by james.e....@gmail.com on 22 Nov 2007 at 12:06

GoogleCodeExporter commented 8 years ago
Wow, nobody has downed karma.  So let me.

I'm not a fan of karma.  It makes new members of a community feel very 
insignificant, and elevates people who basically have no life.  Plus, with a 
karma 
system you have those people who game the system out of some sick obcession 
with 
getting high karma points.  And, in the end, what do you get from it?  Bragging 
rights?  The ability to get a story on the front page with little or no effort? 
 The 
right to look down on noobs?  

I would strongly suggest that unless there is a definitive benefit to the DNK 
ecosystem that karma not be implemented.  

Original comment by yesthatm...@gmail.com on 3 Dec 2007 at 7:23

GoogleCodeExporter commented 8 years ago
I've been a critic of karma in the past, but considering how some people are
attempting to 'game' DNK right now makes me think that a karma system might 
provide a
good balance.

Original comment by cdj...@gmail.com on 3 Dec 2007 at 7:32

GoogleCodeExporter commented 8 years ago
From what I know, digg already ditched site-wide karma on dugg's since I think 
May of
07.  With their new comment system (I think the 4th rendition now) it uses 
thumbs up
/ down as the "karma" so it can auto hide those comments that have a negative 
rating.

If we're going to do karma, lets do it in the sense Digg does and focus on 
improving
the comment system; which is a big task and would require a lot of rewiring.

Original comment by DustinBr...@gmail.com on 20 Jan 2008 at 12:28

GoogleCodeExporter commented 8 years ago
Also assuming here one can reply to a specific comment like on digg (as for the
rewiring).

Original comment by DustinBr...@gmail.com on 20 Jan 2008 at 12:31

GoogleCodeExporter commented 8 years ago
I think there should be some way to bury stuff. 
If you look at users like this one:
http://www.dotnetkicks.com/users/tmax6y

He just filled half of the upcoming page with bogus about health issues, and I 
think 
there should be some punishment system in place. (Like, enough bad votes and 
you 
can't post more than one story per X<hours>, if stories keep getting voted down 
account gets suspended etc.

One of the main reasons I use DotNetKicks is it's little spam. You should let 
the 
community help in stopping spam.

Original comment by hoelblin...@gmail.com on 29 Jan 2008 at 11:16

GoogleCodeExporter commented 8 years ago
> *Kickers*:
> Awarded *+5* for kicking an unpublished story which goes on to be published

Presuming something to also stop people kicking every story just to try hit a 
few +5
karma?

>I'm not a fan of karma.  It makes new members of a community feel very 
>insignificant, and elevates people who basically have no life.

While I'm not a fan of karma I think the idea is interesting, I am wondering if 
the
system had some form of automatic decay added to it, so that users were slowly
brought back to 0 karma (from both positive and negative) but scale the decay 
so that
users without alot of karma wouldn't lose it as fast as those with alot. 

Or maybe a form of karma scaling, so that a front page article is worth more 
karma to
a person who has less, this would mean that to have high karma you would need 
to keep
working at it and it would make it easier for new members to 'catch up'

Original comment by SMc...@gmail.com on 15 Feb 2008 at 8:36

GoogleCodeExporter commented 8 years ago
When the system turns into an RPG, using a vast and arbitrary set of point 
scales to
rate people and by extension articles, I think it's a clue that we're on the 
wrong path.

Original comment by jsim...@gmail.com on 15 May 2008 at 10:11

GoogleCodeExporter commented 8 years ago
When wil this be completed?

Original comment by rfurd...@gmail.com on 30 May 2008 at 3:40

GoogleCodeExporter commented 8 years ago
You NEED this.

I don't visit your site because there are so many garbage posts. Now if I felt 
like 
I could contribute back and -1 those garbage posts, I would visit your site.

I am sure that I am not the only one who feels your signal to noise ratio could 
be 
better.

Original comment by jrw...@gmail.com on 16 Sep 2008 at 1:28

GoogleCodeExporter commented 8 years ago
What is the 5 words that are related to .NET?

Original comment by manualcl...@gmail.com on 24 Apr 2010 at 12:21

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Wow Really very useful information.
Thanks a lot for sharing it with us. I will look forward to read more from you.
 Could I share this information on my site.
<a href=http://webdesigningcompanyinchennai.in/>Web Designing company in 
Chennai</a>

Original comment by websited...@gmail.com on 30 Apr 2014 at 6:53