ARTICLE

Ubuntu Accomplishments Update

by | Thu 16 Feb 2012

The [last time](https://archivedblog.jonobacon.com/2012/02/10/ubuntu-accomplishments-video-demo/) I posted about my little project I [shared a video demo](https://archivedblog.jonobacon.com/2012/02/10/ubuntu-accomplishments-video-demo/) of the work so far. I am pleased to report that I have made some further progress.

A key part of the design of the accomplishments system is that it supports two types of accomplishment:

* **Local** – these are things you can achieve on your computer. Examples of this could include: sending your first email in Thunderbird, configuring your chat client, changing your wallpaper etc). I have a small library applications can use for this.
* **Machine Verifiable** – these are things you can accomplish within the context of a community (e.g. becoming an Ubuntu Member, filing your first bug etc). These achievements are verified by a third party server to avoid people faking their trophies.

Although support for the former works, I have been really focusing on the latter *Machine Verifiable* accomplishments. I am pleased to report that this works fully end-to-end now. It works like this:

* When you start the app we ask for your permission (as we are syncing data to a third-party machine).
* When you agree to this the app creates your trophies directory, creates an Ubuntu One share and syncs it with the server. I have written some scripts for the server that scans the shares and approves them.
* The app then runs the different accomplishments scripts and when you achieve something it is synced to the server, verified and then returned. It then appears in your list of trophies.

With the exception of some loose edges, this is all basically working, and even runs on someone else’s machine than mine. 🙂

To get this rolling I wrote a bunch of additional accomplishments that use [launchpadlib](https://help.launchpad.net/API/launchpadlib) to give you a trophy if you have certain roles in the community (currently, Ubuntu Member, MOTU, core-dev, and a member of a LoCo Team).

A pretty cool feature here is that these accomplishments have dependencies. As an example, you need to complete the *Register a Launchpad Account* accomplishment before you can complete the *File a Bug* accomplishment (as you need a Launchpad account to file a bug). As such, accomplishments that you can’t access yet are listed as locked and unlocked when you have satisfied their dependencies. This helps us to develop a journey for how people learn new experiences and participate in the community.

You can now filter available opportunities by locked or unlocked – this makes it easier to see what you can do right now. I also prettified the interface somewhat and ripped out some of the clunky pieces of my very first implementation. With the addition of the extra accomplishments you can also see the additional categories.

This is how it looks so far:

I am hoping to release a video demo of this soon.

I will also be opening up a call for testing and accomplishment contributions when I nail a few final bugs. Stay tuned, folks!

Thanks to William Grant for his launchpadlib help recently.

An invitation-only accelerator that develops industry-leading community engagement and growth via personalized training, coaching, and accountability...all tailored to your company's needs.

Want to read some more?

Happy Holidays

Happy Holidays

Just a quick note to wish all of you a happy, restful, and peaceful holidays, however and whoever you spend it with. Take care, folks, and I look forward to seeing you in 2015!

The Impact of One Person

The Impact of One Person

I am 35 years old and *people* never cease to surprise me. My trip home from Los Angeles today was a good example of this. It was a tortuous affair that should have been a quick hop from LA to Oakland, popping on BArt, and then getting home for a cup of tea and an...

Feedback Requested: Great Examples of Community

Feedback Requested: Great Examples of Community

Folks, I need to ask for some help. Like many, I have some go-to examples of great communities. This includes Wikipedia, OpenStreetmap, Ubuntu, Debian, Linux, and others. Many of these are software related, many of them are Open Source. I would like to ask your...

Ubuntu Governance Reboot: Five Proposals

Ubuntu Governance Reboot: Five Proposals

Sorry, this is *long*, but hang in there. A little while back I wrote [a blog post](https://archivedblog.jonobacon.com/2014/11/14/ubuntu-governance-reboot/) that seemed to inspire some people and ruffle the feathers of some others. It was designed as a...

Ubuntu Governance: Reboot?

Ubuntu Governance: Reboot?

For many years Ubuntu has had a comprehensive governance structure. At the top of the tree are the Community Council (community policy) and the Technical Board (technical policy). Below those boards are sub-councils such as the IRC, Forum, and LoCo councils, and...

Dealing With Disrespect: The Video

Dealing With Disrespect: The Video

A while back I wrote and released a free e-book called [Dealing With Disrespect](https://www.dealingwithdisrespect.com/). It is a book that provides a short, simple to read, free guide for handling personalized, mean-spirited, disrespectful, and in some cases,...