New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gamification #829
Comments
I have always been a advocate of gamification. I'd like to be part of the discussion :) |
I don't see an issue with winning points for any study group you belong too - what are your concerns about them becoming behemoths? |
@stain88 Re: behemoths -- if group activity (new hangouts, new discussions, learnings, etc.) end up corresponding to "points" for that group, I was worried that users would be incentivized to keep making a single group really active, and not branch off to create new groups for other study topics. I could see a general "Javascript" study group being incentivized to compete with a "Python study" group for the group points leaderboard, when ideally we'd have three different React groups working on different React material/tutorials/projects, and multiple Python groups as well, etc. Of course, maybe it won't be such a big deal. And the alternative is having fantasy name houses. :) @abhiramr Awesome. The discussion will be here! |
I'm a sceptic when it comes to gamification. Having lived through it being rolled out at a large organisation I'm concerned around the behaviours they incentivise, particularly if the end result is a monetary award. In general, I'm definitely in favour of using it an incentive to discover new features, but less so to encourage repetitive behaviour that adds little value. There are a couple of ideas that I'd think would be worth exploring:
Rather than focussing on what we should allocate points for, I'm really keen to understand why that particular action should be rewarded. Food for thought. |
Currently on https://codebuddies.org/study-groups, it's hard to tell which groups are active. I mean, naturally, it's totally fine for a group to die off. But maybe we can take advantage of gamification here by displaying a "points" value for the total # of points the group has earned through its lifespan, as well as a a "points earned in the last month" number that reflects how "active" the group has been recently. And display it all on the group card. |
Really like the "points earned in a study group" idea of showing active groups. This emphasizes the importance of the group/buddy rather than the importance of self. I'm not sure what I learn by seeing the lifespan total. |
I worked on a demo with a leaderboard that was trying to promote participation rather than top score. One idea that came out of it was to rank progress (read: points per timeframe). This keeps points from becoming stale and promotes continued investment. The important thing is not to call it a weekly wipe of points because then people think that their progress is lost. Instead, run the leaderboard calculations on a sliding timeframe of data and display as normal. |
Just floating this idea, what if only study groups could earn points? We are called Codebuddies after all. This would aim to promote people who work together. |
Thanks @cbelsole and @billglover! Your comments make me think that we should only show the individual total on the individual's profile page, and highlight a "in the last 30 days" or "in the last 7 days" leaderboard on the main site.
We do this with our ++ bot already to give points to users on Slack, so I'm wondering if there's any way we can integrate this or have a similar feature on the site. Not sure!
The priority action is hangouts. The connections made on them can be pretty magical, but not enough are being scheduled. People have different learning styles, certainly, and not everyone enjoys discussing code as a way to master the material, but it'd be nice if more people were to create these spaces for learning. |
Completely agree with the focus on hangouts.
I really like this and it leads me to the following two proposals:
This could be adjusted to be 'first each week' or 'first each month' if necessary. The most obvious idea, points every time you schedule a hangout, is the one I'm most nervous about. It doesn't focus on getting more people to try scheduling them, it focuses on rewarding those who regularly host. This may be something we want eventually, but I really like the idea of encouraging new people to participate. The last thing I want when joining a new community is to see that there are a bunch of people with a lifetime points total that I'll never be able to achieve simple through virtue of the fact that I joined later. I can't be the only one who is put off by this artificial hurdle. In this regard, Foursquare (or Swarm) handles this really well with a weekly points reset. |
Out of interest, do we have data available (anonymised of course) that would allow us to moddle some of these scenarios and see what the points totals would look like for the current user base? |
Assuming a monthly sliding scale you can also award people points for 4 hangouts in a month (once a week) that 3 or more people join, and if they get 4,8,12 consecutive weeks they could get a badge on their group like ON FIRE!!! or something. This would promote long-running groups. |
@cbelsole Haha. @yipnm123 and @julianjohannesen have definitely gotten that ON FIRE!!! badge; they've scheduled hangouts every week since January 31st of this year while participating in the Grow with Google Scholarship program, in the https://codebuddies.org/study-group/udacity's-grow-with-google-scholarship-program/vKbeuXSbQfuYMFnBe group. |
Also, wanted to share @adachiu's thoughts: |
Really like this @lpatmo. Particularly the fact that all points are time bound (at least on display). |
Thanks @billglover! The designs could use improvement, but at least this is a functional sketch. I was planning to think about badges in Version 2. That Harry Potter mobile game (Pokemon Go sequel) launched today, and I was so tempted to think about magical badges. Like, you graduate to be a "grand coding wizard" after earning 1000 points or something. (Let's assume that by that time you truly would have improved your coding skillz after being in so many hangouts...) Tempted to tack on a +1 point for sharing something you learned, too, in the progress tracker underneath each hangout and in each group. |
@lpatmo Great mockup and point system. Point deduction also stresses commitment to attending hangouts and achieving the hangout goal that is to help each other learn. |
As a user, I'm not so sure about being randomly sorted into a house. Perhaps the user gets to pick from a couple appropriate houses based on their learning preferences (preferences could be filled up at onboarding for the bio/profile page). The houses could be named by the group creators, but the badges to be earned will be regulated by CB.
I like the point expiry idea for regulating the "houses," but a points wipe would definitely affect motivation to continue earning points. I did a quick brainstorm on a disappearing points timeline that could be placed within the "house/group card." Disregard the "week 1, 2, 3," and pretend those are actual weeks with dates (ie. August 1 - 7). The top bar (blue) is the current active week score. The weeks' points within the current month will be visible, but the weeks prior to the current month could be shown as faded. The faded points could gradually be moved off the chart. This way, new comers who want to join the group, or current members, could see the team's performance at a glance. We could explore other ways of displaying the points chart. IDEA: In Snapchat, there is a trophy screen where different trophies get unlocked based on what you do. This is a fun and mysterious way to keep the gamification exciting. Other than the public points system for each group/house, we could have a private trophies page for each group. @lpatmo |
OMG, learning preferences! That's an intriguing idea. I'm imagining the "don't bother me I just want a silent hangout" house competing with the "I learn by practicing teaching" house vs. the "Let's just discuss the topics" house... just kidding. Maybe half kidding. Love this idea, @adachiu! The graph makes a lot of sense because it's also a quick visual way to scan activity in the group.
Makes sense. "Private" as in only the group members get to see that trophy, then? |
This is one I'd love to hear more about. Do we have examples of leaderboard schemes that people have enjoyed participating in? I've found the quickest way to get me to give up on a goal is to present something that is achievable. Trying to climb a leaderboard when the top spots are dominated by those with a time-based head start will destroy my motivation to participate. Knowing that I can have a bad week or bad month and yet still remain in the running is really important. I believe it is also more inclusive but lack any data to support that statement. Looking for parallels, I liken this to the difference between chasing a world record and chasing the title in a current tournament. They drive a different sense of engagement and participation.
Absolutely love the fading leaderboard by @adachiu. It doesn't immediately erase a good score, but does indicate that it's relevance has started to fade (literally). With this display, there would be not need to calculate a lifetime points total for individuals. |
@lpatmo I like the preferences like “don’t bother me I just want a silent hangout” rather than just a preference name like “silent hangout.” It gives CB’s brand more personality (casual and friendly). Competitions between groups with different learning styles would be great to analyze what’s more effective for learning. Just a stats experiment that may have interesting results. 🏆 trophies are private to the account holder in Snapchat and I think there’s benefits of having it private because if CB’s group A unlocks a bunch of new trophies and it is public, then it ruins the surprise for other groups that haven’t reached that level yet. Private trophies may make it more mysterious and encourage users to unlock trophies for the group. |
This is an interesting discussion. In the current vein of gamifying, it seems to be incentive/point driven. What about actual developer games/mini challenges/create a game? |
Proposal: Gamify CB! :) Users will be able to win points for scheduling a hangout, starting a group, sharing a learning, starting a discussion, replying to a discussion, or getting upvoted on a learning or upvoted on a discussion.
In the future, perhaps these points could be translated into monetary rewards that users could get reimbursements for on opencollective.com/codebuddies.
Points system
Maybe:
Scheduling a hangout - 5 points
Starting a study group - 5 points
Sharing a learning - 2 points
Starting a discussion - 3 points
Replying to a discussion - 1 point (maybe)
Upvoted on a discussion - 1 point (maybe)
Upvoted on a shared learning - 1 point (maybe)
Places we'd see points
On codebuddies.org/hangouts, we'd have a section on the sidebar where we'd be able to see the top individual point scorers within the last 7 days
We could also have a section showcasing the most active study group(s) within the last 7 days, based on the # of points members in that group has won it.
Ideas we should discuss: houses
QUESTION FOR DISCUSSION: Should users be able to win points for "houses" they're randomly sorted into? What would these houses be called?
QUESTION FOR DISCUSSION: Should users be able to win points for study groups they belong to? Maybe this is a better idea, to reward study groups that have been particularly active. However, we don't necessarily want study groups to become behemoths.
The text was updated successfully, but these errors were encountered: