Ubuntu Accomplishments System Spec

Some time ago I was kicking around some ideas about how we reward our community for different types of contribution. While Launchpad karma is useful for indicating who has been working on code, bugs, translations, and specs, it doesn’t cover a wide variety of community contributions and is also not a particularly exciting way of visualizing these achievements. I believe that many folks really want to feel a sense of ownership over their accomplishments, be it as simple as reporting a bug or as complex as contributing a package upload.

As such, I started developing some ideas around a trophies-like system for Ubuntu contributions. I was keen though for this not to be a pointless achievement system. As an example, contributing 100 bug comments is not necessarily and indication of an accomplishment, but instead an indication of traffic (all those comments could be garbage). I think it is much more important for such rewards to be tangible affirmations of a quality contribution. As such, this system is called an Accomplishment System and is more focused on things you do in Ubuntu that are accomplishments in your contributions.

Fortunately, around the time of having this idea, Stuart Langridge was visiting Erica and I with his daughter. We did what we normally do: stay up until 4am discussing an idea and fleshing out the details and then I started writing everything down into a document. We then discussed it with Daniel Holbach and I discussed it furthewr with Randall Ross (LoCo community) and Jim Campbell (Ubuntu Docs Team) and at that point the idea stalled while we got busy with the release.

I now want to present the idea thus far with you all and to invite discussion, and more importantly, to motive some of you coders who are interested in the idea to consider writing some code to implement it. Stuart wrote a proof of concept which is something that could be built upon.

To get things rolling, I have put the spec so far on the wiki, complete with all my mock-ups, and I registered a blueprint for a UDS session which I hope to see some of you participate in.

If you are interested in implementing this vision (particularly if you are a Python coder, let me know in the comments!

  • Greg Grossmeier

    Hey Jono (and Stuart, and Daniel, and Randall, and Jim). This sounds very much like a badging system, no?

    If you agree, and you would like to use infrastructure that is already in place for people to acquire and track their badges, check out the OpenBadges work by the Mozilla Foundation: https://wiki.mozilla.org/Badges

  • Anonymous

    Which of the bits that Jono described are working in Mozilla Badges already? It looks to me like we need to figure out things like person A is ~person-a on Launchpad still and then test if they triaged their first bug already or did whatever else. Particularly the repository of tests is something that has to be done anyway.

  • http://feathertail.dreamwidth.org/ Tachyon Feathertail

    I love this idea.

    And I was going to suggest OpenBadges too. Making Ubuntu’s (Launchpad’s?) system compatible would empower developers down the road, in so many ways.

  • http://twitter.com/alourie Alex Lourie

    It seems that openbadges.org is still in its inception. It may be quite useful to coordinate with them, but it is also possible that an app built by Ubuntu community can switch backend at some point.

    I really like this idea and I would be interested to participate in this project.

  • http://sensehofstede.nl/ Sense Hofstede

    Nice idea! Since I’m looking for something to start Ubuntu development again, I am interested in helping out with this project. I’ll keep an eye open for it!

    Apart from OpenBadges, there is also GNOME Achievements, from the Hamster Applet guys: https://github.com/tbaugis/gnome-achievements/wiki/ It seems like a nice thing to integrate with, since it already has code in place. Also, it would make GNOME people happy. ;)

  • http://twitter.com/alourie Alex Lourie

    Wouldn’t those be sort of Gnome-specific? That wouldn’t play well with “Human-awarded” badges.

  • Jonathan Jesse

    Here’s my 1st reaction… This seems all geared to Ubuntu only not any of the derivatives (Xubuntu, Kubuntu, etc) as the spec on the wiki references Lenses and other portions of the Unity infrastructure.  If indeed we are rolling out a badge or achievement system it seems to be over limiting to focus only on Ubuntu not the sponsored or core (however you want to call them) derivatives.  Great we have badges to help get people involved in Ubuntu, but nothing to help people to get involved in Kubuntu work making it once again the blue-headed step child of the ecosystem.

  • https://launchpad.net/~jwcampbell Jim Campbell

    Hi Jono, In looking at the specification, I’m not so sure that the Mallard-based examples that we talked about would work so well here. It might be possible – I’ll see if I can chat with Stuart to go over a few things.

  • https://launchpad.net/~jwcampbell Jim Campbell

    This is a good point. It seems like an Ubuntu-One client for KDE would be a prerequisite for having this available on Kubuntu.

  • Jonathan Jesse

    Ah if only Ubuntu Single Sign On would function so we could have a KDE/Kubuntu client that works well.  I refer back to the blue-headed stepchild comment

  • http://www.kryogenix.org/days/ sil

    Happy to :)

  • http://about.me/nlsthzn Neil Oosthuizen

    Similar concepts started popping out in the gaming scene a while back… To be honest I have never revisited a game to see if I could get more “badges”, I played it because it was fun and stopped when it wasn’t.  I suspect the same would be valid here…

  • https://launchpad.net/~jwcampbell Jim Campbell

    Hey Jono and Stewart, I just wanted to let you know that I worked-up a couple of sample awards using Mallard, and wasn’t enthused with how things turned out.

    I like using Mallard, but just don’t think it would be appropriate for this. We would have to bend things a little too much.

    Let me know if you have any questions, or if you’d like to see my examples.