Canonical Voices

Posts tagged with 'ubuntu accomplishments'

jono

At the beginning of the 13.04 cycle one of the plans I put in place for my team was the deployment of Ubuntu Accomplishments as a production service for our community. This work involves the following components:

  1. Deploying the validation server on Canonical hardware and managed by the IS team.
  2. Deploying the web gallery to trophies.ubuntu.com.
  3. Updating the client to support publishing to trophies.ubuntu.com (publishing is not switched on by default and has to be enabled).
  4. Packaging and releasing the daemon and viewer in the Ubuntu Software Center.
  5. Performing a round of QA and testing to ensure the quality of the release is high.

I just wanted to provide a quick update on this.

Canonical IS recently provisioned the machine that the validation server and web gallery will run on. Yesterday Michael Hall and I re-deployed the validation server on a CanoniStack instance to ensure the deployment instructions worked correctly. Mike then went onto deploy the web gallery and update the deployment instructions there. We expect IS to deploy this in the next few weeks and then I will shut down to current validation server that is running on my own Bytemark server. Thanks again to Bytemark for providing the server for free to support the project!

You can see a live demo of the current web gallery by clicking here (this shows my own set of accomplishments); also see Michael Hall’s accomplishments as another example. Clicking on an accomplishment shows more information about it and you can also view all opportunities online too. There is still work to be done, but good progress is being made. :-)

Share your community achievements with the world!

There has been active discussion around the packaging requirements for the software in the Ubuntu Software Center. Michael is coordinating these needs with Rafal so any required changes can be made. One challenge here is how DBUS works with the daemon. Thankfully, didrocks is supporting Rafal to achieve this work. One way or another, there will be Ubuntu Accomplishments available for Ubuntu 13.04 (not installed by default but installable from the Ubuntu Software Center. :-)

In other news, Matt Fischer and Chris Wayne have built support in Ubuntu Accomplishments for the Fitbit; the awesome little personal fitness device. This is not a commercial service or engagement; just adding support to see your Fitbit badges in your Ubuntu Accomplishments viewer. With this you can find out more information about how to achieve the different Fitbit badges right within Ubuntu Accomplishments. It looks like this:

Getting fit wasn’t fun…until now!

What is neat about this is that this support makes use of the Online Accounts feature in Ubuntu, so you simply authenticate with your Fitbit account and then you are good to go. Read more about this from Matt, from Chris, and from Rafal.

Getting Involved

Ubuntu Accomplishments in Ubuntu 13.04 is going to be an awesome feature and achievement for the project. While it won’t ship by default in Ubuntu 13.04, it will only be a click away in the Ubuntu Software Center.

To make this first major release as good as it can be, we need help! Thankfully, there are lots of ways to help, such as:

You can also find out how to get the development branch set up and if you have any questions feel free to reach out in #ubuntu-accomplishments on Freenode or on our [mailing list](https://wiki.ubuntu.com/Accomplishments/GetInvolved/DevelopmentSetup.

Please feel free to ask any questions in the comments!

Read more
jono

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.

Quality

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).

Next Steps

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!

Read more
jono

Today I put together a short video showing the evolution of the Ubuntu Accomplishments code base:

Can’t see the video? See it here!

Thanks to everyone who has joined the Ubuntu Accomplishments family to help out! We still need more help though, so come and join us!

Read more
jono

Just a quick reminder to you lovely people that we will be having some live video tutorial sessions over the next few days that explain how Ubuntu Accomplishments works and how to get involved in the project.

You can join all of these sessions at http://ubuntuonair.com/. The schedule is below:

Also, next week we are doing some live video sessions designed for new contributors. The schedule is below:

Date

Time (UTC)

Session

Summary

Session Leader

Tues 7th Aug 2012

6pm

Introduction For Contributors

In this introductory session, Jono will provide a short history of the project, discuss how the system works, the different components, how accomplishments work, and other content that helps give you a grounding in how to contribute.

Jono Bacon

Tues 7th Aug 2012

7pm

How The Daemon Works

In this session, Rafal and Matt will explain how the daemon works, how the code is structured, how the client talks to the daemon, how Twisted is integrated, and how you can contribute and help to fix bugs and add features.

Rafal Cieslak / Matt Fischer

Tues 7th Aug 2012

8pm

How the Viewer Works

In this session, Rafal and Jono will explain how the GTK viewer works, how it talks to the daemon, the different views, how preferences are handled, how translations are supported, and how to contribute and fix bugs and add features to the viewer.

Rafal Cieslak / Jono Bacon

Wed 8th Aug 2012

6pm

Writing Your First Accomplishment

