Xubuntu, Kubuntu, and Edubuntu LTS
I was delighted to [read this morning](https://lists.ubuntu.com/archives/ubuntu-devel-announce/2012-January/000922.html) that the Ubuntu Technical Board has approved Xubuntu and Kubuntu to be LTS versions, as well as Edubuntu based on some further discussion. You can read the meeting log [here](https://ubottu.com/meetingology/logs/ubuntu-meeting/2012/ubuntu-meeting.2012-01-09-20.58.moin.txt).
Congrats to the Xubuntu, Kubuntu, and Edubuntu communities!
Today: First Videocast Of 2012
Today I am going to host my first Ubuntu videocast of 2012. I am going to switch this up a little and talk more about the goals for the year, summarize work that is going on, and then dig into the usual Q+A where you folks are welcome to ask any questions you like about Ubuntu, Canonical, Unity, or anything else. I am always keen to improve the show, so let me know your ideas of what you would find interesting on there.
Join me today at **11am Pacific / 2pm Eastern / 7pm UK / 8pm Europe** by [visiting this page](https://www.ustream.tv/channel/at-home-with-jono-bacon). Be sure to register a ustream.tv account first so you can answer your questions.
I look forward to seeing you all there!
2012
Erica and I just spent a busy few weeks visiting family and friends over in the UK, and it was wonderful to see everyone. My family all get on wonderfully with each other, but my two brothers and I have always lived in different places and this Christmas was the first time we have all been together for Christmas in about 20 years.
It was awesome. I feel privileged to have such a wonderful and caring family. We miss them all, but are happy to be back home in California after such a hectic trip.
So here we are at the beginning of 2012 and many of us are in the frame of mind about new ambitions for the coming year. Some people have been sharing their new year’s resolutions, and I wanted to share a few of mine outside of the obvious passion to put my family first and be the best husband, son, and brother I can be. I am blessed to be surrounded by such wonderful people, and I want to be there for all of them in the best possible way.
In terms of new resolutions, firstly I want to get fitter. I am not particularly out of shape and have a reasonably healthy diet, but I want to amp it up, get healthier, practice a regular exercise routine, and tone up. I will be tracking this with the awesome [Fitbit](https://www.fitbit.com), who assure me that Linux support for syncing data is coming, although their have gone a little dark when I ask when. Come on Fitbit, show us some love. π
Me in 2012.
Related to this in part is my second resolution that I want to learn how to cook. I am a *terrible* cook. I want to learn how to cook some healthier food, but I am particularly interested in continuing to learn how to grill. Grilling is a big cultural part of California, and I started learning how to cook steak, kabobs, veggies, and some other things last autumn, but I want to ramp this up to the next level. I am particularly interested in learning how to smoke some brisket.
This image has not influenced my resolution at all. Honest.
2012 is going to be the *year of [Ubuntu](https://www.ubuntu.com/)*. 2011 was a year filled with great progress, tough decisions, and renewed focus, but 2012 is going to be where we really shine. Speaking personally of my team at Canonical, we could not be stronger; we have the unstoppable Daniel Holbach, Jorge Castro, and David Planella, and we will be joined by Nicholas Skaggs and Michael Hall to complete the line-up. The team is raring to go, we have a strong strategy in place, and 2012 will all be about growth, efficiency, and continuing to grow and a fun and inspiring community.
Finally, 2012 will see the new [Severed Fifth](https://www.severedfifth.com) album released, the second edition of [The Art of Community](https://www.artofcommunityonline.org) and no-doubt plenty of other fun (and some likely slightly bonkers) projects. I have a few charity projects I am interesting in doing in 2012 too that I didn’t have the time for last year. Who knows where the year will take us?
Anyway, enough rambling, let’s roll. π
Quality In Ubuntu
Quality has always been an important value in the Ubuntu community, but over the last few releases we have faced some challenges in how we can assure and deliver quality. There have been various reasons for this, which include:
* Fewer automated tests that we would like and limited coverage in key components (e.g. Unity).
* Out of date manual tests with limited coverage.
* No acceptance testing for the distribution (this mean’t that some broken features would land in the development release).
* Limited support and leadership from the Canonical Community Team in harnessing community participation.
Over the last year quality has become a strong area of focus inside Canonical. This has included re-factoring the roles and responsibilities of QA staff (focusing them on defect analysis as opposed to just bug triage), Pete Graner has been leading an effort to get an extensive automated testing infrastructure in place, Jason Warner has led an effort to put acceptance criteria in place for Canonical upstreams (this requires that a certain level of quality is assured before Unity updates are landed in the development branch of Ubuntu), and I have hired Nicholas Skaggs who starts in January to build out our QA community, with a particular focus on manual testing and triage.
Defect Analyst hard at work.
I also wanted to share an [interesting post](https://www.olli-ries.com/?p=624) from Olli Ries about how he is building out his team around quality, and Thomas VoΓ [followed up with an interesting post](https://qualityhour.wordpress.com/2011/12/12/google-test-jenkins-ci/) on the new [Product Team QA Blog](https://qualityhour.wordpress.com/). Thomas and Olli will also be holding their first meeting on the 10th Jan in `#ubuntu-qa`.
I will be following up more in the new year about QA as Nicholas joins the Canonical Community team and we build out our QA community infrastructure, communication channel, and focus.
LoCo Council Goings On In 12.04
At the Ubuntu Developer Summit in Orlando in November there were some great discussions about LoCo governance. The LoCo Council has a [blueprint](https://blueprints.launchpad.net/ubuntu/+spec/community-p-lococouncil) but these are some of the highlights:
* **LoCo Twinning** – the goal here is to twin LoCo teams with other LoCo teams to help them get on their feet and moving. Bugs have been created and the LoCo Council are selecting the teams to pair them with. The team chose five teams they felt were large enough to be able to be twinned but not so big that only large teams were going to be able to twin with them. They are then going to chose five un-approved teams and help them during the cycle on how to get their teams up and running, how to organize meetings and events, and get information to other members of the team and explain how the larger Ubuntu community works.
* **[loco.ubuntu.com](https://loco.ubuntu.com) renaming the main team page** – at UDS a compromise was struck between the LoCo Team Portal developers and the LoCo Council to rename the team display page on the portal (this is because many teams have named themselves incorrectly and don’t want to change now as they have things printed). As such they are only changing the display name on the main page and nothing else.
* **Handling large geographic regions** – the LoCo Council have discussed geographically breaking up some of the larger countries such as Canada, Australia and Brazil (they’ve semi done this unofficially). The idea behind was to better conserve resources (such as conference packs) so that we can have smaller regions that can be sent content for events (e.g. CDs).
* **City LoCos** – it was agreed at UDS that City locos would not happen, but as a compromize, a field on teams pages on the LoCo Teams Portal would be created to add a *contact* for a city.
* **Re-approvals** – in early January the LoCo Council will be focusing on re-appaovals for teams; there are nine on their list.
Thanks to Laura Czajkowski for content for this blog entry, and the rest of the council (Charles Profitt, Chris Crisafulli, Greg Grossmeier, Leandro GΓ³mez, and Paolo Sammicheli) for their tireless efforts. Thanks also to Chris Johnston and co. for their wonderful work on the LoCo Team Portal.
Community Management Crib Notes: A New Era Of Community Management
Tonight I recorded and put on my [YouTube Channel](https://www.youtube.com/jonobacon) a presentation that I delivered at OSCON earlier this year called *A New Era Of Community Management*. I cover the history of community management, it’s early leaders, and how the science of understanding and growing community is changing with the advent of new technologies, social norms, and cultural challenges. I also cover the direct business opportunities for harnessing this new science, and some of the risks and pitfalls associated with it.
You can watch it below:
*Can’t see it? Watch it [here](https://www.youtube.com/watch?v=g2OkcdYkqcI)*.
You can also see the other *Community Management Crib Notes* videos:
* [Dealing With Burnout](https://www.youtube.com/watch?v=I88yluGb9oE)
* Conflict Resolution: Part [1](https://www.youtube.com/watch?v=ypLgYJWbT3E) and [2](https://www.youtube.com/watch?v=70CSY1H1bx8)
Nicholas Skaggs Joining The Canonical Community Team
I am pleased to announce that we will be welcoming a new horseman to the Canonical Community Team. His name is is *Nicholas Skaggs*, he is based in Florida (as well as Jorge and Michael), and he will be joining in January 2012 as our *QA Community Coordinator*.
Nicholas will be growing our QA community and his focus in his first few months will be on assessing the on-ramp for participating in QA in Ubuntu, and growing a comprehensive community of testers and triagers. He will have a particular focus on manual testing and a regular cadence of testing throughout the release cycle. I am excited to welcome him aboard the team!
When Nicholas joins, the team will look like this and their primary responsibilities:
* **Daniel Holbach** – coordinating and growing Ubuntu developers.
* **Jorge Castro** – growing the Juju and cloud communities and encouraging the development of charms.
* **David Planella** – growing our app developer community, as well as coordinating our translators community.
* **Michael Hall** – working with upstreams, and a particular focus on helping Canonical upstreams to have a great community relationship.
* **Nicholas Skaggs** – growing our QA community, with a particular focus on manual testing and triage.
* **Me** – I manage the team and work with Canonical and community stakeholders to develop strategy around where we focus community resources and growth.
You can read more about the team from [this earlier blog entry](https://archivedblog.jonobacon.com/2011/11/23/behind-the-canonical-community-team/) and feel free to ask your questions in the comments.
Give Nicholas a warm welcome, folks! π
Creating Experience Teams
I want to use this entry as an opportunity to throw open the floor for discussion and brainstorming of a topic we first discussed at UDS in Orlando. I really welcome your comments, suggestions, and advice.
One of the interesting things about Ubuntu is that there are many different forms of contribution (typically skills such as development, packaging, translations etc) and different types of tasks (such as fixing bugs, creating documentation, packaging new applications etc).
Traditionally Ubuntu has been very much of an iterative method of contributing; we always have *lists of things to do* such as bug lists, translation string lists, merge proposals, the sponsorship queue etc. As such, many forms of contribution maintaining and tending to these lists and chipping away at them. Thankyou to everyone who helps to participate in this way.
One interesting piece of critique we have seen as Ubuntu has taken a more design-orientated direction is that “*it is difficult to participate in design in Ubuntu*”. I am not interested in getting into a debate over this in this entry (although I am sure some of you will want to anyway ;-)); there is some truth to this critique, but there is also some great work going on to help create a more collaborative environment in the design team. Many thanks to the team for doing this work.
When people offer this critique what they are usually referring to when they say “design” is “*unity*”.
In reality though, Unity really isn’t all that interesting. Unity is a tiny part of Ubuntu; the mere frosting around the edges that lets you find and start applications, find and load files, and other bits and pieces. Unity is cool, but Ubuntu is much more than Unity.
“That’s it, I’m moving”.
Ubuntu is really about *experiences*. How can I create a video of my kid’s first birthday? How can I listen to my music on my remote speakers? How can I show my photos on my TV? How can I record a song with my dad? How can I buy an album and listen to it in my car?
## The Architecture Of An Experience
Each of these examples are the kind of things our users look for in Ubuntu, and I am sure you folks can think of many other examples of cool things we could do in Ubuntu.
With Ubuntu being an Open Source collaborative community, every one of us can help to bring one of these experiences to fruition. While Canonical invests heavily in Ubuntu and focuses on certain experiences, there is absolutely no reason why our community can’t create other awesome experiences too, or refine the ones we already have.
If anyone can do it, it is these people.
Making an experience come to fruition requires some coordination though; it is rarely a one-person job. Imagine you want to create an experience to *stream music to a remote set of speakers*. Creating this experience will likely require different pieces at different levels of the Ubuntu stack. For example, it might require certain *ALSA* or *PulseAudio* features, integration in *Rhythmbox* or *Banshee*, and then some UI to expose the feature to users.
Creating and delivering an experience will also require different skills to deliver it. It might require some programming if the features required don’t exist upstream, will need some packaging to integrate it into Ubuntu, and then require testers, documentation writers, bug-fixers and possible translators. Fortunately, we are community; we each bring our own skills to the fold.
As such, when we decide we want to deliver an experience there are set of technologies that fit together and a set of skills required to help connect these pieces together like Lego bricks to deliver the experience.
## Creating Experience Teams
The session we had at UDS was to discuss methods in which we can encourage and support the formation of *experience teams*; that is, create an environment in which our community can form groups easily to collborate and build these kinds of experiences.
Let me give you an example. Imagine we want to create the *stream music to a remote set of speakers* experience that we discussed earlier. I think you could summarize this experience down (and many others) into requiring the following core skills:
* **Project Coordinator(s)** – people to form a team, find others to participate, put together a roadmap for the team, and help people to successfully create the experience.
* **Programmers** – people to write any code neccessary to deliver the functionality in the experience (not required if this functionality exists upstream).
* **Packagers** – people to integrate the different components in the experience together.
* **Testers** – people to test the experience, report bugs, and triage issues etc.
What I would like to open up for discussion here is how we can optimize our community to help people form these teams, have a great time collaborating together to create something, and deliver it in Ubuntu. What tools, facilities, support, and cheerleading can we provide to help make this happen?
That counts.
Off the top of my head I think these are some of the things that could help these teams form:
* An *ideas board* – we would need a place to post ideas for experiences (arguably [Brainstorm](https://brainstorm.ubuntu.com/) already does this, so we could potentially harness that) and help to inspire others in delivering those experiences.
* A *jobs board* – with a place to share ideas, we would need a means in which people can form teams around those experiences. How do provide a means to connect community members with an itch to contribute with projects that need their skills.
* A *project management facility* – I think we really have these tools already in place. We have Launchpad blueprints, the awesome [status.ubuntu.com](https://status.ubuntu.com) which Martin Pitt and Chris Johnson helped to build, and other facilities to run projects effectively.
* Mentoring and Support – I would love to see our leadership teams help to support and provide guidance for these teams in helping them to deliver their experiences.
In a nutshell, we should make it simple for a community member to have an idea for an experience, be able to find others who share a passion for creating the experience, and be able to harness the motivation and support of our community to be successful in creating the experience.
I would like to open this up in the comments for ideas and suggestions for how we could make this happen. How do you think we can provide a place to share these experience ideas and build teams around them? How do we help these teams to be successful? Would you be interested in helping to create these facilities?
Thanks Ubuntu Weekly News Team
I just want to say a huge thank-you to the [Ubuntu Weekly News](https://wiki.ubuntu.com/UbuntuWeeklyNewsletter) team for tirelessly bringing a weekly dose of fantastic Ubuntu news to our community. I know there is a lot of work involved, and while I have not had the time to contribute, I have been trying to contribute recently by spreading the word about the newsletters.
If you have a little time each week and would like to help to make the *Ubuntu Weekly News* even better, see [this page for how to participate](https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Join) and feel free to meet the team in the `#ubuntu-news` IRC channel on *freenode*.
Ubuntu and QML
Last week I delivered a keynote at the [Qt Developer Days 2011](https://qt.nokia.com/qtdevdays2011/) event in San Francisco. I have not seen a video of the keynote online yet, but I am assured it should be online soon. Rick Spencer gave a keynote at the Munich event shortly before UDS in October.
Over the last year or so the relationship between Ubuntu and Qt has growing closer. As many of you will recall, we announced that for Ubuntu 11.10 we were [going to make Qt a first-class citizen in Ubuntu](https://arstechnica.com/open-source/news/2011/01/inclusion-of-qt-in-ubuntu-1110-is-a-win-for-developers.ars). This would mean that you could install Qt applications on a standard Ubuntu system, and those applications would integrate neatly into Ubuntu. There was also a goal to ensure the Qt development tools (e.g. [Qt Creator](https://qt.nokia.com/products/developer-tools/)) are fully supported and ready to to roll in Ubuntu 11.10. Those goals were successfully accomplished.
Qt Creator is an IDE for building Qt and QML apps.
My presentation last week summarized the progress being made in Ubuntu make it a strong platform for app developers (e.g. refinements to the Ubuntu Software Center, [developer.ubuntu.com](https://developer.ubuntu.com), the MyApps process etc), and summarizing much of the work to integrate Qt neatly into the platform. The presentation seemed to be well received with a lot of excitement about Ubuntu afterwards.
Aside from delivering the keynote, I was also interested in using the event to learn more about Qt and specifically QML. We are in a really interesting position with Ubuntu in that we want to deliver a strong application development platform, and a platform driven by choice, but also a platform that allows both professional and hobbyist developers to deliver their apps.
If you want to deliver native apps in Ubuntu today, most people will either write their apps using GTK or Qt. For GTK, those apps can be written in C, Python, C# and various other languages. For Qt you can write apps in either C++ or Python (although the complete Python bindings are not 100% free). These two options provide a good set of development options for our developers.
In terms of facilities I think it is fair to say that Qt provides a more comprehensive solution. GTK, while popular (I myself, horrendous programmer that I am, have written some GTK apps in Python), brings together the core pieces you need for an app, but lacks some of the more advanced functionality that is in Qt. The traditional challenge with Qt though was that you needed to know C++ to use it, and even though Qt provides many convenience classes, C++ can be a bit much for amateur and hobbyist programmers. I think it is important that we provide a great solution for both professional and hobbyist programmers, and everyone in-between.
What has been exciting to me however is [QML](https://doc.qt.nokia.com/4.7-snapshot/qdeclarativeintroduction.html); a new technology that is part of Qt that provides a higher-level means of producing user interfaces. QML was not new to many Ubuntu people; Ryan Paul did an excellent presentation a year ago at UDS in Orlando, we had a great presentation on QML at UDS in Budapest, and Qt Creator and it’s QML and it’s QML designer have been available in Ubuntu for quite some time.
The integrated designer in Qt Creator.
What I was unclear on, and it seems I was not alone, is where the lines between QML and traditional Qt start and end. I knew that the philosophy in the Qt project is that you would write *big and serious apps* in Qt and *smaller and more casual apps* in QML. While these lines seemed fairly blurry, what blurred it more was that there is a strong focus on making QML more and more flexible for the up-coming Qt 5 (expected in 2012).
I went to the Qt Developer Days conference with a simple question: could someone write *Angry Birds* in QML. In other words, can you write a fun, vibrant, visually attractive game in the high-level, managed environment that is QML. If so, this could dramatically lower the bar for developers to write fun and interesting apps and deliver them not just on Ubuntu, but on other platforms too.
I am still very much learning about what QML can and can’t do, but from what I saw at the event and some recent research online, QML very much does provide a great solution for writing attractive, capable interfaces, games, and other applications. As an example, I was chatting to Lars Knoll, Qt Chief Architect, and he showed me an example of a game written entirely in QML, *Incredible Circus*, and running on his Nokia N9 phone:
The Incredible Circus (Wide) from The incredible Circus on Vimeo.
He also pointed out many of the other applications on the N9 that are written entirely in QML. It turns out there there are [many](https://www.youtube.com/watch?v=D3INBtEwPTA), [many](www.youtube.com/watch?v=MNQHjBIqWDE), [many](https://www.youtube.com/watch?v=6ZnPbBBkG7A), [many](https://www.youtube.com/watch?v=UOoHJFNzomo), [many](https://www.youtube.com/watch?v=8Bvm4E819UY), [many](https://www.youtube.com/watch?v=0cfzkKtnzfg) games on YouTube, even a [Angry Birds clone](https://www.youtube.com/watch?v=R00JxX6ZRNw), all written in QML.
Ryan Paul also wrote an Ars RSS reader in QML:
*Can’t see the video? Watch it [here](https://www.youtube.com/watch?v=U7IgwNrcln8).*
…and I event found Flickr Browser written in pure QML.
*Can’t see the video? Watch it [here](https://www.youtube.com/watch?v=xoo_Ows1ExU).*
My previous assumption about QML was that it was only really useful for creating UIs; it seems that it is also flexible for much of the logic you would need in games and other applications too.
While I have not played with QML all that much, I am excited by it’s potential, and the roadmap outlined by Lars at the Qt Dev Days offers a bright future. This is not only a bright future for Qt, but also a bright future for developers who want to deliver apps on Ubuntu thanks to the integration work done in 11.10.
**[Install Qt Creator in Ubuntu](apt:qtcreator)** and get started.