Problems Open Doors To Solutions
One of the things I love about my job is that much of it is working with different elements of the human condition. This includes growing excitement, defining and setting expectations, dealing with disappointment and conflict, coordinating different ethical lines, being there for someone in times of personal crisis, helping folks to develop skills and personal growth, and more.
I have often referred to community management as one part project manager, one part motivational speaker, and one part therapist. The role is not just about coordinating volunteers to achieve success in their contributions, but it is also very much about being there as a friend and ally in times of difficulty and personal reflection.
Over the years many folks have come to me with worries and personal challenges surrounding their involvement in a project, their perception of what value they bring to the community, and insecurities about where they fit into the fish-bowl. Of course, these conversations are always in private and I welcome any of you to reach out to me if you ever want someone to talk to. I have though come to some conclusions about different approaches to personal improvement and growth in the face of these insecurities and worries.
## Perception Of Problems
One of the oldest and most overused sayings has been about whether people *see the glass as half-full or half-empty*. Of course, the metaphor is referring to whether people look at the world through the eyes of an *optimist* or a *pessimist*.
Some see half full, some see half empty, some just see Vodka. No comment.
One of the areas in which the distinction between an optimist and a pessimist defines future potential and growth is *how we perceive and react to problems and/or critique*.
Let me give you an example. Imagine you work for a company and your boss comes up to you and expresses concerns about your work. There are two approximate ways to react this situation.
First as a *pessimist*:
> Argh! This is terrible! I can’t believe this is happening to me. Life sucks.
Pessimists typically fall into two other groups when it comes to receptivity to feedback; people who feel *oppressed* and those who feel *ineffective*.
For the former we see statements such as:
> This company is making terrible decisions, my boss isn’t helping me, I don’t have the tools I need, so my bad performance isn’t a surprise. I see no way in which I can fix this. The system is screwing me.
The latter, those who feel *ineffective*, are typically overly self-reflective and critical:
> Damn. I am screwing everything up…I knew I wasn’t cut out for this job and they are probably better off if I left.
The former approach of blaming others for your problems will do nothing to grow and optimize your personal growth and life experience. This is something I am discovering more and more as I get older; the biggest lessons that I have learned to form my own personal perspectives have grown out of being self-reflective but learning from that self-reflection.
Lessons are not learned by listening to this guy. Or Stuart Langridge.
This leads rather neatly onto *optimism*.
Now, to be fair, I know I am an optimist, so all of these words, and in fact all the words I ever write, are generally written through the eyes of an optimist. I didn’t just become an optimist overnight though; the reason why I see things in a more positive light is that I have seen first-hand the opportunities and amazing things that people can do when they put their mind to it.
I have faith in people and what good people can do.
I have also had the fortune of working with some truly inspirational people whose experiences, wisdom and approach has rubbed off on me in different ways to help shape my own world.
While I am an optimist, I feel I am a fairly *realistic optimist*. I don’t see the world like a scene from *Bambi*, but I do feel we all have huge control in our hands to bring success to our work and our projects, and much of this success is defined by how we approach our work and our challenges, and our receptivity to feedback.
Getting back to how we perceive problems, I think a more optimistic response to our previous example of a boss complaining about your work would be:
> I am delighted to get this feedback from my boss as I now have a better idea of areas in which I can improve, and today is the first day of the solution.
The last part is the key bit: *today is the first day of the solution*. Every day I see people who battle with challenges, mis-aligned expectations, little bits of conflict, and sometimes painful critique from colleagues and community members that they need to process and handle.
The folks who have reached out to me that I described at the beginning of this blog entry have faced these kinds of challenges, and I would like to encourage everyone to view these challenges as an awareness of problems that now allow us to make *today the first day of the solution*. This not only puts us in a better mental state (process the problem sucks, working the solution is far more empowering), but I think it also demonstrates a positive personality trait about constantly striving for self-improvement. It is also a very attractive attribute from a career perspective.
Of course, the more pessimistic of you are going to rip me a new one in the comments, and there will always be folks who don’t feel like they have the ability to drive themselves to a better destiny, but for all of you who have reached out to me with insecurities and uncertainly, think of how *today could be the first day of the solution*. And as ever, I am here to help.
Future LoCo Team Portal Plans
As part of this cycle I have been talking with some people in the awesome Ubuntu LoCo Teams community to identify next steps in how we can optimize the community to go out and get *200 million* users.
Today I feel we have a fantastic LoCo Team community; lots of teams distributed throughout the world, governance effectively applied via the [LoCo Council](https://loco.ubuntu.com/loco-council/), and continued excitement and growth in our various events.
I am keen though to see how we can bring some key improvements to the community:
* provide a central point in which you can find out about all the incredible work going on in the community.
* encourage best practice and skills acquisition across different LoCo teams.
* encourage and inspire teams to participate by seeing the great work and ideas from other teams.
To help with this I have scheduled some calls with a few folks:
* Randall Ross – I was really impressed with the work Randall has done with the Vancouver team and I am keen to see how he can help teams share and flow best practice and ideas between them.
* Laura Czajkowski – Laura has done great work with the LoCo Council in continuing to govern and promote quality, fair, and balanced interaction between teams.
* Michael Hall, Chris Johnston, and Nigel Babu – these guys all contribute to the awesome [loco.ubuntu.com](https://loco.ubuntu.com), among many other great contributors.
I gathered these folks together as a means to pull together the strategic strings of LoCo inspiration, governance, and active development. As part of these discussions, and based upon discussions at UDS, in this cycle there will be a focus to:
* Make loco.ubuntu.com more *tab-worthy*; in other words, add value to loco.ubuntu.com that will provide the central point for finding out what the community are working on, as discussed above, thus opening the doors for (a) teams to share their great work in a hub for LoCo activity and (b) for teams to be inspired by the work of other teams, thus encouraging future contributions.
* We will build upon this work to make loco.ubuntu.com a real hub of activity and a central point for LoCo members and teams to congregate. The goal here is a rolling stream of content that justifies a tab in your browser open all day showing this content.
* We will work with community leaders to encourage wider posting and sharing of updates and progress achieved by teams, and also encourage the publication of best practice and ideas to inspire other teams to participate in their area.
In a nutshell: by building a hub of information and knowledge, and then reaching out to community leaders to provide useful and interesting content, we expect this will grow knowledge, skills, and inspiration in teams to be successful in their own projects.
## Changes to the LoCo Team Portal
In a call today with Chris, Nigel, and Randall, we discussed some of the changes to loco.ubuntu.com with a primary focus on:
* showing the people-orientated nature of LoCo teams via a slider that shows different photos from events. This could also be used to add informational slider images highlighting campaigns such as the Ubuntu Global Jam.
* provide a regularly updating stream of blog content from across the LoCo community.
* showcase other dynamic content from Twitter and social networking sites.
* provide a set of quick-start links for brand new users to get started.
While I am by no-means a designer, I created an initial design, inspired by Ahmed’s work in pulling together design input from various sources and implementing [cloud.ubuntu.com](https://cloud.ubuntu.com) which I think can act as a great starting point for discussion:
A few notes about the design:
* The slider would function like the one on [uds.ubuntu.com](https://uds.ubuntu.com) and the images at first would be chosen by the admins of the site and/or the LoCo Council.
* Under the slider are quick start points for brand new users, again inspired by similar buttons on [cloud.ubuntu.com](https://cloud.ubuntu.com). It would be useful to have a close button in the top-right corner of this section for regular users who no longer want to see these buttons when they visit the site.
* The blogging area would be regularly updated and function a bit like the Ubuntu Planet. On the call we discussed that the choice of feeds would at first be recommended by the LoCo Council and the site admins and we would ask people to provide RSS feeds for tagged entries (e.g. so if I tag a blog entry on my blog with `ubuntu-loco` it would appear on the site). Randall and I committed to recommending the first 25 feeds to appear on the site. For each feed we would also note the team that the person is in, so we can provide this meta-data under the post title to show the different teams that have content posted on the site.
Again, this is very much a first cut of the design, and comments are welcome; the goal here is to outline and share the discussions so far. I am delighted with everyone on board to make these changes, and I think this will really help us grow and inspire the global Ubuntu community.
Community Team Plans For Oneiric
In the interests of transparency, at the beginning of each cycle I tend to summarize my team at Canonical’s plans for the forthcoming six month period of work. This is the result of an extensive process of assessing requirements, gathering needs, discussing topics at UDS, fleshing out actions, documenting blueprints, and determining resource availability. Part of the goal of this process is to ensure the team (*Daniel Holbach, Jorge Castro, David Planella*, and *Ahmed Kamal*) knows exactly what to do, but to also clearly communicate to other entities (such as senior management and the community) what the team is seeking to accomplish.
Remember also, folks, that I am [looking to hire a QA community coordinator](https://archivedblog.jonobacon.com/2011/05/12/qa-community-coordinator-inquire-within/) and will be fleshing out those goals and responsibilities too. If you have QA and community growth experience, check it out!
The practical output of this process is a set of blueprints, each of which contain a set of actions assigned to different people. Anyone and everyone is welcome to subscribe to the blueprints that interest them and to receive emails when those actions are completed, postponed, or marked as in-progress. This provides a great level of transparency for the community to keep an eye on what is going on in their areas of interest. Finally, I track this work and it’s continual completion via our [burndown chart](https://people.canonical.com/~platform/workitems/oneiric/canonical-community.html). This provides me as a manager with a useful tool for ensuring we make consistant and clear progress to drive to delivery.
Of course, part of my responsibility as Community Team Manager is also to be this guy sometimes.
So, as usual, I am going to list each of these approved blueprints. Before I get to this though, I also want to mention a few other activities that we will be working on as a team that don’t fit into the blueprints. This includes:
* the [mentoring campaign I blogged about the other day](https://archivedblog.jonobacon.com/2011/05/18/providing-more-scalable-community-growth-and-mentoring/) to build more scalable community growth.
* Ubuntu Open Week
* Ubuntu Developer Week
* Ubuntu App Developer Week
* Ubuntu Global Jam
* Ubuntu Cloud Days
* Release Parties
* Organizing the next [Ubuntu Developer Summit](https://uds.ubuntu.com) to take place in Orlando, Florida.
* Various day to day needs in the community, resolving bottlenecks and other bits and pieces.
* I am also really keen ratchet the LoCo Teams up to the next level to help encourage more advocacy work and making [loco.ubuntu.com](https://loco.ubuntu.com) “tab-worthy”. See [this blog post](https://archivedblog.jonobacon.com/2011/05/20/rocking-the-loco-community-in-oneiric/) and this [blueprint](https://blueprints.launchpad.net/loco-directory/+spec/community-o-loco-directory) for more details.
So, onto the blueprints…
(you can see who on the team is driving which blueprint by the name in brackets)
## Developers
In this cycle we want to refocus on getting more developers involved in Ubuntu, and *Daniel Holbach* will be leading much of this work. This also fits in to the [more scalable mentoring strategy](https://archivedblog.jonobacon.com/2011/05/18/providing-more-scalable-community-growth-and-mentoring/) I blogged about recently.
> * **Showcase great work of new contributors in a personal way (Daniel Holbach)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-new-developer-showcase](https://blueprints.launchpad.net/ubuntu/+spec/community-o-new-developer-showcase)
> * **Spread Ubuntu Development stories in different channels. (Daniel Holbach)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-new-ubuntudev-outreach](https://blueprints.launchpad.net/ubuntu/+spec/community-o-new-ubuntudev-outreach)
> * **Start “get involved” initiatives (Daniel Holbach)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-developer-initiatives](https://blueprints.launchpad.net/ubuntu/+spec/community-o-developer-initiatives)
## Processes
In the Natty cycle we identified a set of common bottlenecks that Ubuntu Developers face as they contribute to Ubuntu. We are going to work to eliminate as many of these bottlenecks as possible throughout the 11.10 cycle.
> * **Reduce development bottlenecks (Daniel Holbach)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-development-bottlenecks](https://blueprints.launchpad.net/ubuntu/+spec/community-o-development-bottlenecks)
> * **Review and Improve Sponsorship Process (Daniel Holbach)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-review-sponsorship-process](https://blueprints.launchpad.net/ubuntu/+spec/community-o-review-sponsorship-process)
## Translations
As *David Planella* diversifies and expands his responsibilities he is going to be working to help deliver a more sustainable translations community.
> * **Sustainable Ubuntu Translations (David Planella)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-sustainable-translations](https://blueprints.launchpad.net/ubuntu/+spec/community-o-sustainable-translations)
> * **Enable Launchpad Translations Upstream Imports for Ubuntu (David Planella)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-launchpad-translations-upstream-imports-presentation-and-plans](https://blueprints.launchpad.net/ubuntu/+spec/community-o-launchpad-translations-upstream-imports-presentation-and-plans)
## App Developers
Our continued focus on encouraging and enabling application developers will continue in this cycle.
> * **Developer Portal Next Steps (David Planella)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-developer-ubuntu-dot-com-plans](https://blueprints.launchpad.net/ubuntu/+spec/community-o-developer-ubuntu-dot-com-plans)
> * **App Review Board Review and Assessment (David Planella)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-app-review-board-review-and-assessment](https://blueprints.launchpad.net/ubuntu/+spec/community-o-app-review-board-review-and-assessment)
> * **App Developer Community Outreach (David Planella)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-app-developer-outreach-plans](https://blueprints.launchpad.net/ubuntu/+spec/community-o-app-developer-outreach-plans)
## Cloud
*Ahmed Kamal* will be continuing his Ubuntu Cloud community growth and spending a lot of time encouraging and growing a community to build around *Ensemble*.
A key focus in this cycle is to drive traffic, participation and discussion to [cloud.ubuntu.com](https://cloud.ubuntu.com) as a primary source of cloud information and community discussion. Ahmed will be blogging more about this soon.
> * **Ensemble has great getting started documentation (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-getting-started-docs](https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-getting-started-docs)
> * **Ensemble has exciting Screencast Library (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-screencast-lib](https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-screencast-lib)
> * **Ensemble Get-Involved Campaigns (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-get-involved-campaigns](https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-get-involved-campaigns)
> * **Crystalize Ensemble formula contribution process (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-formula-contrib-process](https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-formula-contrib-process)
> * **Showcase great work of new contributors in a personal way (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-showcase-contributors](https://blueprints.launchpad.net/ubuntu/+spec/community-o-showcase-contributors)
> * **Spread Ubuntu Cloud stories in different channels. (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-spread-cloud-stories](https://blueprints.launchpad.net/ubuntu/+spec/community-o-spread-cloud-stories)
> * **Cloud and Ensemble Training Events (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-cloud-training](https://blueprints.launchpad.net/ubuntu/+spec/community-o-cloud-training)
> * **Ensemble and Ubuntu Cloud Advocacy Material (Ahmed Kamal)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-advocacy-material](https://blueprints.launchpad.net/ubuntu/+spec/community-o-ensemble-advocacy-material)
## Upstreams / Downstreams
*Jorge Castro* will continue to help grow a sustainable Unity and Ayatana community. We got off to a great start in the Natty cycle, and I look forward to seeing continued growth in the Oneiric cycle.
> * **Unity Developer Participation (Jorge Castro)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-unity-developer-participation](https://blueprints.launchpad.net/ubuntu/+spec/community-o-unity-developer-participation)
> * **Support Debian Collaboration Growth (Jorge Castro)** – [https://blueprints.launchpad.net/ubuntu/+spec/community-o-debian-dex](https://blueprints.launchpad.net/ubuntu/+spec/community-o-debian-dex)
> * **Ayatana Application Development Advocacy (Jorge Castro)** – [https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-default-apps-unity-integration](https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-default-apps-unity-integration)
To be clear, I am only listing here the blueprints that my team at Canonical are working on; there are course many other wonderful blueprints that are being worked on by other teams and the community.
It is going to be an exciting cycle!
Rocking The LoCo Community In Oneiric
I have long been a firm believer that the [Ubuntu LoCo Community](https://loco.ubuntu.com/) is one of the strongest elements of Ubuntu. The LoCo community are our eyes, ears, mouths, and hearts in taking Ubuntu to the masses. If we are going to reach out to 200million users, we are absolutely going to need to have the LoCo Community on-board as a well oiled machine. Fortunately, some great work is going on to achieve this.
I believe to achieve this we need the following:
* **Great Governance** – the [Ubuntu LoCo Council](https://loco.ubuntu.com/loco-council/) has gone from strength to strength in the last year. They are actively supporting and mentoring teams, and continually re-assessing to teams for approval (so we can ensure a level of quality is reflected in the Approved teams list). I have a regular briefing call with Laura Czajkowski from the LoCo Council and it seems the wheels are oiled there.
* **Great Teams** – [loco.ubuntu.com](https://loco.ubuntu.com/) set out a few UDSs back to provide a directory of LoCo teams; this made it easy to find and join teams. With this functionally came team information, event support and more. I believe we need to built on this and identify how we can continue to help LoCo teams be successful in how they organize and run their teams.
* **Great Outreach** – finally, we need to get out there and grow the LoCo community and use our LoCo teams as a sponge to soak up new users, support their needs, and help them get as much support and help as possible as they join the Ubuntu family.
I wanted to talk through a few of the different things going on to satisfy these areas and where I am keen to see us focus on future work and goals.
Release party in Taipei
## Governance
Strong governance is an important component in any healthy community, and the *LoCo Council* is doing a wonderful job. One of key responsibilities is to ensure that every-so-often the Approved LoCo teams are re-assessed to ensure they are still healthy active teams. Recently the council sent out the following email to a set of teams are being re-assessed:
> It’s the time of year again! Re-approval time, so it’s time dust off the team photos and fire out some wiki edits!
> We have a *ton* of teams to review this year, so we have some ground rules that need to be adhered to very closely. We really hate (and we do) to be such a pedantic nit-picker, but it’s to the point where we can’t (as the LoCo Council) slip on reviewing teams. Not good for you, not good for us.
> All you team administrators have been subscribed to the LP bug, if you are the contact (and not the admin), please contact your local friendly admin (or one of us on the LoCo Council) to get subscribed.
> Here are the rules:
> * If the application is submitted before the release of Ubuntu Oneiric, we will consider it. If it fails to come in on time, we *will* have to throw it away. We’re serious about this one.
> * We’re looking for a few key things in particular this cycle. We really want to see up-to-date Team Reports. It’s really something that needs to be enforced. We’re also looking (as usual) for outstanding and sustained levels of activity.
> * The sooner, the better! We really need to make sure we get to everyone in a sane way, and that means that we’re processing about 2 applications a week. That’s manageable, but not if everyone gets them in the month before release. ( we have 27 teams to re approve between now and the end of October, please do not leave it till October to submit your application or you’ll make us cry!)
> By the way, we love you guys. We know you guys have done awesome work so far, and we can’t wait to see it!
If you received this email, please follow up with the LoCo Council and participate in the re-assessment; the goal of this process is to ensure we have a high-quality set of teams who we can often entrust with additional responsibility and seek their guidance. If your team is not approved, remember, the LoCo Council are there to help your team be successful – get in touch with them to see how they can help. Also be sure to look for help on [`#ubuntu-locoteams` on freenode IRC](https://loco.ubuntu.com/irc/) and on the [mailing list](https://lists.ubuntu.com/mailman/listinfo/loco-contacts).
## Teams
At UDS we had an interesting discussion about the next steps in expanding [loco.ubuntu.com](https://loco.ubuntu.com/) to have it be even more of a centerpiece of how our community grows and operates. As I [expressed in a previous](https://archivedblog.jonobacon.com/2011/05/05/loco-directory-next-steps/) entry, I am really keen to see the site become *truly tab-worthy*; in other words, have the site always open in a tab in my browser and regularly displaying dynamic content I find interesting. In my entry I suggested embedding dynamic content such as blog posts (a selection of RSS feeds that contain LoCo related content), a more dynamic Twitter stream, and other ideas). I also suggested that all the help and docs in the community is taken to `loco.ubuntu.com` instead of being on the Ubuntu Wiki; it would then be a lot more discoverable.
Ecuador LoCo Team
We had the session, and a [blueprint was put together with a set of actions](https://blueprints.launchpad.net/loco-directory/+spec/community-o-loco-directory). The legends of *Chris Johnston, Michael Hall*, and *Nigel Babu* are particularly keen to deliver this content in the site, and I have set up a regular call with them to help them accomplish these goals. This call will be shared with Laura so we can continue to ensure Governance issues and growth are on track too.
## Outreach
I feel Outreach is the next major component of this strategy. I am really keen to hear ideas and thoughts from the community about how we can coodinate and run outreach campaigns both at a local team level and as a global effort. We already have events such as the *Ubuntu Global Jam* that many teams feed into, but one challenge is that we still have a disconnect between teams that have a natural capability at going out and getting people involved and spreading the word about Ubuntu, and those teams that don’t have the same set of skills to perform this outreach.
How can we grow the mentoring capabilities between teams, share outreach skills, and help optimize other teams for success?
Building The Kitchen Sink
*Wow*.
Yesterday I [posted some ideas](https://archivedblog.jonobacon.com/2011/05/18/creating-an-ubuntu-power-user-community/) about building sub-team in the Ubuntu community optimized for power users and the needs of folks who love to tweak, tune, customize, hot-rod and otherwise amp up their desktops. Within 24-hours there is now a [mailing list](https://lists.ubuntu.com/mailman/listinfo/ubuntu-power-users) with nearly 100 members, IRC channel (`#ubuntu-power-users` on freenode), [wiki site](https://wiki.ubuntu.com/PowerUsers), and active discussion going on on the list. Thanks also to Mike Basinger for agreeing to admin the mailing list, and Jussi for keeping an eye on the IRC channel.
I already talked about some areas in which I think the team could bring huge value. These include:
* Documentation – helping to answer common power user needs such as – how do I install a different window manager? How do I know which configuration tools to install? How do I rebuild a kernel on Ubuntu? How do I tweak my hard drive params etc?
* Support – I can see the mailing list and IRC channel being a good place for folks to have discussions around various power user needs.
* Events – organizing education and learning events for more advanced Ubuntu usage and configuration needs.
There was another idea which I suggested which I want to delve into in a little more detail.
If you look at Unity, some of it’s customization potential is exposed in the Unity user interface itself, but much of it is hidden (so as to provide a sleek and uncluttered experience for end-users), but you can still access this functionality under the covers. Tools such as *Simple CCSM*, and more recently *Gunity* and *Confity* are providing tools to access these lower-level configuration options. Of course, this is exactly the kind of *awesome* that power users love! Trouble is…there is one problem…
Terrible acting.
Well, not really, but related…
*Fragmentation*.
In the same way there are 86 different versions of CSI [*citation needed*], there are multiple configuration tools each that have different ways of working and different levels of functionality.
Wouldn’t it be awesome if we had a single customization environment designed for Power Users…the *Ubuntu Kitchen Sink* if you will; a single application that supports multiple plug-in that provides you with a plethora of check-boxes for switching on and off all kinds of different things.
To be clear this would not be like the GNOME Control Center: that is designed for end-users to provide a sane range of commonly-required options that users may want to customize. I am talking about a post-installation tool designed for hungry hot-rodders, more along the lines of GConf, but inside a consistent tool that provides functionality across the desktop and it’s foundational layers.
## Digging Deeper
Before I go on, everything here is a pretty unformed idea. This post was inspired by a discussion that Jorge and I had about this and some of the recent interest in building configuration tools in Ubuntu. The goal here is to trigger a discussion about how to move forward. I suggest you join the [mailing list](https://lists.ubuntu.com/mailman/listinfo/ubuntu-power-users) to get involved in fleshing out a solution. Again, usual caveats about how I am a terrible UI designer…
So this is the idea:
Ubuntu Kitchen Sink.
Imagine a single unified application with a series of plug-ins available for configuring different parts of the system. Those of you who yell at kids to get of your lawn will probably remember *LinuxConf* (the app) along these terms from many moons ago. This idea is similar, but not quite the same.
My thinking is that there could be a single app (the *Ubuntu Kitchen Sink*) that provides a means to embed detailed configuration panels that expose many of these underlying parts of the system. There could be panels for Unity, Compiz, GNOME, the Kernel, Hardware, and anything else. Given that the focus is on Power Users, anything and everything should be able to be exposed as an option; there should be no concern for confusing the user with too many options – the goal here would be completeness…check-box heaven if you will…a haven for click-happy config junkies.
With this application users would be exposed to a single interface and we would encourage the *Ubuntu Power User* community and others communities to create plug-ins that could be exposed inside the interface. In my perfect dream world these plug-ins would just be configuration files that essentially link check-boxes to a helper app that performs the config change (this would lower the bar for the creation of plugins), but if the plugins are small bits of code that programmatically make the configuration change that could work too.
In this brave new world, instead of hackers creating tools like CCSM, Gunity and Confity, they would instead create plug-ins for the kitchen sink. These plug-ins would then be packaged and made available in the Ubuntu Software Center. For users you would just download the kitchen sink from the software center and then you could install plug-ins that interest you.
So that is it. I think this vision could provide (a) a much more integrated bells-and-whistles configuration experience for the hot-rodders among us, (b) provide a great standard environment for tools-makers to expose configuration options in a way that an established userbase can enjoy, and (c) consolidate the community so we get better testing, bug control and QA for config panels.
Are you a coder who would like to make this a reality? If so, join the [mailing list](https://lists.ubuntu.com/mailman/listinfo/ubuntu-power-users) and let’s talk. 🙂
Creating An Ubuntu Power User Community
Over the last few months there has been some concerned feedback in some parts of the community about how Ubuntu is focused more and more on attracting new users to Ubuntu by providing a streamlined and simplified user experience. Much of this is being achieved with *Unity*; a new desktop interface delivered in Ubuntu 11.04, which will continue to be refined and improved upon based on user testing and feedback.
One key piece of feedback from some Unity users was a concern around the lack of configurability in Unity, and a feeling that it is a little *too simple* and does not expose enough of the system, for which many more expert Ubuntu users enjoy.
One take-away amidst this feedback is that the general focus of Ubuntu is evolving. While traditionally we set out to provide the simplest and easiest to use Ubuntu desktop environment, and this has not changed, this focus is become more and more prevalent as we shave off more and more rough edges on Ubuntu to make it ready for the prime-time. The problem is…some folks don’t want to loose the lack of configurability and control as we move towards the prime-time.
This is *perfectly valid and reasonable* feedback. Fortunately, I think we can have the best of both worlds.
## Building On a Strong Foundation
Let’s first take a step back and let me explain how I think we can deliver an awesome system for both the mums and dads of the world (end users who are resistant to complexity and configurability) and power users (users who want to tune and optimize their system around their specific needs).
At the heart of Ubuntu we ship a layer-cake of components:
Most people, even expert and power users, will typically only care about a particular layer and just want the other layers to work. As an example, a *Kernel* fan just wants his/her desktop to work without any poking, but wants all the power and configuration potential afforded at the Kernel layer. Speaking personally, I just want my *Kernel* and *Foundations* layer to work, but I am really interested in the GNOME layer. In other words, we want the things we don’t care about to *just work*, and we want the full scope of control in the layer we care about.
For most end-users they don’t care about, nor should they care about, any of the layers in the above diagram. This is why we ship *Unity* on top of it:
Here Unity is designed to hide all of the complexity of the underlying layers. Unity is instead designed optimize the user experience for what most end-users need; finding and starting apps, finding files, managing windows, installing new software, seeing when notifications appear etc.
Where we have seen the disconnect in these recent discussions is that some Ubuntu users feel Unity does *not expose enough of the underlying layers* and therefore the system is less configurable than is desired. Some suggestions as solutions to this problem are to change the focus of Ubuntu to power users and not end users, but this is how I think we can solve this…
## Optimizing For Power Users
If we base our assumption that there are these two broad types of user we want to satisfy here (end users who are resistant to complexity and configurability, and power users who thrive on configurability), I believe we can satisfy both by delivering a simple system optimized for the former out of the box, but then build tools and community to allow power users to add the configurability they desire post-installation. I believe that power users are better equipped to build on a simple default installation than end users simplifying a more complex and configurable default installation.
One of the most wonderful elements of Linux is that in the vast majority of cases, *power user* orientated functionality is already exposed under the covers on the system (e.g. you can tweak Compiz setting with CCSM, you can re-compile your kernel if you like, you can tweak hard drive parameters with the terminal etc), it is just not exposed by the GUI.
As such, think of it this way:
So, think of the workflow a little like this (from the perspective of a power user):
1. Joanne Bloggs installs Ubuntu 11.10 on her computer. She is presented with a simple default experience, but she desires more configurability.
2. Joanne discovers an *Ubuntu Power Users* community where she can engage with like-minded power users who like to hot-rod their Ubuntu systems.
3. As part of that community, configuration kitchen-sink tools and functionality is created and packaged inside the Ubuntu Software Center. Joanne is really interested in configuring Compiz and desktop effects so she installs an `ubuntu-expert-desktop` package to get this additional functionality (this package would install an expansive control panel of options for her, possibly inside a unified configuration application).
4. In a few clicks Joanne is now part of a community of like-minded power users, complete with the additional configurability she desires.
## Creating a Power Users Community
I would recommend that this community has three core components:
1. Providing a place for power users to communicate – I am sure the Ubuntu Forums folks can help with this, and an IRC channel (#ubuntu-experts?) and mailing list could be a great place to encourage people to participate.
2. Document configuration functionality – the team could work together to explain how users with a free Ubuntu system can trick it up for this extended level of functionality.
3. Provide tools – I think it could be awesome for this community to produce tools and package existing tools so they are only a click away in the Ubuntu Software Center. A good first step here could be a PPA.
Unfortunately, I don’t have a huge amount of time to contribute to this community, and I think it would be great if some folks who are interested could step up to form a team to lead this work. I would be happy to provide some guidance and mentorship to those experienced in leading such a team.
So, anyone interested in leading such a community and making this vision happen? Let’s have a discussion in the comments and make some plans!
**UPDATE**: A [mailing list](https://lists.ubuntu.com/mailman/listinfo/ubuntu-power-users) has now been set up, and I recommend anyone with an interest in these more advanced Ubuntu needs joins the list. I would also like to encourage packagers and programmers to join to see how some of the ideas outlined in this post could be discussed and built-upon (e.g. a series of configuration packages in a PPA or Ubuntu Software Center).
**UPDATE II: THIS TIME IT’S PERSONAL**: There is now a `#ubuntu-power-users` channel on freenode.
Providing More Scalable Community Growth And Mentoring
One of the most complex things we need to deal with in the Ubuntu community is *scale*. We are a *big* community and as I have talked [about](https://archivedblog.jonobacon.com/2011/01/07/making-ubuntu-more-personal/) [before](https://archivedblog.jonobacon.com/2011/01/22/making-ubuntu-more-personal-identify-contributions-to-engage-more-personally/), I am really keen to ensure that as many people as possible get a very *personal* Ubuntu experience. We are keen to ensure that everyone who strives to become an Ubuntu Member, Core Developer or MOTU gets the very best support and guidance they can from the community to help them be successful.
For us to get to 200 million users it is essential that we can grow and scale up our developer community. A strong developer programme built on the foundation of contributors getting this personal experience is key to our success.
Not success.
Inside Canonical, people have traditionally looked to my team to provide this community growth. While this is an understandable assumption to make, it doesn’t scale. While the team has made great strides in growing our community, we will quickly become a funnel if we try to mentor a significant number of contributors. My goal for this cycle has been to try and put together a strategic solution to resolve this scaling issue. This work is very much internal Canonical team related strategy, but I figured it could be of interest to the community to see where my thinking is.
## Team Level Mentoring
In the Ubuntu Platform team we have a series of different sub-teams such as **Desktop, Server, Foundations, Kernel** and more. Outside of Ubuntu Platform we have teams such as **Ubuntu One** and the **Desktop Experience** team. My goal in building this strategy is to grow community where it makes sense for those different teams and to invest in skills acquisition and mentoring *inside* those skills; not simply my team becoming a proxy for that work.
To achieve this I have talked with many of the Engineering Managers and asked them to assign a member of their teams to be empowered to coordinate this work within their team. To match this person, I have assigned my team across these different teams. Here are some example pairings:
* **Desktop** – Daniel Holbach (*Community Team*) and Jason Warner (*Desktop Team*).
* **Server** – Ahmed Kamal (*Community Team*) and Dave Walker (*Server Team*).
* **Kernel** – David Planella (*Community Team*) and John Johansson (*Kernel Team*).
* **Desktop Experience** – Jorge Castro (*Community Team*) and Neil Jagdish Patel (*Desktop Experience Team*).
* **Ubuntu One** – Jorge Castro (*Community Team*) and Stuart ‘Aq’ Langridge (*Ubuntu One Team*).
With each of these teams I have discuss areas of focus for community growth in the 11.10 cycle that are of particular interest to those specific teams. These have been agreed upon as:
* **Desktop** – Encouraging new packagers and helping mentoring existing prospective developers.
* **Server** – Encouraging new packagers and helping mentoring existing prospective developers.
* **Kernel** – Growing the Kernel QA, Testing, and Triage community.
* **Desktop Experience** – Growing the Unity developer community with a particular focus on getting some developers to the point where they can commit to trunk and review branches.
* **Ubuntu One** – Encouraging the adoption of Ubuntu One by application developers in their apps.
For many of these teams there will be an explicit focus on a team-specific bitesize bugs campaign to act as an on-ramp for new contributors, so you can expect to see a lot of buzz and interest in those campaigns.
Our plan for ‘buzz’ basically involves this. And a free t-shirt.
With the *Desktop* and *Server* teams we are also going to be [reviewing the active timelines](https://archivedblog.jonobacon.com/2011/01/22/making-ubuntu-more-personal-identify-contributions-to-engage-more-personally/) of prospective developers and asking members of those teams to reach out and provide a helping hand to those prospective developers to help them over the hump in being approved as an Ubuntu Developer. We have found in trials of this approach that it provides a very positive personal experience for the folks being mentored.
To manage this work, I have asked each of the pairs above to prepare a roadmap for the 11.10 cycle to coordinate where they will focus and they will track this work with weekly calls. In addition to this my team will be having regular best-practice review calls to ensure the best techniques and approaches learned from this plan are shared across all teams to the benefit of everyone.
So anyway, that is the plan, and I look forward to kicking the tires on it soon!
Explaining UDS Sponsorship
At UDS last week I took an action to write up a quick blog post that explains how UDS sponsorship works. This discussion was born out of the view that some people feel a little bent out of shape when they don’t get approved for UDS sponsorship. This is a common reaction at every UDS, but it really shouldn’t be. Firstly, UDS sponsorship is *not an entitlement*…there is no rule that says “*if you are a great Ubuntu contributor then you get sponsored to UDS*”, and likewise there is no rule that says “*if you are a bad Ubuntu contributor (if such a thing exists) then you don’t get sponsored to UDS*”.
Let me make this point really clear:
**Awesome contributors who do great work often don’t get sponsored due to sponsorship budget limitations**.
OK, now, I want you all to go back and re-read that again. Furthermore, if you see anyone griping about not getting sponsored for whatever reason, I would like to ask you to point them to this blog entry.
### How Sponsorship Works
As I mentioned, I said I would write a blog entry that explains how UDS Sponsorship works. Get ready, it isn’t exactly simple, but I think it provides a really fair method of identifying people who are most suitable for a given UDS. This is a system we have hammered out over the last few years.
This is how it works:
Firstly, we invite people to apply for sponsorship and they file their application in the sponsorship system. Sponsorship is open to everyone. We also ask the Ubuntu Engineering Management team and certain developers at Canonical to make recommendations in the system too. The outcome of this process often nets over 120 or so names in the system. We usually sponsor around 60 people, so our goal is to whittle the list down to the **people who are likely to bring most value to UDS for the goals of that specific release**.
The last bit is important…”*that specific release*”. There is always value brought by everyone at UDS, but given the limited number of people we can sponsor to UDS, it makes sense to bring in people who have valuable input for the goals and focus of the next release. This is not exclusive: we do also prioritize some folks based upon recurring value too (e.g. governance members, some core-devs etc), but as a general role we focus on that given release, not Ubuntu in general.
Inside our system we provide the ability for engineering managers and key staff to vote applications between +3 (considered essential for goals related to that release, and bringing huge input and value to sessions) and -3 (significant concerns or objections about that that person attending, such as worries about not attending sessions, wasting time, being disruptive to other attendees etc).
We then have two stages of scores being applied to candidates:
* Firstly we add **+1** to everyone who has never been to UDS before. This is because we always want to provide an opportunity for new folks to join UDS who have not been before and take part in such a valuable experience in the Ubuntu community. We also apply a **+1** to anyone who is an Ubuntu Member, core-dev, MOTU, or a member of a governance board. We pre-seed these scores because we consider the combination of new blood but also acknowledged experience to be a good combination.
* Secondly, we ask the Ubuntu Engineering Management Team and key staff members to go in and vote for people. They can vote between +3 and -3 and if they don’t know the candidate, the score is left at 0. Rarely do people get negative scores, and is typically only in cases when someone is considered extremely disruptive, abusive, a time-waster, or has demonstrated wasteful or disruptive conduct at a previous UDS.
The scores are aggregated to form a final score (e.g. if two engineering managers provide a -1 and a +3 the final score will be +2). With this we then have a big list of sponsored attendees listed in aggregated score order from high to low.
At this point we have to perform some editorial input on the lower part of the group. As an example, candidates 45 -> 55 may all have +2 scores, which gives us ten slots but then we might have 20 candidates with +2 scores. At this point I will assess the goals of the release and the needs of the engineering teams and shortlist this final ten in the group to form the final 55 or so. I usually approve 55 out of the 60 at this point because there are always engineering managers who have late-breaking needs that need to be satisfied, so I leave a buffer of 5 slots to accommodate these needs.
Finally, the list goes to Mark Shuttleworth who takes a final look and typically makes a few amends (typically people he wants to go who are not on the list) and then the list goes to Marianna who sends the invitations out.
At every UDS there people who are offered sponsorship but who cannot attend, so we also have a backup list of people with the next highest scores who we invite to take up the places of those people who can’t join us.
So that’s it – as you can see it is a pretty fair system – it takes multiple levels of input from a variety of staff and optimizes people if they have not been before or if they have achieved membership, are governors or are approved developers. I am sure some of you will take issue with the fact that this is all Canonical driven, but remember this is a Canonical funded event; UDS is not funded by a foundation or suchlike. I would though in future like to invite the perspectives of some governors on sponsorship applications if it makes sense.
Wrapping up, I want to drill this in one last time:
**Awesome contributors who do great work often don’t get sponsored due to sponsorship budget limitations**.
It doesn’t mean that we don’t love you. We do. Over half of the people who apply don’t get sponsored due to these space limitations, so don’t take it too personally. If you do take it personally, ping me on IRC and we can talk more.
QA Community Coordinator: Inquire Within
I am pleased to announce that I am looking to hire a new member for my team (the *Community Team*) here at [Canonical](https://www.canonical.com). I am looking for a bright, motivated, and experienced person **to build, maintain and develop a cohesive, productive and effective Ubuntu QA community**.
This role will be full-time working at Canonical, you will be working from home with regular travel to various events (such as UDS and team sprints), and you will be working in a fast-paced, productive, and energetic environment. This is a really exciting role that is designed to bring huge value to the Ubuntu community in the area of quality by refining, optimizing, and growing our QA community participation.
Key responsibilities and accountabilities:
* Build and maintain a strong, consistent, and consolidated QA community and to act as a point of reference for this community in continuing its growth and opportunities, and resolving issues.
* Maintain a set of online resources, produce content for those resources and build community participation to generate and optimize content for and from the community.
* Develop and refine better working practises to ease and improve how community members and stakeholders interact with the Ubuntu QA team.
* Liaise with the Canonical Ubuntu Platform Team to better align the direction of the Ubuntu QA community with internal QA needs and workflow.
* Regularly acquire and evaluate feedback from the community and our partners to help improve Ubuntu QA.
* Be responsive and sensitive to the concerns, ambitions and direction of the community, our upstreams and business units inside Canonical.
Required skills and experience
* Strong QA skills and experience, strong networking and social networking skills, good relationship building abilities, process driven, able to manage multiple work streams, good prioritisation, independent, willing to travel potentially 25% of their work time, able to resolve conflict, able to communicate well in written form and produce electronic content.
* Experience of working with community Open Source projects, technical experience with QA technologies and workflows.
* Have strong social skills, a good networker and a good technical knowledge of Ubuntu, Power and the Open Source and upstream/downstream development process. Candidates should be process driven, strategically minded and committed. Good public speaking skills a bonus.
* Candidates should provide evidence of existing experience and work in the Open Source community and suitable references.
## How To Apply
To apply, see the [job description](https://tbe.taleo.net/NA3/ats/careers/requisition.jsp?org=CANONICAL&cws=1&rid=245) and apply using the *apply for this Position* button.
Please don’t send me your resume directly; if you use the system it makes it much easier for me to track all the applications.
Good luck!
LoCo Directory: Next Steps
I love the [LoCo Directory](https://loco.ubuntu.com). The site provides a fantastic way to browse the global list of Ubuntu LoCo Teams, organize events and more. What is more, it is almost entirely a community-driven project; the site has a series of developers who actively work to improve and refine it.
Next week at UDS we have some sessions to discuss the next steps for the LoCo Directory and I just wanted to share some elements that I think would bring huge value to the site and the wider Ubuntu LoCo community:
* **Integrated Help** – the goal with the LD has always been for it to be a central hub of information and content about LoCo Teams and how to empower them to be successful. From the dynamic content perspective, this has been really successful, but I would love to see the documentation and resources about what LoCo teams are, how they work, how to run a team, what the LD does etc, all come to the LD and be built in. I would love to see a ‘Help’ tab that takes me to a knowledge base of content. I think a great approach could be a built-in wiki; this would provide a low barrier for everyone to participate.
* **Make the LD tab-worthy** – I would love to see the LD become interesting enough that I always have it open in a browser tab. Today I only go to the LD when I need to look something up. I would instead love to see the front page of the LD be a constantly updating portal of content that summarizes what is going on in the LoCo community that day. The `#locoteams` stream is a great first step, but I would love it to also show Planet-like content of LoCo related blog posts, a flickr stream of recent pictures etc. This would get me into the mindset of waking up every morning, going to the LD and seeing what is going on in LoCo teams across the world. That would 1.21 Megatonne of awesome.
* **Visually depict the people part of LoCos** – LoCo’s are all about awesome people getting together to do awesome things. On the front page of the [Ubuntu Developer Summit website](https://uds.ubuntu.com) we have a scrolling pane of pictures from UDS that depict the social and personality driven environment of UDS. I think it could be fantastic to have the same kind of slider on the front page of the LD with the latest most interesting pictures from LoCo teams (possibly determined by some open voting system that shows the most popular pics). This could great photos of meetings, group shots and other inspirational content.
Just some ideas, and I look forward to discussing them at UDS.
What other ideas do you think could be interesting for the site?