In this session Jono shows you how to create your first accomplishment that can be used as part of the Ubuntu Accomplishments system. The session will cover how to write the documentation, how to create the script, adding a test, ensuring everything works, and then how to contribute it back to the project.

Jono Bacon

Wed 8th Aug 2012

7pm

Contributing Accomplishment Documentation and Translations

In this session Jono will show how you can improve the documentation for the accomplishments that are part of the system, and how you can also translate the application and documentation into your own language. This is a fantastic opportunity for Ubuntu fans to contribute fantastic content!

Jono Bacon

We would love to welcome you to come and join! You can find out how to help with the project by clicking here. If you have any questions, don’t hesitate to ask in our IRC channel on #ubuntu-accomplishments on freenode and on our mailing list.

Read more
jono

Progress on Ubuntu Accomplishments has been moving apace. For those of you who have not been keeping score, we released 0.1 earlier this year which provided a first cut of the core system working. We then followed up with our 0.2 release which brought many refinements to the system based upon user feedback and the increased level of testing by our 600+ users. In September 2012 we plan on shipping our 0.3 release, and our goals are very clear for this release: quality, visibility, and growth.

With these goals we want to take Ubuntu Accomplishments from a casual code-base that generally works, to a professional, rock-solid, predictable, well-tested system that assures a great experience for our users. In a nutshell, we want the quality of Ubuntu Accomplishments to be high, and for us to be able to more easily identify problems and get them fixed.

Another core goal of the new release is to help bring visibility to our community’s contributions. In Ubuntu Accomplishments 0.2 we provided a great way for our community to browse different opportunities and to acknowledge when these opportunities were achieved. These opportunities that are presented in the system are grounded in the acquisition of new skills and significant and sustained contributions*.

0.3 will bring easier browsing of your trophies.

The next step in our evolution is to help our community to share their accomplishments with others, and be able to socially connect with other people who have achieved similar things. This is something I have been thinking a lot about recently. We won’t pitch our community members against each other with leader-boards (as this can have a negative impact on a community), but we are more interested in connecting people. For example, if someone achieves the Ubuntu Member trophy we want to have the system help put them in touch with other Ubuntu Members to help grow their social circle and meet other like-minded people.

Finally, as our project matures, we are going to need to grow our community to help build this high quality, dependable, and enjoyable vision. I want Ubuntu Accomplishments to continue to be a great example and re-incarnation of the Ubuntu values: delivering a great Free Software experience, available to all, in your language, and available to everyone irrespective of (dis)ability.

For us to build this growth in our community we need to help new members to join our community and get involved, provide mentoring and guidance, and help people to be part of the Ubuntu Accomplishments family. And I tell you what, we have a nice little family growing here, and we would love you to be part of it. :-)

So what have we been doing in these areas? Well, read on…

0.3 will also bring integration social media sharing.

Quality

