What badges, if any, should Discourse have?


(Jeff Atwood) #1

We built an extensive badging system on Stack Exchange, e.g.

From my perspective, badges are great ways to:

  1. Encourage constructive, positive behavior
  2. Discover how the site works without reading a FAQ
  3. Reward the most avid users
  4. Teach advanced usage

Not that badging can’t go wrong, of course…

With some basic forethought, badging systems are a huge positive in my experience. Unfortunately, we did not have time to get to any kind of badging system yet on Discourse, sadly – we were too busy fixing all the (many, many, many…) core gameplay problems in forums first.

But we want to get to badges by the end of the year 2013! So here’s my question:

What badges should Discourse offer, if any?

Just please bear in mind the four points above, which I’ll repeat here so everyone is on the same page:

  1. Encourage constructive, positive behavior
  2. Discover how the site works without reading a FAQ
  3. Reward the most avid users
  4. Teach advanced usage

Don’t just propose a cool badge name and walk away, please explain how your badge would work and what specific positive behaviors it would encourage.


Is anyone working on a generic badge plugin?
What are Badges?
(Régis Hanol) #2

Ok, I’ll give it a shot: what about a badge for when you like a post in order to teach users that there is more than one way to participate in the discussion? (This would satisfy point #2)

Another badge would be when one of your post (topic?) hits a certain amount of likes. I believe likes are a strong signal as to whether the content is interesting or not. (This would kind of satisfy points #1 and #3)


(sparr) #3

I think a lot of the badges from SO/SE could be ported over to Discourse pretty readily, and I expect the rationale for their existence there would mostly apply here as well. SO has badges (including multiple tiers of the same badge) for…

  • Reading the FAQ and About pages
  • Sharing links on other websites that get visited by many unique IPs.
  • Editing posts
  • Filling out a profile
  • Flagging a post
  • Commenting
  • Voting (possibly equivalent to Like-ing here?)
  • Having your content voted on
  • Visiting the site regularly
  • Having your content viewed
  • Having your content favorited (bookmarked?)

(Kiran Patil) #4

Will “GitHub - merit-gem/merit: Reputation engine for Rails apps” rails engine helps for badging system implementation ?

I am eagerly awaiting for badges…


(Mitchell Peabody) #5

This one may be a bit complicated to set up, but what about a badge that is awarded for reading a certain percentage of the posts in a topic before responding? Perhaps the top N posts read?

  1. It would encourage throughly understanding the topic before responding. This would — hopefully — prevent from-the-hip sniping and promote more thoughtful responses.
  2. Educate people in how best to participate in a discussion.
  3. Users would be encouraged to read the site.
  4. Not sure this would teach advanced usage.

(Waqas Ahmed) #6

(in addition to automated badges) can we have a type of badge that will be given by humans (moderator/admin or crowd-powered) instead of a formula?
i was thinking of a customizable and flexible badge that can be renamed and adjusted according to the community/occasion/activity.

for example: i am a moderator of a funny meme comunity and we have a competition of the funniest memes but we have a special badge for the user who posts the weirdest. the moderator can award the ‘weirdest meme badge’ based on community feedback or a pre-set criteria or voted by users.

similarly for example heavy metal forums would want to award a badge for the user who posts the loudest guitar solo.

the point is, there are some behaviors and activities that we should encourage for all types of forums, like reading posts, replying, liking, sharing - these already have trust levels associated with them. badges might bolster that too.
but there are certain behaviors that will be specific and limited to the type/industry of forum, it would be nice if discourse badges were flexible enough to accomodate that.


(Philipp Weißensteiner) #7

Badges are awesome! However I’m a little confused: Discourse is going to deploy a lot of instances, are you trying to figure out which badges might be useful for all of them or are only talking about meta.discourse.org. In the latter case contributor badges, I imagine, would cover 1. as in motivate more folks to submit PR.


(sparr) #8

What do you mean by “PR”?


(Michael Scott Shappe) #9

I think I see two broad areas here:

  • “Core” badges – badges that could likely have utility in any Discourse instance. Many of these would, in the end, be similar to StackExchange’s in that some reward raw participation while others reward the merit of that participation based on things like other people’s votes for your content and other such things. Example: a badge for first post; another for first reply; additional ones for numerical milestones; and then badges for receiving a certain number of Likes on a particular post/comment; badges for receiving a certain number of Likes overall; and so on; badges for having moderators agree with one Flagging something; and so on.

  • Per-instance badges – this I think speaks to what @wpp is getting to above. While I can’t think of a specific example immediately, I can see a theoretical use for the ability for an instance administrator to create his own criteria for badges – including allowing the human-bestowed badges suggested by @waqas above.

I think the ideal progression would be to start out with hard-coded “core” badges; then work up a means of defining additional badges in the Admin console; and then redefine the ‘core’ badges in those terms to get rid of “extra” code that should no longer be necessary.

This may not be so easy, however. An alternative compromise might be to make it easy to extend the badge system in code, instead, with plugins.


(Luke S) #10

First a couple of general ideas:

The ability for an administrator to define badges that are specific to a forum. For example,

  • Current high score holder for a forum focused on a game.
  • Best Creme Brule on a cooking forum.

Neither of these badges belong on the the other’s forum, and should not be defined in discourse core.

User nominated / awarded badges. The point here is for the users to be able to recognize and reward specific positive behaviors on the forums, without needing to involve the moderators. Only users with at least basic trust can nominate, and awarding such a badge needs a certain threshold of approval. Higher levels of trust have a higher weight when voting to award, and moderators have even more weight.

Why not just like the post? “like” is a great feature, but it is rather generic. I am aware that this was done to keep it simple, and I agree. For me, though, the like feature is mostly about the end result,

i.e. “I found this post helpful/moving/funny/whatever.”

User awarded badges are about the process, specific actions to bring a post or topic closer to the ideal.

To get a better idea of what I mean, two specific badge proposals:

Peacemaker: person who takes action to maintain/restore civilized discourse to a discussion that has become characterized by… strong disagreement
Could be nominated for:

  • Editing own post to make it more polite/less offensive.
  • Apologizing for previous post that could be misconstrued/overreacting to post that was not intended to be offensive.
  • Graciously conceding point on which one has been emphatic, if one realizes he has been wrong.

Should only be awarded for taking such actions without moderator/third party reminders.
Should probably only be awarded by third parties, that is persons who have not participated in that particular discussion as yet.

Peacekeeper: Not a policing force, but someone who approaches a hot-button topic in such a way that he motivates others to maintain their civility.
Awarded for posts that:

  • Set an excellent example, especially if it is clear that the poster has very strong opinions on the subject.
  • Graciously acknowledge both/all sides of a discussion, and/or admit the limits/downsides of the poster’s opinion.

Not awarded for posts that:

  • Ask others to edit, or I’ll call the moderators
  • Have a moderator-ish tone, i.e. “Can we just calm down please?”

same limits on voting as Peacemaker.

I know that Discourse isn’t really about arguments, but whenever humans discuss things, there will be disagreements. These badges are meant to reward those who are exceptional about maintaining civility while expressing strong opinions.

Both would allow “repeats” - Badge includes number of times awarded, or on certain thresholds upgrades from [badge] to silver[badge] or gold[badge] etc.

Edit: I see a couple of users have addressed some of these points in more detail as I was typing… Great Minds? :wink:


(Michael Scott Shappe) #11

PR in this context probably means “pull request”; that is, code someone wants to submit via GitHub.


(Jeff Atwood) #12

That’s fine, but it’s outside the context of what I was asking. Perhaps that will happen one day too.

I’d like to focus on badges that work for all forums, or at least the vast majority of them, first – since they will benefit everyone.


(sparr) #13

Would it be useful to have a system for defining and describing badges? I am envisioning a system that would be something like a query language, so that admins could create badges that require specific criteria to be met, but without modifying the source files of discourse. Number of posts, votes on posts, comments, etc, these are all things that could be described with such an interface.


(Michael Scott Shappe) #14

That’s more or less what I was getting at, yes; but I also agree with @codinghorror – first thing to do is to define a structure for badges of any kind, and then to figure out what badges are likely to be uniformly useful, and basically hard-code those as a first cut/proof of concept.

Creating a system for defining and describing badges would be very powerful, but I think, to be honest, that it won’t be nearly as useful as the amount of effort that will be needed to create it. When I look at the Stack Exchange universe, for example, I’m hard pressed to imagine a badge I would want, were I running my own private SE, that SE doesn’t already provide.

At any rate, I think it should definitely be the later effort, after the “core” badges have been defined and a structure for awarding badges coded.


(sparr) #15

Even if we stick to the SE badges, having a badge definition system would make those badges easier to define. SE has a lot of badges that are the same except for a different number of something (10 posts, 100 posts, 1000 posts). If we copy those badges, adding a badge for 10k posts should not involve editing the discourse source code.


(Waqas Ahmed) #16

yeah understood. priority is to make badges that are universal.
so what are the activities at our disposal that we can observe and encourage - i am listing in chronological order so tell me if i miss anything:

Signing up
Signing in
Reading welcome message by admin
Following the directives of that first message
Reading Faqs
Completing profile
Reading posts
Participating in posts
Liking posts
Sharing Posts
Bookmarking posts
Starting new topics
Following a topic you have started till the very end
Editing your post
Replying as a new topic
Inviting a user from inside the forum to a topic
Inviting a user from outside the forum to a topic
Talking to users in private messages
Increasing trust levels

to be merged with @sparr 's

Reading the FAQ and About pages
Sharing links on other websites that get visited by many unique IPs.
Editing posts
Filling out a profile
Flagging a post
Commenting
Voting (possibly equivalent to Like-ing here?)
Having your content voted on
Visiting the site regularly
Having your content viewed
Having your content favorited (bookmarked?)

These are all i can think of right now - please add more. The purpose to write these here was to list the basic components we can play with. We can use combination of these to create badges like SE does.

novice level badges for the first few activities listed above (or combination thereof) - these are bronze badges in SE and expert level (gold) badges for the activities that come down the order (we can expand and reorder the list)

  • E.g, if you sign up, complete your profile, and read the faqs on the same day you get a fast learner badge. -bronze. This could encourage more engagement earlier on/ if we reward early, user might get encouraged to be more involved early.

  • If you start a topic, invite five people from outside the forum and they make x posts in that topic, you get a party starter badge -silver. encouraging users to bring in their friends/peers. increase forum population, and those that get invited hit the ground running.

  • if a user you had invited reaches trust level 5 you get an elder badge -gold. Encourage advanced users to be more like yoda. :wink:

point being, all badges we come up with will be combinations of the most basic actions it is possible for user to make - with a layer or ‘purpose’ added to the top so the user gets motivated to perform the combination of those actions. So it would be nice if someone here can add to this list and help make combinations that actually push the user forward instead of combinations of actions user doesnt care about or isnt intrinsically motivated to do. Someone who has studied motivation in better detail may able to help us more here.


(Joe Taber) #17

Informed (silver): Read at least 75% of posts in a topic before replying. (Minimum 9 posts.) ( @seggy’s idea)

Derailer (silver): Reply as a new topic that 75% of the original topic’s contributors post in. (Minimum 5 people.) Teaches/encourages people to effectively use reply as new topic.

Hipster (bronze): First like on a topic that got someone a Party Starter badge. Ok, like it’s namesake, this badge is pretty useless.

Linker (bronze): Get 5 likes on a post with a link to another topic on this forum. Reward people for connecting related topics.


(Joe Taber) #18

Nobody else? C’mon this should be fun.

I think Party Starter should be: Invite 5 people to the discussion and they make 10 posts in the topic within 24 hours. The difference is they don’t have to be invited from outside the forum, and it doesn’t have to be a new topic. This would be nicer for combining with other badges.

Some badge names I ripped off of Stack Exchange:
Archaeologist (bronze): Post in a dead topic. (30 days no posts).

Necromancer (silver): Archaeologist + Party Starter (my version)

Complete ripoffs:
Fanatic (gold): Visited the site each day for 100 consecutive days. (Should post notification emails count?)

Deputy (silver): Raised 50 helpful flags.

When thinking through what quantities (days, posts, likes etc) would be reasonable for badges, I feel like they should be smaller than equivalent badges in Stack Exchange. Not sure why.


(Nick De Vore) #19

Muse (silver) - 3 new posts/topics in a day which each received at least 3 responses

Logorrhea (gold) - 5 new posts/topics in a day which each received at least 3 responses


(Luke S) #20

Perhaps because it feels like many forums will have smaller communities than SE? There is only one [Programmers SE][1] (Something about being a be-all end-all Q&A Site) and eventually everyone who needs/wants that functionality will wash up there. However, there is room for dozens of programming forums of various sizes, focuses and personalities.

Similar considerations could apply to badges such as Archaeologist that are based on how long it has been since the last post. I belong to a small 3d modeling/computer art forum (mostly centered around an obscure application) in which a user dug up his own thread after 6 months. (he had put some more effort into the same scene) The sad part was, this topic hadn’t made it off of the first page in it’s category. (30 topics/page) And such resurrections are not uncommon there. (I think that that thread will actually qualify for a Necromancer (Resurrectionist?) badge according to SE rules.
[1]: http://programmers.stackexchange.com