Gamification in FOSS communities

Presenter Notes

whoami

Haïkel Guémar (@hguemar)

Fedora Developer since 2006

Senior Software Engineer @ SysFera

Presenter Notes

Gamification 101

Presenter Notes

What ?

The process of game thinking and mechanics to engage users and solve problems wikipedia definition

Presenter Notes

Why ?

  • FOSS communities needs contributors
  • To motivate (and keep) contributors => recognition of skills and achievements

Presenter Notes

How ?

  • Mozilla OpenBadges (launched in september 2011)
  • A recognition system that allows awarding virtual badges
  • Open Standard initiative funded by MoFo & McArthur Foundation
  • http://openbadges.org/

Presenter Notes

Fedora Badges

Presenter Notes

Topics:

  • FAS & group memberships
  • Ask Fedora, wiki edits
  • IRC meetings, fedora planet
  • build/update system
  • community awarded badges
  • event attendance

Presenter Notes

Open Badge Infrastructure (OBI)

  • Defines a badge as a JSON blob

A badge is:

  • title
  • description
  • image
  • link to criteria to award the badge

Presenter Notes

The JSON side of the Badges

{
  "name": "All your $arch are belong to us (Koji Success V)",
  "description": "Succesfully completed 1000 koji builds.",
  "first_awarded_person": "rdieter",
  "last_awarded": 1379318078.0,
  "times_awarded": 7,
  "id": "all-your-$arch-are-belong-to-us-koji-success-v",
  "last_awarded_person": "remi",
  "first_awarded": 1377712281.0,
  "percent_earned": 0.21321961620469082,
  "image": "https://badges.fedoraproject.org/pngs/koji-if-you-build-it-05.png"
}

Presenter Notes

Assertion

  • A badge is awarded by creating an assertion
  • An assertion associates a badge with an email
  • Assertions are JSON blobs that lives at cryptic urls
  • Badge validity is checked by confirming that the JSON blob lives at the badge urls

Presenter Notes

No central authority

  • Anyone can issue badges

Who already award badges:

  • NASA
  • Disney/Pixar
  • Moodle
  • Intel
  • US Dpt of Education (soon)
  • FedoraProject.org ;)

Presenter Notes

Backpacks

  • You can export your badges to your Mozilla Backpack (http://beta.openbadges.org)
  • Backpacks are decentralized
  • Fedora Badges is technically a backpack
  • Mozilla backpack is the original one and offers widgets to display your badges on any website

Presenter Notes

Let's take a peek at Fedora Badges !

Presenter Notes

Leaderboard

Presenter Notes

IT'S OVER NINE THOUSAAND BUILDS !

Presenter Notes

All badges

Presenter Notes

Profile

Presenter Notes

Behind the scene

Presenter Notes

How does it run ?

Fedora Badges relies on 5 components of Fedora Infrastructure:

  • fedmsg
  • datanommer
  • fedbadges
  • tahrir-api
  • tahrir

Presenter Notes

Fedmsg

  • Message bus that links every Fedora services together
  • Any action in Fedora services triggers a message
  • http://fedmsg.com

Presenter Notes

Datanommer

  • Persistence layer of fedmsg
  • Consumer that stores messages in a database

Presenter Notes

Fedbadges

  • Hooks Tahrir component into fedmsg
  • Contains badges criteria as YAML files
  • http://infrastructure.fedoraproject.org/infra/badges/rules/
  • https://github.com/fedora-infra/fedbadges

Presenter Notes

Tahrir-API

  • Database model for Fedora Badges
  • Database connector API
  • Powered by SQLAlchemy
  • https://github.com/fedora-infra/tahrir-api

Presenter Notes

Tahrir

  • Web application to view your (and your friends) badges
  • Allows exploring available badges
  • "Realtime" charts
  • Powered by Pyramid
  • https://github.com/fedora-infra/tahrir

Presenter Notes

Overview

Presenter Notes

I CAN HAZ ?

  • System-agnostic: not really tied to Fedora
  • Can be configured to use any openID provider

In the future:

  • Pluggable authentication
  • More customizable themes

Presenter Notes

In the Future ?

Presenter Notes

Broaden the scope

  • End-user might gain badges while using their distro
  • Desktop notifications
  • Anyone could award badges like You made 's day!

Presenter Notes

Moaarrr badges

  • Since it's official launch, contributors are suggesting new badges
  • We need to define a badge creation process
  • When you suggest a badge, you get a badge too !
  • https://fedorahosted.org/fedora-badges

Presenter Notes

Acknowledgments

Presenter Notes

Ralph Bean -- Fedora Badges lead

Presenter Notes

David Gay -- Fedora Badges intern

Presenter Notes

Mairin Duffy & Jennifer Kotler -- Fedora Design Fairies

Presenter Notes

And all the guys from Fedora Infrastructure Team

Presenter Notes

Q/A

Presenter Notes