It has been a little while since I last talked about Ubuntu Accomplishments, but there has been ferocious work going on in the project. The new release includes a number of important features and refinements.
The goal of the 0.3 has been to focus on quality. Our intention here was to raise the reliability and quality of the core system and provide another good solid iteration towards a 1.0 release. As such many of the features in this release are not particularly visible, but you can really feel the improvement in quality.
Let’s first take a look at the end-user improvements. Firstly, we improved the My Trophies view to include filtering to show you the different collections as well as which trophies you got most recently:
A core philosophy with the project is to keep our interface clean and uncluttered.
These new filters make it much easier to navigate your trophies when you have a large collection. It also makes the client feel more dynamic when displaying trophies in chronological order (this is grouped by ‘Today’, ‘This Week’, ‘This Month’, ‘Last Six Months’ etc).
Thanks to s-fox we now have Social Media integration build into the client. When browsing your trophies you can click one then click the Share button to easily share it across your social networks. This integrates neatly with Gwibber so it uses your online accounts settings.
A large chunk of the 0.3 cycle was spent by the awesome web team building a web front-end for displaying and browsing accomplishments. Thanks to Janos Gyerik and Gabriel E. Patiño for their extensive work on this code-base.
An in-development shot of the web gallery.
This web gallery will eventually be visible at
trophies.ubuntu.com. The code lets you browse different opportunities, view the documentation, and then also show your trophies to others. We integrated support for the web gallery into the desktop app to switch on support for this with a single click (you have to opt-in to share your trophies online).
We have all kinds of interesting plans for building in social functions into the web interface to help make our community feel better connected in terms of what people work on and how people can find help in participating. I am really looking forward to seeing this deployed in a production environment in the next few months.
In addition to this work we also added a number of new accomplishments to continue extending the system to cover as much of the community as possible.
A big chunk of the work in this release however was much less visible with the goal of assuring quality.
Thanks to Matt Fischer we now have a comprehensive suite of unit tests. We are now regularly running these tests and running them against new contributions to assure the quality of our code-base and not regress.
We also did a full review of our API, and we tidied up our code-base significantly. Creating effective APIs is hard and intensive work, and thanks to Rafal Cieslak for his excellent efforts in driving much of our API clean-up. We have a far more mature API now.
As part of this work in assuring quality I spent some more time hacking on a tool I wrote to check the quality of our accomplishments (the tool is
accomplishments-battery). I pretty much re-wrote it for 0.3, added different output formats, included checking for accomplishment schema completeness, and made it more modular. We use this tool to run a full daily check of all accomplishments to ensure they work correctly.
A test run on the Ubuntu Member accomplishments.
We as a team also spent a lot of time generating API documentation both for contributors and for accomplishments writers. We want to provide two types of documentation: docs for people consuming the technology to write clients and accomplishments as well as docs for people who want to hack on the core accomplishments system. This is still on-going work, but we are in much better shape than we were.
Part of our documentation designed for client authors.
We also vastly improved our documentation for how people contribute to the project.
Trying The Release
To get started using the release, please see our installation instructions. You will need to be using Ubuntu 12.04 or later to use the 0.3 release. Fortunately, the most recent versions of our flavors (e.g. Xubuntu) can now also run Ubuntu Accomplishments too!
If you have any questions, feel free to post them using our Ask Ubuntu tag, or ask in our support channels (more on this below).
Our next step is to get the system production ready. I have tasked Michael Hall on my team to take this pretty mature code-base and deploy it in a production environment and work with the Canonical IS around these logistics (the IS team has already approved this work). Michael will be working on getting the system up and running over the coming weeks. This will include both the validation server and the web gallery.
While this work is going on we hope to have a preview version of
trophies.ubuntu.com ready to go. We already have the integration with the desktop application in the code-base (just not exposed in the user interface). We will then continue to refine our core system, grow our library of accomplishments and start rolling the system out to our wider community. Exciting times!
We need your help though! If you are a programmer, tester, writer, translator, or just want to help in another way, please our getting involved page, join our mailing list, and be sure to join our IRC channel in
#ubuntu-accomplishments on Freenode. We hope to see you soon!
Thanks to Rafal, Matt, s-fox, and the many other folks who helped make this release such a success!