Users should receive +- some amount of points for questions, comments, and answers that are voted on. Amounts to be determined.

Comments

davidhernandez’s picture

Correction: This issue is mostly just for the tracking of a users points. Adding totals to their user account, etc.

mradcliffe’s picture

Tasks

  • Come up with a good algorithm that is fair, limited amount of gaming the system, etc...

Question: Should there be an upper limit of points?

Fidelix’s picture

No, I don't think there should be a limit.

But here is some stuff to start with:

ACTION REWARD  
Ask question 2 points  
Answer question 5 points  
Have answer chosen 10 points  
Comment on question or answer 1 point  
Question owner determine correct answer 2 points  
Vote Up/Down a question/answer 1 point  
Receive an Upvote 4 points  
Receive a Downvote -3 points  
Tag someone else's question 2 points  
Edit someone else's question / answer 4 points  
Use an image on the question / answer 3 points  
Report item for moderation 3 points  
Mark content as duplicated / invalid question 4 points  

We should think about "moderation" rewarding.

mradcliffe’s picture

The point of an upper limit on points is that the objective of points is to grant access to new features for a user, and not to have some sort pissing contest about the most points. In my opinion, that doesn't create the most positive atmosphere and I, personally, would be less incline to provide support on my own time.

Fidelix’s picture

hmm... makes sense.

To define an upper limit, we would need to define all the privileges/roles an user can achieve based on reputation earning.
Any suggestions?

chipcleary’s picture

FWIW, I just added a points system to the Answers module (via a bolt-on module, Answers Userpoints). I wondered whether the thinking I saw there might be relevant here.

I modeled the point system after how StackExchange does it, which I thought was clever. The basic idea there is that you only earn points when others recognize the value in your contributions. This turns out to be when someone else votes up your question or your answer or selects your answer as the best answer.

There are only much smaller amounts of points awarded for activity ... and these are very specific. You get a token amount of points taken away when you vote things down. The idea is, I infer, to have you think twice about whether it's worth it to mark something down. You get a token amount of points when you are a question author and you select a best answer (so as to encourage you to do it and thereby, in turn, give a big benefit to the answer author).

They also have user badges. I haven't looked as closely at those. At least the initial ones seem to be to encourage you to use the site ... you get one when you ask your first question that is accepted or when you first vote up a question or first vote up an answer or first answer a question.

Finally, they do have the idea that as you gain points, you get increased permissions. There is quite a complex set of increased permissions.

In short, I thought this was a pretty clean approach to points. You get rewarded for doing things others see value in.

Fidelix’s picture

Awesome.
Are you using the userpoints module API for giving and taking points?

chipcleary’s picture

Yep.

