Decide how to use Groups, Badges, and Titles

How they work:

  • GROUPS are used mainly for permissions / access controls — visibility of categories / topics / messages, etc.
  • BADGES are status symbols / for gamification. They are best used to motivate certain actions.
    • By default, badges act like achievements (Viewed 100 posts!). The UI only allows revoking them manually and individually.
    • There is an API for automatically awarding (and removing?) badges.
    • Mods/admins can set one PRIMARY GROUP (or none) for each user. This adds a css class to their posts, allowing us to style them if we’d like. Details here
  • TITLES are like badges, but you can only have one; it appears next to your name any time you post in a topic.
    • Users can choose one of their badges as their title, if we allow the badge to be set as a title. This is the best way to set most titles.
    • Titles can be automatically applied upon joining a group. This is not that useful due to idiosyncrasies with the feature: if people (1) are part of multiple groups that use titles or (2) set their titles manually (or via badges), then it silently stops working and can only be fixed manually, with great difficulty.
    • Mods/admins can set titles manually and individually.
    • If one of a user’s groups is selected as the primary group, their title will link to that group (regardless of whether the title is related to the group). This can only be disabled with js.
    • More details about styling titles


  • There’s no need to create groups pre-emptively; we’ll know when a new group is needed.
    • Right now, we should make a “team” group. I will do that.
  • Administering titles by group membership is probably useful for team members, and maaaaybe for early partners/advisors. Generally trusted groups only, since the feature is so finicky.
    • It is useful because it allows you to change a bunch of people’s titles at once, like if we wanted to change from “Team Member” to just “Team” or something.
  • Setting a primary group is probably useful for the team, and only the team.
  • Badges are the most useful tool to use with the entire community.
    • Whether it’s feasible to give badges for being a patron of a certain project depends on the limits of the badge api. We should investigate.

Like how badges users in Discourse based on contributing to GitHub repos, we’d like to see badges that identify people as:

  • patrons of
  • snowdrift team members
  • volunteers (perhaps who have contributed in past X [90?] days?)
    • initial old thought was: this badge gets renewed by team-members clicking something like a “thanks” when volunteers make contributions
  • team members of project(s) funded through

[meta: once this is clarified about how we could achieve this, maybe these ideas should move to a design process / design topic or that direction generally]

I think this one (as a group & title) is the only one that’s feasible for alpha, and maybe team members, as long as that number stays in the single digits. Everything else will take too much dev time to set up to be worth it, starting out.