Our goal in terms of quality for 0.3 is for us to refine and improve the quality and predictability of our code-base and service. This includes:

  • Matt Fischer has built nearly complete unit test coverage for the accomplishments daemon. This means new code contributions will only be accepted if all tests pass, as well as test runs before we release. We welcomed Matt as a new core committed to the project last week and he is doing a stunning job.
  • Rafal Cieslak re-wrote the script-runner code to be more dependable and reliable.
  • I went through the entire system and triaged all bugs and targeted them for the 0.3 release (daemon : viewer). The majority of these bugs are quality issues that we want fixing to increase the quality and stability of our codebase.
  • Rafal Cieslak and I went through and added API documentation for the daemon as well as the client API. This will make it much easier for developers to write clients and for people to participe in development of the daemon. I then built sphinx support (this support is included in the archive, and is temporarily online here, although we will be finding a more permanent base for the documentation soon.
  • I added filtering for My Trophies to make it easier to browse trophies by collection and by time (e.g. seeing which trophies you received this week).
  • Rafal Cieslak (based on discussions with James Tatum) has added caching to Ubuntu Community Accomplishments that speeds up the running of accomplishments checking by 50 – 75%. This provides more efficient use of network, battery, and remote server resources.
  • Matt Fischer has been working through various bugs in the Ubuntu Community Accomplishments and helping to review merge proposals from our community as it grows.
  • I went through the validation server and got it in shape and refined the full code base. I also wrote a Django-based admin interface to give the team better visibility when there are server issues so we can track bugs down.

In addition to this work, I just kicked off a discussion with the Canonical IS team to deploy the service in the Canonical data center which will assure better service provision for the validation service.

Visibility

In terms of visibility we have had a wonderful team working on making your accomplishments more visible. This work has included:

  • Janos Gyerik and Gabriel have been building what will eventually become trophies.ubuntu.com; a web-based gallery (based on a spec I put together) that you can optionally use to display your trophies. Janos and Gabriel have doing stunning work here.
  • Brandon Holtsclaw has been working on the CSS for the gallery and we will be providing mobile device and tablet support (see the spec) for the gallery.
  • s-fox also added social media support to the desktop viewer so when you get an accomplishment you can Tweet/Dent/Facebook it with a single click.

Growth

A core goal over the coming months is to get more folks interested in joining the project and getting involved. Fortunately there is something that anyone can do to contribute, be it programming, documentation, translations, support, or anything else. To help with this we have been doing the following:

  • I spent some time significantly improving the documentation for how someone joins the project. You can read about it here with guides for getting involved in programming, documentation, testing, translations, and support.
  • Next week Rafal Cieslak, Matt Fischer, and I will be running a series of video tutorials for how to get involved in Ubuntu Accomplishments. You can see the schedule by clicking here – there are sessions on the general project, the daemon, the viewer, writing new accomplishments, and writing documentation and translating the project.

Join Us!

We mentioned earlier, we are looking for volunteers to help with the project, and we would love to welcome you to come and join! You can find out how to help by clicking here. If you have any questions, don’t hesitate to ask in our IRC channel on #ubuntu-accomplishments on freenode and on our mailing list.

Also, next week we are doing some live video sessions designed for new contributors. The schedule is below:

Date

Time (UTC)

Session

Summary

Session Leader

Tues 7th Aug 2012

6pm

Introduction For Contributors

In this introductory session, Jono will provide a short history of the project, discuss how the system works, the different components, how accomplishments work, and other content that helps give you a grounding in how to contribute.

Jono Bacon

Tues 7th Aug 2012

7pm

How The Daemon Works

In this session, Rafal and Matt will explain how the daemon works, how the code is structured, how the client talks to the daemon, how Twisted is integrated, and how you can contribute and help to fix bugs and add features.

Rafal Cieslak / Matt Fischer

Tues 7th Aug 2012

8pm

How the Viewer Works

In this session, Rafal and Jono will explain how the GTK viewer works, how it talks to the daemon, the different views, how preferences are handled, how translations are supported, and how to contribute and fix bugs and add features to the viewer.

Rafal Cieslak / Jono Bacon

Wed 8th Aug 2012

6pm

Writing Your First Accomplishment

In this session Jono shows you how to create your first accomplishment that can be used as part of the Ubuntu Accomplishments system. The session will cover how to write the documentation, how to create the script, adding a test, ensuring everything works, and then how to contribute it back to the project.

Jono Bacon

Wed 8th Aug 2012

7pm

Contributing Accomplishment Documentation and Translations

In this session Jono will show how you can improve the documentation for the accomplishments that are part of the system, and how you can also translate the application and documentation into your own language. This is a fantastic opportunity for Ubuntu fans to contribute fantastic content!

Jono Bacon

Everyone is welcome to join these sessions, just go to this page at the times above, and feel free to ask as many questions as you like!

Read more
jono

As some of you will be aware, we have working on a project called Ubuntu Accomplishments in recent months. We are making good progress with the project and are working to our 0.3 release. The goals of this release will be:

  • Assure quality and stability in the platform.
  • Provide the ability to publish your accomplishments online.
  • Expand our range of accomplishments.
  • Expand and improve the documentation for our accomplishments.
  • Provide a greater breadth of translations coverage.

As we head towards these goals we are looking for volunteers to join the project and help make the magic happen. We are a very open and welcoming community, friendly and personal, and as such a fun place to get involved if you are looking for an Open Source project to join. We are very welcome to new-comers, so if this would be your first project, come and join us!

The goal of Ubuntu Accomplishments is to provide an awesome way in which new and existing community members can explore and learn how to participate as well as making it easier for our users to discover how to use different parts of their computers.

We are on an exciting journey, and I would love to encourage you to join us.

Who can Help?

If your interest is piqued, we can definitely find something you can do to help the project. Some examples:

  • Programmers – we are very much in need of folks who can help contribute code to the project. Ubuntu Accomplishments is written in Python and you can find out more about how to contribute here, which includes our hacking guide, and all the details for getting up and running.
  • Documentation Writers – we need folks to help create documentation for our growing family of accomplishments. If you have a knowledge of the community and of Ubuntu, this is a great way to help! Find out how to help here.
  • Translators – we are always looking for people to help translate not only the core system, but also all the documentation in the accomplishments. All you need to know is how to use Launchpad a little and know a second language. Find out how to help here.
  • Testers – as we continue to grow and evolve our code-base, we are looking for daily testers who can help us to ensure we are resolving and fixing defects in the project. To help here you just need to be using the bleeding edge code and performing regular tests and reporting bugs and issues with it. Find out how to help here.
  • Support – as our user community continues to grow, we are looking for folks to come and help answer questions, resolve issues, and grow our body of knowledge about the project. To help here you just need to know about how Ubuntu Accomplishments works and be able to answer questions and resolve our user’s issues. To find out how to help, click here

You can also help by creating new accomplishments for the system (more details of how to do that here) and I will be following up with a post about this soon.

How do I get Started?

First choose which area you are interested in and click the links above to find more details of how to get involved.

We would also like to invite you to our fortnightly team meetings. The next one takes place tomorrow, Thursday 26th July 2012 in #ubuntu-meeting on freenode at 6pm UTC / 11am Pacific / 2pm Eastern. I hope you can join us!

You can also join us in our IRC channel in #ubuntu-accomplishments on freenode and join our mailing list.

If you have any questions, such as how to get started, how to learn what you need to contribute, what to work on, or anything else, feel free to come and join us in the IRC channel our mailing list, or feel free to ask questions in the comments here.

Read more
jono

With the Ubuntu Accomplishments project continuing to grow with work now firmly going into the 0.3 release, fixing bugs, and working on a web gallery for trophies and opportunities, there is a lot of exciting work going on.

It is really important that we can grow a healthy, diverse, and welcoming Ubuntu Accomplishments community. As such, to get the ball rolling in growing our contributor community, we are going to be having online IRC meetings every two weeks.

The first one is today/tomorrow (based on where you are) on Thurs 28th June 2012 at 6pm UTC (7pm UK / 11am Pacific USA / 2pm Eastern) in #ubuntu-meeting on freenode IRC.

So who is the meeting intended for?

Everyone!.

The meeting is an opportunity for us to meet as a team, discuss progress, discuss challenges, assign and agree on work and more. We would like to invite those of you who want to participate to join us too. We need help in many areas…programming, documentation writing, testing, translations, and more. Be sure to join us!

You can also join us in our IRC channel in #ubuntu-accomplishments on freenode and on our mailing list.

Read more
jono

Last week we released the 0.2 release of Ubuntu Accomplishments. As is typical with a new release, as soon as it comes out and you are busy with the post-release bits and pieces, the rest of your life grabs you by the scruff of your neck too. This has been a hectic week to say the least.

I just wanted to report on something I think is pretty cool.

Below is a graph of the number of new users over time:

…and here is a graph of the number of trophies awarded over time:

It is great to see some hockey sticks in there: obviously the hockey stick head is where the new release came out. With this only being our second release, it still being an early 0.2 version, and not a tremendous amount of publicity behind it (just a bit of social media here and there), I am really proud of how many of you decided to give the system a try.

Fortunately, we have had relatively few bugs reported too; and we are getting on top of these bugs and planning for the 0.3 release.

So what can you expect in 0.3? This release is going to continue our focus on getting more and more coverage of community and desktop accomplishments, and we are also hoping to have a web interface to your accomplishments so you can show them off to your friends. Here is an early screenshot of this work in action:

This is a very early first cut, but the web gallery team are making tremendous progress.

We also want to continue to tighten up the reliability and performance of the system and ease the ability for application developers to add support for accomplishments to their apps.

Stay tuned for more details of 0.3 plans soon. If you want to help out, be sure to join us in #ubuntu-accomplishments on freenode and on our mailing list.

Read more
jono

Today I am delighted to announce the availability of our second Ubuntu Accomplishments release: version 0.2. You can read more about the release below, or the impatient among you can install it. You will need to be running Ubuntu 12.04 to use this release (Ubuntu 12.10 packages are being worked on).

Please Note: 0.1 users will need to upgrade to 0.2 as 0.1 is no longer compatible with the validation server. That is the nature of 0.1; it is now dead to us…backwards compatibility will come after we release a 1.0 down the line. :-)

There is a lot that is new in this release, and a lot more maturity and stability. We are also introducing our first release of the Ubuntu Desktop Accomplishments for desktop-related opportunities and trophies. Our Ubuntu Community Accomplishments collection has also been significantly expanded with over 100 opportunities, and full support for Ask Ubuntu badges.

For a full summary of what is new in this release, see this video that I put together:

Can’t see the video? Watch it here!

Thanks to our wonderful team of contributors; I am hugely proud to see that an idea that turned into a spec has developed into a mature application for our community and beyond, and that we are growing a really nice community of contributors.

So…go and install 0.2 and ask questions here. If you want to contribute, be sure to join us in #ubuntu-accomplishments on freenode and join our mailing list!

Read more