I used Userpoints for managing the points (with a unique userpoints vocabulary item to keep the points in their own category) and the Rules module for implementing the policy about when points are awarded (so it's reasonably easy to modify).

In short, it was a very nice experience implementing it ... I could implement it almost entirely on top the great infrastructure modules others had already provided.

Morbus Iff’s picture

Achievements v1.1 is now out, with screenshots: http://drupal.org/project/achievements/. I only mention it because I've had previous discussions with folks in this group about achievements vs. points, and I didn't have any code to show at the time (it was all still locked up in a Drupal 6 issue with no real release). I'm aware that the group wants to go with activity vs. milestones, so this is merely closing off my side of the discussion with "here's what I was talking about, as an example".

davidhernandez’s picture

I saw your release. It looks interesting; I'll have to play with it. It is strictly D7, right?

Morbus Iff’s picture

It is, yes. I don't maintain releases for not-current-core.

sun’s picture

Status: Active » Closed (won't fix)

Points are the most un-inviting feature you can implement for a community site.

You can see a live example of long-term usage (years) of user points on http://drupalcenter.de. You'll quickly notice that only a tiny fraction of users has any points at all, and there's a giant gap between the "top" contributors and everyone else.

That said, SE actually prevented me from marking correct answers as correct and other highly useful contributions. Why? Because I don't have sufficient karma on SE. WTF?

Now translate that to someone else, someone new to the community. Potentially a very valuable, talented, new member and contributor to Drupal. Can't contribute. Essentially, our message: "Fuck off."

I wouldn't ever ask anyone to "correct" my user account over there. The system itself is just fundamentally flawed. And in turn, a point/credit system itself is fundamentally flawed. Bad idea, bad execution.

If you think in points, then you don't think in community values.

What we need is a game, and a gamification of Contributing to Drupal. But on a personal level. Not for everyone else. For our own. Very potentially involving goals and achievements, which in turn might involve other community members to be achieved.

But definitely not anything that ranks community members in any kind of score.

Fidelix’s picture

Status: Closed (won't fix) » Active

I disagree with you.

We just have to implement the rewarding system in a different manner than SE.
It is dull to prevent users from doing basic stuff like marking answers as correct or actually making comments.

And in turn, a point/credit system itself is fundamentally flawed. Bad idea, bad execution

I disagree.

We can be thinking about Community Values and points at the same time. I'm sure of that. Points are an EXCELLENT way to measure gradual community privileges, and if these are the goals, points can be a LOT of incentive for people to keep participating.

Don't assume that a credits system is flawed just because you experienced a bad implementation of it.

sun’s picture

Status: Active » Postponed (maintainer needs more info)

I pointed to two actual real world examples where points led to the opposite of what was supposably intended. Obviously harmful for the respective communities.

So let's turn it around: Show us evidence of a larger, mature, longer existing, inviting, and thriving community that actively uses points and scores its members in a way that's not harmful.

Thanks.

Fidelix’s picture

SE is the an excellent example that proves that points+privileges do work as an incentive to participate.

There's no need to use another example, we just have to improve the way they're using it.

mradcliffe’s picture

I don't think points as a concept is inherently harmful until you start publicizing it. I have a similar view to sun, but having a way to gradually increase moderation/rating rights is important (see my comment earlier).

The point of an upper limit on points is that the objective of points is to grant access to new features for a user, and not to have some sort pissing contest about the most points. In my opinion, that doesn't create the most positive atmosphere and I, personally, would be less incline to provide support on my own time.

Morbus Iff’s picture

For what it's worth, I tend to agree with sun (in this case) and with the "pissing match" of high-scores and leaderboards. Points do not need to be associated with goals, nor do leaderboards or any sort of comparative (and competitive) analysis, which can happen whenever you expose point-values (of a user) to a community. You can have goals without points, quite easily in fact - I spent an hour and just committed a new "Pointless" submodule to my Achievements module: it supports the goals and milestones (achievements, badges, etc.) of gamification, without the points and leaderboards.

http://drupal.org/project/achievements
http://drupalcode.org/project/achievements.git/blobdiff/ef9271ad0b8bdb67...

mradcliffe’s picture

Oh my, a pointless module. :D

davidhernandez’s picture

Points were wanted as a metric, so that contributors to support could be recognized, as Dries does with coders at every DrupalCon. (The same has been wanted for Docs and other parts of the community; giving credit to contributions beyond coding.) There was much discussion about not displaying the points, or at least not prominently, because we very much did not want to have pissing contests.

I have no preference regarding points versus achievements, but, for the record, there was a different motivation than just gaming. Maybe it is wrong, and minds have changed since Chicago.

apaderno’s picture

Status: Postponed (maintainer needs more info) » Active

Stack Exchange is different as reputation (points) is used to define the privileges (permissions) a user has. Instead of having roles assigned from somebody else to have new privileges, the privileges are automatically gained when the reputation is increased. There are still differences between moderators, and normal users: Normal users, even at 100K points, can vote to close a limited number of questions, while moderators can close questions without limit. (Notice that moderators vote to close, but their vote automatically close the question; that is why I said moderators close questions.)

The association between privileges, and reputation is used in Stack Exchange, but it's not necessary to have it. Stack Exchange sites have it because (as they say) "We don't run a Stack Exchange site; you run it." In other words, they don't assign roles, with the exceptions of the Community Moderator (which is assigned upon election, though), Community Coordinator (which is assigned to Stack Exchange staff), and Developer (which is assigned to Stack Exchange staff). Those are roughly equivalent to Drupal.org site maintainer, Drupal.org admin, and Drupal.org Infrastructure team member roles.

Also, the other limitations applied to the new users (users with a very low reputation) are applied to avoid negative/unwanted behaviors they noted.

  • A new user cannot immediately accept an answer for her/his own question because they noted new users tend to accept the first given answer, without to give to other users the time to answer.
  • New users cannot write an answer with more than X links until their reputation is not at least X, and cannot write comments until their reputation is not at least 50. While this limit can seem arbitrary, it limits the damage spammers can do.
  • They removed the -1 change in the reputation of who down-vote a question because they noted few users down-voted questions, even when the question was a low quality question.

As the site would be run for a different community, we are free to apply the rules we find more convenient, considering also what our objective is. We are not Stack Exchange, and we have different needs. While we can take the Stack Exchange model as example, we don't necessarily need to clone it.