Attending The Next UDS Remotely

Attending The Next UDS Remotely

I just wanted to let you folks know that unfortunately I won’t be joining you in person at the next [Ubuntu Developer Summit](https://uds.ubuntu.com/) in Copenhagen in October. The timing of the event is too close for comfort to the due date for our first baby and the timing unfortunately means I can’t attend UDS without risking missing the birth.

Much as I am hugely excited about being a father, I am also really disappointed I won’t be there at UDS in person. UDS is one of my favorite places to be in the world, and although I won’t be there in person, if the baby is not born yet, I will be there [remotely](https://uds.ubuntu.com/community/remote-participation/) and working European hours from California. Sleep is for the weak.

In terms of logistics, I have asked *Daniel Holbach* to run the community track in my absence as well as *Nicholas Skaggs* running the QA track and *David Planella* running a new *App Developers* track. We recently finalized the sponsorship list for the event and it is going to be a fantastic UDS – I look forward to seeing you there remotely!

Opening Ubuntu Up To the World

Opening Ubuntu Up To the World

Recently I have been working with *David Planella* and *Michael Hall* on my team around a [new specification](https://wiki.ubuntu.com/AppDevUploadProcess) for empowering app developers to deliver their content in Ubuntu. This post provides some background information around this work and the problem it seeks to solve.

Like many of you, I am hugely proud of the progress we have made with Ubuntu over the years. We have worked together to create a simple, powerful experience underlined with the foundation of our core Ubuntu values of creating a free platform, available to all, in your language, irrespective of (dis)ability.

While our platform has been growing and maturing, in recent years we have been presented with a new challenge that we need to solve: *making it simple for content creators to deliver their content in Ubuntu*.


Ubuntu is not the only thing that is maturing. Mother nature needs a helping hand to keep this solid slab o’ Bacon in it’s prime.

## A Little History

When Ubuntu was started the competitive landscape was very different. We focused on being the best Linux distribution we could and making Ubuntu as powerful, reliable, and flexible as possible. Back then our primary competition was Microsoft with their Windows platform, but we could compete there by making our own, better platform. Ubuntu was faster, more secure, had more choice and other benefits. With these benefits we started to grow.

The competitive landscape today is very different. No longer are we content with *just being the best Linux distribution*, but we are going head-to-head with Apple, Microsoft, and Google with IOS, Windows, and Android respectively. It is not enough to just make a better, more stable, and more reliable platform these days; a reasonable assertion of success is giving users the *content* that they want.

To a large extent this boils down to *applications*. People don’t just choose their devices and platforms on the competence of the platform, but also on the apps (often specific app brands) that they want to do their work, manage their lives, and relax.

And here lies the challenge.

A few years ago we identified that we have a problem in Ubuntu with the complexity and expectations of how app developers get their apps into the *Ubuntu Software Center*. Please note: in this post I am referring to Free Software and Open Source apps; commercial app developers can submit their applications and have them reviewed by Canonical and this works pretty efficiently. The challenge here (ironically), is with Free and Open apps.

Now, when I say *app developers* here, I am not just referring to the upstreams that we know and love who already have a close relationship with Linux distributions such as Ubuntu. I am instead talking about the long tail of app developers who frankly don’t really care about the Operating System but just want to deliver their applications on it. These folks are typically excited by Ubuntu and the opportunity of Ubuntu, but they don’t want to be involved in the nitty-gritty of how Ubuntu is built; they care about Ubuntu merely as a platform to get their apps out to more users. There are literally thousands of application developers out there like this and I believe that for Ubuntu to be successful, we need to engage and empower these users.


No longer can we merely fall back on Hungry Hippos to engage and empower our users.

When we discussed this a few years ago we identified the following problems with our current processes for getting apps into the platform:

1. Application developers could not deliver their apps to the stable release of Ubuntu and could only get them into the development release (in preparation for the next stable release). Of course, there was the backports team that serves getting apps onto the stable release…but this leads us to the next point…
2. There was a particularly high bar to deliver your app in Ubuntu. You either had to be an Ubuntu Developer, which is a role designed for Operating System integrators (which is not of interest to app developers) or you needed to know an Ubuntu developer who could upload on your behalf (which does not scale to most app devs…we don’t have that many Ubuntu developers 🙂 ).

These approach was frankly, not all that surprising: Ubuntu inherited much of its process and workflow from how Debian works, and this process and workflow is designed for Operating System integrators and people who fundamentally care about creating and building an Operating System as opposed to *content creators* whose priority is their app and not the platform. This is not to say that app devs don’t want to harness the platform and ensure that their apps runs well, but their priority is their app and the connection points to the platform and not the platform itself.

To resolve this we put together a new process in which app developers could submit their applications to the *Application Review Board* (ARB), which is a community team that performs a security and code review and assesses the suitability of the app going into the archive (a different part of the archive called `extras`). Importantly, these applications, when approved by the ARB would be delivered to stable releases, thus solving the first bullet above.

As the years passed it became clear that despite the admirable efforts of many members of the ARB, the process was simply not set up for success. The ARB struggled to keep on top of the queue of applications that came in, and very few applications successfully got through the process. From the app developers perspective this was frustrating; their application entered the queue and typically took months to get through, if at all. Again, kudos to the ARB for their efforts, but the source of the problems was not the members of the board but the process: requiring a security and code review for every version of every app submitted was never going to scale effectively.


I wish this would “scale more effectively” too.

A good example of this was the recent [Ubuntu App Showdown](https://developer.ubuntu.com/2012/08/announcing-the-ubuntu-app-showdown-winners/). We had 133 applications submitted to the contest and the ARB buckled under the load of the reviews. If we face this problem with the relatively small number of apps coming in currently, as Ubuntu grows as a consumer-grade product, we will face this even more. Put simply: Ubuntu is *not currently optimized for the needs of free app developers in delivering their apps on Ubuntu*.

The problems with our current processes were also well known to app devs. A while back I [kicked off a campaign](https://archivedblog.jonobacon.com/2012/06/06/download-for-ubuntu-button-campaign/) with my team to encourage app developers to put a button on their websites that would provide a direct link to download the version of their software in the Ubuntu Software Center. A significant number of app devs were resistant to this as the versions in the Ubuntu Software Center were simply too old and their view was “*why would I recommend my users download the old version in Ubuntu when I can instead ask them to install this PPA or download this Deb*”.

In other words, free app developers are unable to deliver their recent releases to Ubuntu users via the Ubuntu Software Center. In my mind this means our current processes are failing them, and this will inhibit the opportunity of taking Ubuntu and Free Software to the masses.

## A New Process

To be honest with you all, this issue has been frustrating me for a while. I see it in pretty blunt terms: if we don’t solve this issue of app developers being able to deliver their content to Ubuntu, Ubuntu is simply not going to be successful. If we don’t solve this problem our users won’t want to use Ubuntu as they can’t get the apps they want and app developers won’t want to deliver apps to Ubuntu as getting them into the Ubuntu Software Center is such a nightmare or impractical.

Of course, we could continue with the traditional processes I outlined earlier, but I believe this will always relegate us to *an awesome Linux distribution* as opposed to chasing the real opportunity of bringing a Free Software Operating System to the masses with the apps that people want and a fantastic opportunity to expose Open Source and Free Software apps and the hard work of their developers to more people than ever before. People talk about the chasm and how to get over it, I believe we need to solve this issue for us to get over it.

About three weeks ago I called a meeting with my team with the goal figuring out how to resolve this. Solving this problem properly was going to mean allowing app developers to upload new releases of their apps directly to Ubuntu safely and securely without requiring the manual reviews that caused the bottlenecks with the ARB. To achieve this outcome though there is a lot of work to be done in terms of application insulation and sand-boxing, tooling improvements and other things.


The security team hard at work sand-boxing.

I first started surveying various engineering managers and engineers in Canonical to see what work they were doing along these lines to get an idea of current resourcing (as Canonical will likely need to invest most in delivering this work), and then David Planella, Michael Hall and I spent a lot of time putting together the first cut of a [proposed specification](https://wiki.ubuntu.com/AppDevUploadProcess) that would resolve this issue in Ubuntu. I am proud of the output of this work: the specification is crisp, detailed, includes clear design guidelines, and takes the reader through every layer of delivering such a vision. The specification takes into account current resourcing, and breaks the work down to the work item level that we can discuss at UDS. As part of this process we gathered a lot of input from people such as Jamie Strandboge, Steve Langesek, Michael Vogt, Matthew Paul Thomas, Allison Randall, and the the ARB. This feedback helped us to ensure that the specification is detailed, practical, and reflective of the needs of our users, while being safe and secure.

Big process discussions like this can often turn into unmanageable spidery mailing list threads that lose people when they hit a certain size. My goal here was to put together a really detailed first cut of a spec that we could first take to the ARB and then to `ubuntu-devel` and people could then discuss the specifics of the spec, debate changes, and otherwise get people together around a document and a specific approach. This could help focus the discussion on refining and improving that approach, as opposed to bike-shedding until everyone’s fingers fall off. You can read the on-going discussion [here](https://lists.ubuntu.com/archives/ubuntu-devel/2012-September/035731.html).

Like many of you, I really care about Ubuntu. I want to see us succeed, and I want to see us deliver the very goal we set out with in bringing the very best Free Software platform to the world. I think there is a tremendous amount of opportunity here, and easing how content creators such as app developers can get there content into Ubuntu will not only enrich the Ubuntu ecosystem, but provide more choice for our users and make us a more compelling platform when people choose which computer or device to use. I look forward to the discussion over the coming weeks and at UDS.

Thanks for reading!

Happy Birthday, Debian!

Happy Birthday, Debian!

Photo Credit

Like many others, I just wanted to offer my birthday wishes to [Debian](https://www.debian.org/)!

Debian continues to be the rock on which Ubuntu is built, and many thanks to the wonderful Debian community for all their wonderful work. Without Debian Ubuntu would be nothing, and I am grateful every day for not only such a wonderful project, but for having the pleasure of meeting and working with so many people who were brined in the Debian heritage and outlook.

I look forward to many more Debian birthdays!

Ubuntu Accomplishments: The Hacking History

Ubuntu Accomplishments: The Hacking History

Today I put together a short video showing the evolution of the [Ubuntu Accomplishments](https://wiki.ubuntu.com/Accomplishments) code base:

*Can’t see the video? See it [here](https://www.youtube.com/watch?v=RFWvm965iYM)!*

Thanks to everyone who has joined the Ubuntu Accomplishments family to help out! We still need more help though, so [come and join us](https://wiki.ubuntu.com/Accomplishments/GetInvolved)!

My Barbecue Adventure

My Barbecue Adventure

I usually use my blog for talking about my work and technology-related projects, but today I wanted to share a fun adventure that I have been on recently. There is nothing Ubuntu or community management related in here, but I think it my tickle the interest of some of you, in the same way this has captivated me.

In the last few months I have been getting increasingly into *barbecue*.

Now, to put this in perspective, I am a *terrible* cook. I have never really had an interest in cooking. While I love eating great food, I have never been particularly interested in how it was made. Then, about a year and half ago when my wife and I moved into our house which is in a warmer part of the bay area, my mother in law bought us a grill and I started getting interested in how to use it. The main reason why I developed this renewed interest is that outdoor cooking seemed like a fun thing to do (I had this romantic vision of being outside with sunglasses, shorts, and cooking great food), and there is something I like about the idea of cooking with fire.

While grilling caught my interest, it wasn’t until I learned about smoking and barbecue that I really got interested. I read about people smoking pieces of meat for many hours over a fire, and the meat being incredibly tender and delicious. When I heard about this I absolutely had to try it out. Not only this, but as I discovered more about smoking, there is a real *science* behind it. I was excited to learn the science behind something so simple and fundamental: cooking with fire.

The first thing I needed to do was buy a smoker. Now, there are different types of smoker (electric, gas, charcoal etc), and although charcoal is considered the *pure* way to do BBQ, I wanted to start with something easier to control. As such, I decided to use electric, and I bought a cheap smoker from Home Depot – the Brinkmann 810-7080-4 Gourmet Electric Smoker and Grill.

This unit cost about $65 dollars and it is a [water smoker](https://www.smoker-cooking.com/verticalwatersmokers.html). The way it works is that it has a tray at the bottom that you fill with lava rocks that hold and transmit heat, and the heating element sits on top of it. Further up the unit is a water pan, and above that are the two cooking grills. To use it you switch the unit on, add some flavoring wood to the lava coals to create some smoke (such as hickory), fill the water pan (the water can keep a consistent moisture in the unit), and then add your food to the grates.

The Brinkmann in action.

This smoker is pretty simple to use, and has no temperature control. It locks in at around 250 which is the right temperature for low and slow cooking (225 – 250) for doing things such as ribs, brisket, and pulled pork. It is not really suitable for grilling as you can’t get the temp high enough to sear steaks.

Although simple, the smoker has some downsides. Firstly, there is no thermometer, so I needed to mod my smoker and add my own. Secondly, the lack of temperature control would be fine if the smoker was super-insulated, but this thing leaks heat like a shed. On a warm day this is fine, but one time I did an overnight smoke and this baby was running for 25 hours to smoke two 8 pound pork butts. If I could control the temperature I could increase the heat in the middle of the night when it cools, but with this smoker…no banana; the temp dropped throughout the early hours and slowed down my cook.

The other downside with this smoker is that it is pretty small. While it could be fine for smoking for a small family, the width of the unit is not wide enough to accommodate baby-back ribs, so this means you need to pinwheel them (this is when you use a toothpick to hold the rack in a circle) or chop them in half. The problem with chopping them in half is that you can’t use [the bend test](https://www.amazingribs.com/tips_and_technique/are_they_ready.html) to check when they are done…and this resulted in some pretty tough racks of baby backs.

Baby backs after an hour of smoking on the Brinkmann.

When I bought this smoker I also bought a few other essentials such as tongs, heat-proof gloves (for pulling pork/chicken), skewers, and I bought a few great books on smoking and grilling. First of all, check out [Weber’s Way to Grill](https://www.amazon.com/Webers-Way-Grill-Step—Step/dp/0376020598/ref=sr_1_1?ie=UTF8&qid=1344834009&sr=8-1&keywords=weber+book) (which has become my go-to-guide as I learn), and then also see [Smokin’ with Myron Mixon](https://www.amazon.com/Smokin-Myron-Mixon-Winningest-Barbecue/dp/0345528530/ref=sr_1_1?s=books&ie=UTF8&qid=1344834050&sr=1-1&keywords=myron+mixon) (Myron Mixon is a famous BBQ grand champion). Part of the reason I bought the latter book was from becoming a bit of a fan of Myron Mixon after watching [BBQ Pitmasters](https://tlc.discovery.com/tv/bbq-pitmasters/) on Netflix.

One item I purchased which I thought would be a bit of a luxury but has become invaluable is the Maverick ET732
wireless thermometer. It works by providing a transmitter unit with a temperature probe for the pit (which you attach to the grill) and a probe for the food (which you jab into the meat). These two temperatures are then transmitted to the receiver that helps you to keep an eye on the cook from inside.

This device has a few distinct benefits. Firstly, it gives me a precise idea of the temperature of the meat so I can check when it is done. Secondly, it means that overnight smokes (such as a pork butt or a big brisket cook) can be done and I can keep an eye on things when I am in bed. Thirdly, I get a more accurate pit reading as the temp that is being taken is at the grill level where the food is, as opposed to on the lid or base where the manual read thermometer is. The unit also includes alarm support which means that if the pit or food drops lower or exceeds particular temps it will will alert you…such as waking you up if something is going crazy when you are smoking overnight.

The Maverick on a beer-can chicken smoke.

With my gear all good to go, I spent a number of fun weekends trying out different meats and learning different techniques. I have smoked brisket, baby back and spare ribs, chicken, and pork butt. I learned a bunch of things throughout this time such as:

* Get a spray bottle an fill it with apple juice to [spritz](https://tipsforbbq.com/Definition/Spritzing-Ribs) your meat every so often to keep it moist.
* Resist the temptation to constantly check on your cook. As the BBQ manta goes: *if you are looking, you ain’t cooking*. 🙂
* To reduce flare-ups (when your flavor wood sets on fire and increasing the temp of the cooker), soak your flavor wood first.
* There are various tests for checking when your food is cooked, and it is important to know them.
* There are many different approaches to foiling. For example, for ribs many people use the [3-2-1 technique](https://wyntk.us/3-2-1-rib-method) which includes a piece in which you foil the ribs to help keep the moisture in.
* [Resting meat](https://www.seriouseats.com/2009/12/how-to-have-juicy-meats-steaks-the-food-lab-the-importance-of-resting-grilling.html) is critical; when I rest my meat I wrap it in foil and then wrap it in old towels and put it in a cooler. This has a dramatic impact on the quality of your results.

If there is one lesson I have learned more than anything, it is that great BBQ is all about *maintaining a consistent temperature*. As an example, if you want great ribs, you need to smoke them at 225 – 250 and keep in that temperate range for a long period of time to help the collagen dissolve into gelatin for that *fall-off-the-bone* goodness. Interestingly, in competitive BBQ *fall-off-the-bone* is frowned upon; it is considered over-cooked. Personally, I *love* fall-off-the-bone. 🙂

The problem with my dinky little smoker is that there is simply no temperature control. As such, for longer smokes where the weather changes (such as wind, cooling, heating up, rain), this impacts the smoker and therefore maintaining the temp was complicated. As an example, when doing a long smoke that goes into the evening, when the sun went down it was difficult to bring the temp up enough.

Not only was there this temp issue, but I was also itching more and more to move from electric to charcoal and start doing barbecue with nothing but a pit and fire, and learning how to control the temp to create awesome food.

This is going to sound a bit weird, and my wife also thinks it is a tad bonkers, but there is something magical in my mind about the idea of cooking with fire. This probably boils down to some cavemen DNA still rumbling around in my body, but I love the idea of getting back to basics and learning how to create awesome food with fire…and charcoal…I am not that much of a caveman. 🙂

As such, I came to the conclusion that it was time to upgrade. I looked at three options; the [Big Green Egg](https://www.biggreenegg.com/eggs/sizes/), the [Primo Oval Junior](https://primogrill.com/primo-grills/primo-grills-ovaljr/), and the [Weber Smoker Mountain](https://www.weber.com/explore/grills/smokers-series/smokey-mountain-cooker-22).

The *Big Green Egg* and *Primo Oval Junior* grills are [Kamado cookers](https://en.wikipedia.org/wiki/Kamado), made of ceramic, and based upon 2000 year old cooking techniques. They maintain heat tremendously, are fantastic for smoking, grilling, and baking (the ceramic nature means they can also act like a pizza oven), but they are expensive (the Large Big Green Egg comes in at $899 not including the stand). Aside from the cost, the Large Big Green Egg also had a smaller cooking size than I would like and they risk cracking if you knock one over.

To be honest, I was pretty captivated by the idea of the *Large Big Green Egg*. Although expensive, these things are built to last a lifetime and are passed down from generation to generation, but with a baby on the way I found it difficult to justify such an expensive smoker. I checked the Primo as an alternative, but it is not that much cheaper. As such, I started looking more at the Weber Smokey Mountain.

The Weber Smokey Mountain comes in two sizes: 18.5″ and 22.5″, and it has a fanatical following, and is used by many professional competition cooks (such as [Harry Soo](https://www.slapyodaddybbq.com/about/)). It is a water cooker, but it uses charcoal (or wood) instead of my familiar electric, and it is made by Weber, who have a long history of quality, with apparently *fantastic* customer service.

As I was researching the unit, I found quite possibly the most incredible enthusiast site I have ever seen for a product; the [Virtual Weber Bullet](https://www.virtualweberbullet.com/). This site has an encyclopedic knowledge of the cooker, and every minute detail you could ever want to know about the cooker is documented, complete with guides, videos, and an active forum.

The Virtual Weber Bullet site is run by *Chris A. Allingham* and part of the way in which he funds the site is with Amazon affiliate links, so when I pulled the trigger to buy the bigger 22″ model, I used his link. I decided to buy the bigger model so I could have plenty of room for parties and I figured it would be better to have more space than less.

I also dropped Chris an email to say thank-you for his wonderful website, and interestingly he is based in the South Bay (about an hour from where I live). When I emailed him Chris was interested in discussing about community growth, so offered to drop him a copy of [my book in the post](https://www.artofcommunityonline.org/). I hope we can get together to do a cook one day (and hopefully some of his knowledge can rub off on me). 🙂

This weekend the 22″ Weber Smoker Mountain arrived in a box about the size of Australia:

As I neared the box I heard a muffled “G’day”.

I put together the smoker (which took about 15 minutes) and it is a bit of a monster:

Roar.

The way the smoker operates is really interesting, and gets back to my interest in controlling fire. If you look at the picture above you can see that it is broken into three pieces:

* The bottom piece (with the legs) is where you add the charcoal.
* The middle piece (with the door) is where you add the water bowl and the lower food grill.
* The top piece (with the handles) is where you have the top cooking grill.

If you look at the bottom piece in the picture above you can see a circle with four smaller circles on it. This is a vent. There are three vents on the bottom and one vent on the top. To control the temperature of the unit you build your fire and then use the vents to control how much airflow enters the cooker, and this controls how hot it gets. If you want it hotter, open the vents and let more air in, if you want it cooler, close the vents. Depending on how much you open and close the vents, you can dial in the temperature that you need.

When I bought the smoker I also bought a few important items for using it, namely some heat-proof BBQ gloves, and also a chimney that is used to start the fire.

For my first smoke I figured I would start simple and smoke [beer-can chicken](https://www.foodnetwork.com/recipes/the-surreal-gourmet/beer-can-chicken-recipe/index.html). I chose this for a few reasons. Firstly, chicken is quite greasy, and I wanted to [season](https://virtualweberbullet.com/seasoning.html) the smoker and get a layer of grease on the walls of the unit (this layer helps maintain temperature and protect the unit). New Weber Smokey Mountain grills tend to run about 50 degrees too hot (due to the reflective nature of an unseasoned cooker), so I wanted to get it all greased up. Secondly, chicken is cheaper than ribs, and for my first charcoal smoke, I didn’t want to screw up an expensive cut of meat until I knew what I was doing. 🙂

To be honest, I was a little nervous about my first smoke. Not only had I never used charcoal before, but it was a really hot day and the smoker was already at 170 degrees inside the cooker without any fire in there.

This would not have been a problem when I lived in England.

I kicked off my first smoke by filling the chimney with Kingsford charcoal and lit a few of the Weber fire-starter lighter cubes and got a nice burn going:

Safety Warning: do not eat.

I then cracked upon the smoker and put the charcoal in:

I didn’t use much wood in there so I could taste my first chicken on a charcoal cook.

I then put the middle section on, and there is plenty of space for food:

Safety Warning: do not sit on grill while cooking.

With my trusty Maverick attached to the grill and monitoring the pit and food temperature I was good to go:

Nothing like a Dr Who vibe when smoking meats.

I popped the beer-can chicken on and smoked it with a pit temperature of 350 until it hit an internal temp of 170. About three hours later it was done

After letting the bird rest for about 20 mins I cut it open and I saw the juiciest chicken I have ever seen. It was incredible. I was delighted with the results of my first smoke.

As I mentioned earlier, I was pretty nervous about how well I would do keeping a consistent temp using the Weber Smokey Mountain, but it stunned me how well it maintained temp. I would dial it in using the vents, and when it was there it held the temp really well. The only time it started to fall was when it needed more charcoal (I didn’t add quite enough), so I threw a few more coals in there and it went back up.

In a nutshell, I have been having a blast learning how to smoke and grill, and it has been wonderful to get outside and get some fresh air, learn about meat and controlling temperature, learning how fire works, different seasoning and rub styles, and for the fruits of this learning to be delicious barbecue. I am still very much at the beginning of my journey, but if you are even vaguely interested in this, I would heartily encourage you to give it a try. It really is a lot of fun. 🙂

Attending The Next UDS Remotely

Japanese Bacon

When I was at the [Community Leadership Summit](https://communityleadershipsummit.com/) and [OSCON](https://oscon.com/) a few weeks back I had the pleasure of meeting *Masafumi Ohta* who is a passionate Ubuntu user who had flown from Nerima-ku in Japan to the event. Masafumi very generously gave me a print copy of [Ubunchu](https://seotch.wordpress.com/ubunchu/); thanks, Masafumi, for the kindness!

Today I noticed that Masafumi posted [this link](https://ascii.jp/elem/000/000/716/716204/index-3.html) on my Facebook profile where-upon I saw this:


I have no idea what it means, but it looks awesome.

Wow! I feel like an item on a list somewhere is ticked off with this*. Thanks, Masafumi, and our fantastic Japanese community! Next time though, add a little more hair. 🙂

Free Official Ubuntu Book For Approved LoCo Teams

Free Official Ubuntu Book For Approved LoCo Teams

Once again we have a wonderful free book to give away from Prentice Hall, the rather spanky-awesome publishers of [The Official Ubuntu Book](https://www.informit.com/title/0133017605) by Matthew Helmke and Amber Graner with Kyle Rankin, Benjamin Mako Hill, and myself. The book was commissioned by Debra Williams-Cauley who has been awesome getting them on the shelves, and her sidekick is one Heather Fox who I have been chatting with recently to see if we can score some free copies for our rather fantastic Ubuntu LoCo Teams. Fortunately, Heather has been able to make the magic happen.

Prentice Hall are happy to send each and every *approved* LoCo team one free copy of *The Official Ubuntu Book*. To be entirely clear: this is one copy of the book per team. This will be a great addition to each team’s library of Ubuntu books!

To keep this as simple as possible, you can request your books by following these steps:

1. The team contact shown on our [LoCo Team List](https://loco.ubuntu.com/teams/) (and only the team contact) should send an email to *usergroups AT informit DOT com* and include the following details:
* Your full name.
* Which team you are from.
* Your full address (including zip/postal code, region and country).
* **IMPORTANT**: Your phone number, including country and area code.
2. Heather will process your application and let you know if it is approved.
3. If approved, she will get your books in the post.

A few notes:

* Only approved teams are eligible for the free copies of the books.
* Only the team contact for each team (shown on [this page](https://loco.ubuntu.com/teams/)) can make the request for the book.
* There is a limit of one copy of each book per approved team.
* Prentice Hall will cover postage, but not any import tax or other shipping fees.
* When you have the books, it is up to you what you do with them. We recommend you share them between members of the team. LoCo Leaders: please don’t hog them for yourselves!
* The deadline for getting your requests in **Mon August 20, 2012**.

If you have any questions or queries, *don’t* contact me or Canonical, contact Heather Fox at *heather DOT fox AT pearson DOT com*.

Also, for those teams who are not approved or yet to approved, you can still score a rather nice 35% discount on the books by registering your LoCo with the [Prentice Hall User Groups Program](https://www.informit.com/usergroups).

All in all a pretty sweet deal, methinks. Enjoy!

Opening Ubuntu Up To the World

Ubuntu Accomplishments Live Video Tutorials Coming Up

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](https://wiki.ubuntu.com/Accomplishments) works and how to get involved in the project.

You can join all of these sessions at [https://ubuntuonair.com/](https://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](https://wiki.ubuntu.com/Accomplishments/GetInvolved). If you have any questions, don’t hesitate to ask in our IRC channel on `#ubuntu-accomplishments` on freenode and on our [mailing list](https://launchpad.net/~ubuntu-accomplishments-contributors).

Ubuntu Accomplishments: The Hacking History

Ubuntu Accomplishments: Building Maturity

Progress on [Ubuntu Accomplishments](https://wiki.ubuntu.com/Accomplishments) has been moving apace. For those of you who have not been keeping score, we [released 0.1](https://archivedblog.jonobacon.com/2012/05/14/ubuntu-community-accomplishments-collection-0-1-1-released/) earlier this year which provided a first cut of the core system working. We then followed up with our [0.2 release](https://archivedblog.jonobacon.com/2012/06/13/ubuntu-accomplishments-0-2-released/) 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](https://launchpad.net/ubuntu-accomplishments-daemon/+milestone/0.3) : [viewer](https://launchpad.net/ubuntu-accomplishments-viewer/+milestone/0.3)). 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](https://213.138.100.229/ubuntu-accomplishments-daemon/docs/_build/html/index.html#module-accomplishments.daemon), 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](https://wiki.ubuntu.com/Accomplishments/Specs/WebGallery) 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](https://wiki.ubuntu.com/Accomplishments/Specs/Mobile)) 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](https://wiki.ubuntu.com/Accomplishments/GetInvolved) with guides for getting involved in [programming](https://wiki.ubuntu.com/Accomplishments/GetInvolved/Hacking), [documentation](https://wiki.ubuntu.com/Accomplishments/GetInvolved/Documentation), [testing](https://wiki.ubuntu.com/Accomplishments/GetInvolved/Testing), [translations](https://wiki.ubuntu.com/Accomplishments/GetInvolved/Translations), and [support](https://wiki.ubuntu.com/Accomplishments/GetInvolved/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](https://wiki.ubuntu.com/Accomplishments/Classroom) – 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](https://wiki.ubuntu.com/Accomplishments/GetInvolved). If you have any questions, don’t hesitate to ask in our IRC channel on `#ubuntu-accomplishments` on freenode and on our [mailing list](https://launchpad.net/~ubuntu-accomplishments-contributors).

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](https://ubuntuonair.com/) at the times above, and feel free to ask as many questions as you like!