This is an accomplishments system that can be used to identify when people have accomplished various things in the Ubuntu project and reward them with trophies. The plan also makes additional skills and accomplishments more discoverable and provides better help for people to get started. While designed for Ubuntu, the system can be used for other projects and also for local applications (e.g. completing Level 1 on a game). Accomplishments in community projects are verified for their integrity so people can’t fake their trophies.
I wanted to present a video demo of the system working so far:
Can’t see it? See the video here!
You can find out more about the project here and the code is available in the following branches:
lp:ubuntuaccomplishments– contains the main trophy viewer app, the daemon, and the libaccomplishments Python module.
lp:~jonobacon/ubuntuaccomplishments/ubuntu-community– a collection of Ubuntu accomplishments for different things you can accomplish in the Ubuntu project. There are only two accomplishments right now – can you help write more?.
lp:~jonobacon/ubuntuaccomplishments/validation-service– the server-side verification service that runs on an Ubuntu One headless machine.
Now, this is really early in the stages of development. If you grab the code you will find various bits that are not yet implemented, but the core idea works.
Things we need to do next:
- Generate the user’s trophy directory and share it with Ubuntu One. I have the code written to do this, I just need to merge it in.
- Add a Getting Started page which asks the user if they want to use verified trophies that use Ubuntu One.
- Fix support for machine-verifiable trophies that are dependent on others.
- Actually sign the trophies.
- Implement the categories filter in the My Trophies view.
I plan on writing a longer blog entry about how the system works later for those who are interested in contributing.