Thanks to a generous grant from an awesome member of our community we now have the opportunity to hire someone on a contract basis to work on implementing a basic badge system in Discourse.
But first, we have to explain what the project is, and solicit feedback on it. Goals:
A simple badge system, by that I mean implementable in a reasonable amount of time (6-8 weeks?).
Something we are comfortable folding into core, and possibly enabling here and a few other willing partners, but will default to off for quite a while.
Something with a solid base architecture that we can build on later to add more features.
The contractor will work directly with the Discourse team, the project sponsor â and you, the community!
So what should a simple, solid V1 badge system look like? The Discourse team discussed it and hereâs what we came up with:
What is a badge?
Name
Image
Description
Single/Multiple allowed
(optional) ruleset for auto-award
I believe the images are very important here, because the value of a badge likes partly in the cool image (sticker, if you will) that you get associated with your account.
Staff should be able to create an unlimited number of manually awarded badges. The automatic badges will probably be hard-coded in V1 because we donât want to implement a complicated rules engine. Perhaps there could be some rough parameters, but thatâs itâŚ
Where will badges appear?
I think a simple number underneath the username in the left gutter is best. The number indicates the number of badges youâve earned. I thought about another glyph like a trophy or star, but I think letting a simple number send the message does it without all the weird emotional baggage of a glyph.
Clicking the number will take you to the badges page on the userâs profile. The badge page should show:
list of badges awarded aka âtrophy caseâ
when they were awarded
by who, if manually awarded
why, if automatically awarded
how many times they were awarded (if multiples are possible)
How will badges be awarded?
We must support manual award of badges by staff members for any reason, to any user. This is essential.
We should also have a core of 10 badges that are auto-awarded for reasons that support our goal of civilized discourse. In other words, the badges encourage specific behaviors on the forum that help people have better conversations. These 10 should be exemplary, clearly excellent examples of good behaviors.
How will users be notified of the badge award?
Presumably through the notification stream as usual.
What should the 10 initial auto-awarded badges be?
And more importantly what positive community behavior do they encourage?
(Autobiographer) Filled out your user profile completely including an avatar. Why? A community full of avatars and useful profile information makes it easier to see who youâre talking to.
(Read Faq) Read the community guidelines (/faq) completely. Why? The community guidelines are everyoneâs recipe for civilized discourse.
(First Like) Cast a like. Why? Learning to give your fellow community members a hearty pat on the back â and avoiding meaningless â+1â and âme tooâ posts â
(First Quote) Quoted a post. Why? Quoting is crucial for flat discussions, learning to select text in another post (or use the quote button in the toolbar) helps keep discussions on topic and readable.
(First Link) Linked to another topic. Why? Links are the bread and butter of the web, and linking to other ongoing discussions is how we find them.
(Reader) Read a long topic, every post, all the way to the end. Why? Endurance! And yes @sam we will check that you didnât just mindlessly scroll as fast as you could to get to the end, either. Read Time Matters.
(First Share) Shared a topic that got clicked on. Why? Sharing topics with the outside world (using the share button and the URL that has your username on it) is how we attract new blood to any community.
(First Flag) Flagged a topic or post. Why? We put a trashcan on every street corner so the city can stay clean. Everyone has to pitch in.
(Editor) Edited one of your posts. Why? We want people to be unafraid to edit their stuff to make corrections or improvements.
Trust level promotion. Why? This is kind of a stealth way of getting education about what trust levels mean in here. You go up a level, you get directed to a page that explains your new âpowersâ in badge form.
I know, I know, you probably have a dozen badge ideas. But before you post,
We want a limited list of badges in V1 to keep it simple. So the only way your badge is getting on this list is if itâs way more awesome than one of the 10 thatâs already here.
Before proposing anything, PLEASE consider first: what positive community behavior would your badge encourage? If you canât explain that first, donât do it.
Anything else?
Iâm sure Iâve forgotten or neglected to cover a bunch of stuff. Feedback welcome. And remember, weâre trying to keep this simple in V1!
Sounds like a great start! I do think it would be good to discuss whether we should have different values for badges from v1.
Example: Imagine a contributor badge that is given to discourse members who contributed to the code in a substantial way. Obviously this badge is harder to get than the Cast a like badge.
The gold, silver and bronze approach for badges seems to work great on StackOverflow, maybe we should consider a similar approach.
Alternatively maybe just have two classes of badges. High valued (x100) and low valued(x1) and then show a single number on the avatar. This way itâs still easy to see if someone has one or more high valued badges.
I do like the gold, silver, bronze approach on SO but am not sure if a forum really requires three different classes.
Flagging and editing are really basic and crucial features, so itâll be tough to unseat 9 and 10 as core badges. I donât see âget first like on reply/postâ or âget X number of likes or replies or whateverâ on the current list, although there arenât any Iâd replace with this type of badge.
Also, is 10 (or 11) badges for core set in stone? Because 15 sounds pretttyyyy good too. 10-11 basic ones, a couple cool ones maybe highlighting more discourse features or ways to make forums more civil.
Related to 4 & 5: Perhaps something for using the reply-to-post link, rather than just replying to the topic?
Name Suggestions:
8: Promoter. Maybe build this one with several levels? 1, 10, 100 successful promotions?
9: Neighborhood Watch or Boy Scout (Leave it cleaner than you found it) This one feels like it should only award once, sort of a âyouâve discovered out community moderation tools.â
Perhaps there is a use case for tracking number of upheld flags? (Spam flags that contributed to an auto-spam-nuke, OT/Offensive/etc. that a mod agreed with and acted on) Though I really donât know if it would be a good idea to encourage people to treat the flagging system as an opportunity to add notches to their belts.
Last thought: would it make sense for Names to be configurable by the forum admin? I would also expect that eventually, any glyphs or images provided by default could be easily overridden to match the look of your forum.
Does that mean v1 would support badge levels? E.g. for one badge of âCast a Likeâ, you only need to Like a single post, but for a second badge in that category you need to Like 5 more posts and so on (though I would not want to take it much further than that anyhow).
Followup: Replied to someone (within 48h) who mentioned you or replied to one of your posts. Rationale: Donât blurb and bail! Itâs no fun to have a conversation with drive-by posters who leave their conversation-partners hanging for weeks at a time.
And a new one would be:
Connecting the dots: Linked to another thread on the same forum. Rationale: Links are the web. We can hardly have enough of them, and Discourse is clearly built to encourage their use. (Exhibit A - itâs even a full circle, so I think I just earned a lvl 2 of that badge! if such a thing does exist).
Once again like Iâve mentioned before, Iâd prefer having a lot of the simple ones bundled together.
3, 4, 5, 9 and 10 could all be merged into one âCongrats, youâre using the forum essentials!â badge. I would also add âUsed the search function to find a thread (that you replied to?)â to this bundle.
That looks a little boring to me to be honest. And more like Karma-points than the number of badges.
What if - as was suggested - weâd use the âweightâ or âlevelâ and just show the top two or three badges there instead of a boring number? I bet this looks much fancier and with the badge title on the mouse over much more like a reward than this approach of only seeing the awarded badges after the click âŚ
Only concern: this would require every badge to be present (visually) in at least two sizes: a small one here and a big, high-res for the overall page, but the fallback could always bee to have a down-scaled version of the high-res âŚ
Iâm not sure if this has been stated or not (so partially TL;DR, but I really dislike just seeing a number in a blue circle. That means absolutely nothing visually. Is it the number of likes? Their post count? Their Friends? What? If you put a Badge symbol or Trophy symbol next to it, it becomes identifiable without any effort.
This may seem a little contrarian, but how important is for badges to be shown at all near a users avatar in a topic? It feels like it could quickly become clutter to me.
The badges are still incentives for the user, but do I really care if @lightyear got the âboy scoutâ badge? If I do really care, then I think its fine to make me go to his profile or click his avatar. I donât want to see his boy scout badge every day. Its not like the âtrust levelâ for each user is screaming at you right now, and I think thatâs a good thing.
Perhaps it should be a site setting for whether badges are displayed all the time?
And if its important for some communities to display some indicator of badges near the avatar all the time, then Iâd be more in favor or something like the mockup @codinghorror did. Instead of a blue circle as the background, perhaps the shape could be more âbadge-likeâ.
Are tooltips an option? Like if you hover over whatever the overall badge representation is, then it gives you the breakdown of badges earned. Or anything to reduce clutter.
If points are on the horizon, those would look good in a blue circle.
Expect a LONG beta period here, and certainly the whole badge system will default to off for a long, long time.
Always an option, and we always use them, but remember: tooltips do not exist on touch devices, which I expect to be extremely dominant in the future. You have to wean yourself off that crutch long term.
I think clicking on it should just pop up the user card. Put more badge info in the user card and then let people visit the profile to see more as they do now.
Its been nice not to be accidentally âejectedâ to the user profile since that feature was added.
I find this to be a fair statement too. If we are going to use something nonsensical next to the avatar, Iâd rather not have it at all and just visit the persons profile page. But if it were going to be obvious as to what it represents, then I could see it being âsemi-usefulâ, granted I still wouldnât mind if I had to go to their profile to view them (including the count).
True, although the tooltips Iâve used/seen have defaulted to click for touch devices, which isnât too bad (although perhaps not a consistent user experience between touch and non-touch).
Just anything to reduce clutter really. The main reason I chose Discourse is lack of clutter, and then some doofus (maybe not a doofus, just a contrarian) said that itâs too cluttered yesterday. If badges are indicated near the user name, it might be nice to have it boxed off like this, to reduce the number of independent elements on the page:
I do agree - for system-based badges. Badges awarded by the system automatically to foster good conversation behaviour are probably not of high interest, BUT badges are about public visibility and achievement. While the âtrust levelâ have much more internal system-permission functionality and donât need to broadcasted, especially badges awarded by other people probably do. There is a reason why people were them on the top-left of their uniform usually â it also implies rank and authority.
I give an example from our community. We are a tech-learning community and one way we want to motivate on-going learning is by awarding badges for continuous achievement milestones. We have learning materials and after each one, weâd like them to submit a project based on what theyâve learned. Thatâd be reviewed by one of our coaches and if good enough, the person would be rewarded with the appropriate badge â for example the âPython Big Data Wranglerâ for someone, whoâs proven to know the how to handle big data efficiently in python.
Not only are they supposed to be proud of that, this also is a very interesting contextual information, when you read a post because it shows their ârankâ even to a person that doesnât know this information yet. The same goes for coaches, whoâd have a badge signaling they are coaches for said topic. In an otherwise âanonymousâ, distributed online community those are very quick and easy steps to give a post more or less meaning.
Therefore âhiddenâ badges do serve neither purpose of a) public visibility and recognition for ones achievements nor b) easy recognition of authority and "non-system-awarded badges very much useless.
And I do think there is a clutter-less way of displaying those that is a little more informative than just some number in a circle.
For previously mentioned reasons, yes, they definitely should be in the user card show after the click!
That said, maybe it does make sense to think of a clearer visual dividing the badges into automatic âsystemâ-badge and custom community badges â at least the first might be replaced with themes.
Another thing, Iâd like to add is about exactly that âpublic recognitionâ. I do like the notification system. But especially for very âhonourableâ badges it would be good offer an easy way to make it into a public post, too. Allowing others to congratulate and be motivated to achieve the same. Not part of v1 probably, but something to keep in mind for the future when designing the system.
I donât agree, but I think this is a difference of opinion that will just need to be reflected in system preferences. Itâs a matter of what kind of culture youâre trying to build and that will be particular to the community.
I also think there may be differences between badges or trophies and titles or roles.
To me, a badge or a trophy is a gaudy thing, best left at home. When you win a badge or a trophy, it should make you and your mother very proud, but that doesnât mean you should wear it on your sleeve to work or school every day.
A title or role on the other hand may imply both authority and responsibility. Thatâs the kind of thing that a select few should display transparently.
I think badges are useful feedback to the recipient so Iâm not arguing for disabling the feature completely. And I donât think they should be entirely hidden. It should be possible to see what badges any user has attained.
I would personally just like the ability to temper the overt display of them somewhat.
Also, to both you and @lightyear: never underestimate the power of putting a simple number next to someoneâs name. Thatâs basically the entire basis of Stack Overflow. It works.
Badges are not just for intrinsic motivation but should publicly identify valued members of the community. If you donât think that badges should be visible near the avatar then Iâd argue that you probably donât need a badge system at all.
I like the idea of having a number near the avatar instead of specific badges. Specific badges just introduce more cognitive load as you have to learn and identify lots of different badges (presumably). A number is easy to grasp.
To go with the idea of having different values for badges it would be trivial to identify these users:
Joe=5 (fairly new user)
Bob=23 (established member)
Jane=242 (established member but must have some special badges to have such a high score)
Some might complain that they want that corner of their avatar shown, but since certain themes will crop avatars to be circular, plus you can always click the avatar to see the full thing (and often-times you wonât even know what youâre looking at until youâve done that), I donât see that being much of an issue.
And badges donât need their own button. They should be incorporated into the profile-popout anyhow.