Ubuntu App Developer Goings On
With the release of Ubuntu 12.04, there have been many different viewpoints on which parts are the most important features and facilities for our users; Unity, the HUD, application choice etc etc.
Let me show you what I consider to be one of the most important parts of Ubuntu:
The [Ubuntu Software Center](https://www.ubuntu.com/ubuntu/features/ubuntu-software-centre) is the doorway to new applications and experiences for our users.
For many years we have had a wonderful archive that we inherit from Debian and expand and refine pieces of for Ubuntu. The Ubuntu Software Center isn’t just a *prettier Synaptic*; it is a showcase for awesome Free Software and commercial applications, judged by our users in the ratings and reviews, as well as a delivery mechanism for app developers to sell their apps, books, magazines and other content.
While Free Software developers have been able to deliver their apps via traditional repositories for years, the *Ubuntu Software Center* offers a unique opportunity for both commercial and Free Software applications to deliver their apps in Ubuntu. get great visibility, and be used by millions of Ubuntu users all around the world.
I have had a theory for a little while now: I think a decent chunk of our users (particularly users of Ubuntu for a long time) haven’t really explored the Ubuntu Software Center and what it has to offer. For those of you who have usually relied on `apt-get` on the command-line to install your software, I strongly encourage you to check out the *Ubuntu Software Center*; as I have continued to use it more and more, I have discovered new applications, have more informed choices (via ratings and reviews), and bought interesting commercial apps. I see the Ubuntu Software Center as a wonderful market place for both Free and Commercial applications that serve our users well.
Recently I have been talking about the importance of application developers in Ubuntu. A big piece of delivering an awesome platform for application developers is ensuring that *all paths that lead to the Ubuntu Software Center are smooth, efficient, and enjoyable*, and ensuring that the Ubuntu Software Center itself is a pleasurable experience for users, with a wealth of wonderful content to choose from.
I think we are making good progress here. but I wanted to follow up and talk about some of the work we are doing in growing this app developer community in Ubuntu. This is a longish post, but I encourage you to read it as I think it will give you folks a sense for where we are going and ways in which you can help. Everything we are doing here is Open Source; the [Ubuntu Software Center](https://launchpad.net/software-center), [apps.ubuntu.com](https://launchpad.net/ubuntu-webcatalog), [Quickly](https://launchpad.net/quickly), [pkgme](https://launchpad.net/pkgme) and more, and we need your help to continue to move the Ubuntu app developer platform forward.
## Quickly
Quickly is an important part of Ubuntu. In much the way we think of [Juju](https://juju.ubuntu.com/) as our *cloud orchestration platform* for Ubuntu, I see Quickly as our *application development orchestration platform* for Ubuntu. With Quickly you can create a new application and be up and running in minutes, edit and develop your app, generate packages, and release your packages in a PPA. Quickly does a wonderful job of simplifying these tasks for app developers.
For Quickly to be a comprehensive tool for app developers, it needs to be able to support the kind of applications that people want to write. One area of focus I have been exploring recently is making it easier for Flash applications to be packaged for Ubuntu (this should be as simple as feeding Quickly an `.swf` file). Stuart Langridge fixed the Quickly Flash template so this works now; Flash packages can now be generated in just a few commands.
*Create your Ubuntu app with a single command.*
We have also been working with some other developers to help them to get a wider coverage of Quickly templates. *Angelo Compagnucci* has been doing excellent work on a Qt Quick Python Quickly template and Didier Roche has been working on a HTML5 template. Both work well and are making good progress; this would expand our coverage so that app devs can write GTK, Qt, HTML5, Flash, and Command Line apps. Our goal is to try and get these new templates backported for Ubuntu 12.04.
Another important change is that Mike Terry fixed `/opt` support in Quickly (this is so applications can install their content to `/opt`; a requirement for the Application Review Board). This has been fixed and release to Ubuntu 12.04 users. This was important in optimizing the ARB for app submissions.
If anyone is looking for an interesting project to work on, I think one thing we need in Quickly today is a means to *import a project* into Quickly. Anyone want to give it a shot? 🙂
## pkgme
[pkgme](https://pkgme.net/) is a fantastic tool being developed by folks in Canonical to automate packaging. The idea is simple: you can run an application tarball (or otherwise) through pkgme and it will detect what kind of application it is and package it automatically, depositing an Ubuntu package. This tool is being developed to reduce the amount of manual packaging required for applications.
At the Ubuntu Developer Summit there was an interesting session on pkgme and I have had Michael Hall and Daniel Holbach on my team working on supporting the pkgme team in growing community participation in the project. pkgme is built so that it can support multiple backends to detect different types of applications, and Michael Hall is reaching out to the community to encourage folks o write backends to improve pkgme’s coverage and success.
This is something that we would love you folks to help with; see [Michael’s blog entry, complete with tutorial for more details](https://mhall119.com/2012/06/contributing-to-ubuntu-a-better-pkgme/). Michael is currently lining up points of contact for different backends so that prospective back-end developers can get all the help you need.
Daniel Holbach also ran the ARB queue through pkgme and this and uncovered a set of bugs that the team are focusing on. A combination of growing community participation in pkgme, growing the number of backends, and exposing it to real world scenarios (such as the ARB and Consumer Apps Team submissions) is going to help further the project more and more.
Interested in helping? Be sure to join `#pkgme` on freenode IRC and [join the mailing list](https://launchpad.net/~pkgme-devs).
## Reviewing Submissions
An important part of Ubuntu is the *Application Review Board*. This is a community board that reviews free applications from app developers for inclusion in Ubuntu. The ARB have faced some challenges in keeping up with the queue of new applications. One of the primary challenges here has been in getting the submitted apps to a point where the packaging works correctly. This challenge has bottlenecked on the existing ARB members, despite their excellent contributions, and we have been working to bring some improvements here.
A big piece of this is building more of a support network for the ARB called `arb-helpers`. This will be a wider group who can review the queue and help with any engineering tasks.
Unfortunately, in terms of this additional engineering, there was not really a good way for people to collaborate (the queue of applications merely has the submitted content from the developer in a tarball/zip file and no way to submit improvements).
Daniel Holbach has put together a script that sucks in all of the code submissions in the queue and generates bazaar branches. This means that our existing developer base can use the tools they are familiar to help with these submissions. We would like to make motu and core-dev members be automatic members of arb-helpers so that they can submit engineering improvements (as they have the packaging experience).
## Upstream Relations
Upstreams are an essential part of Ubuntu. We have a pretty simple goal here: to make the *upstream software experience the best it can be in Ubuntu*. We want upstreams to feel that their software is delivered well in Ubuntu.
*Beatbox, complete with Unity Quicklists for a more integrated desktop experience*.
As part of this work Michael Hall has been working with David Planella to reach out to upstreams directly and ensure that they have all the support and guidance needed to deliver their software in Ubuntu. This work is being tracked on a Trello, and Michael also developed [Hello Unity](https://mhall119.com/2012/04/hello-unity-episode-3-4/) as a useful tool to make it easier for upstreams to integrate their apps nicely into Ubuntu.
In addition to these, [last week I announced](https://archivedblog.jonobacon.com/2012/06/06/download-for-ubuntu-button-campaign/) a campaign to encourage *Download For Ubuntu* buttons on Upstream websites. This is a great project in which everyone can help – just see [this wiki page](https://wiki.ubuntu.com/SoftwareCenter/AppPromotion) and reach out to the upstream and ask them to put the Ubuntu button on there. This helps to continue to spread the awareness of Ubuntu.
## Getting More Developers Involved
An important goal for the coming months is to get more and more developers interested in building applications for Ubuntu. We want app developers to feel at home with the tools, documentation, and community support they need to build applications that run smoothly on Ubuntu.
David Planella has been leading a raft of improvements to [developer.ubuntu.com](https://developer.ubuntu.com), which include additional API documentation, and the creation of a cookbook of recipes and HOWTOs for common programming challenges. We have also been ensuring that the site is up to date for the current platform we have and [building an Ask Ubuntu resource](https://askubuntu.com/questions/tagged/application-development) for app developer related questions. Have a quesion? [Ask](https://askubuntu.com/questions/ask?tags=application-development)!
This week we are also going to be [announcing an application development competition](https://developer.ubuntu.com/2012/06/coming-soon-app-developer-competition/), so stay tuned!
3D Python Game Development
[Panda3D](https://www.panda3d.org/) looks awesome as a Python powered 3D game engine. I can imagine this, tied with a Quickly template, and [their awesome docs](https://www.panda3d.org/reference/1.7.2/python/annotated) and [awesome manual](https://www.panda3d.org/manual/index.php/Main_Page) could be a compelling platform for game development on Ubuntu.
*An example of Panda3D in action.*
Unfortunately, [it is not available in the repositories](https://www.panda3d.org/download.php?platform=ubuntu&version=1.7.2&sdk). Anyone interested in packaging it?
‘Download for Ubuntu’ Button Campaign
Applications, delivering awesome apps to our users, and making it easy for developers to create and deliver their apps, is going to be critical to success of Ubuntu. Fortunately there is a lot of work going on in this area, more of which I will elaborate on later this week.
Part of this work is going to be making it easy for Ubuntu users to be able to download software. The [Ubuntu Software Center]() is our primary mechanism for this, but we also know that users browse application and upstream websites and will often look at their Download pages to find an Ubuntu download.
Ideally we want any user who looks at a Download page on an application website to see this:
The user can then click this button and view more details, and ratings and reviews of the app in Ubuntu, and install it with just a click.
## We Need Your Help!
Right now, many application websites don’t have these buttons on their Download pages. As such, I asked *Michael Hall* to generate a list of the most popular 100 applications in the Ubuntu Software Center, and generate the HTML.
To help with this, just do the following:
* Go to [the campaign wiki page](https://wiki.ubuntu.com/SoftwareCenter/AppPromotion) (you will need to scroll the right to see everything as the page is quite wide)
* Pick an application.
* Find the application’s website (you might need to Google this) and see if the button is on their download page.
* Now find the contact details for the app. This could be a mailing list, a specific person, a general email address etc. Again, you might need to do a little Googling to find the details.
* Email the contact the HTML snippet for your app from the [wiki page](https://wiki.ubuntu.com/SoftwareCenter/AppPromotion) and ask them if they could include it on the Download page.
* Add your name to the [wiki page](https://wiki.ubuntu.com/SoftwareCenter/AppPromotion). to indicate that you reached out to them.
* If you notice that they add it, add a link to the [wiki page](https://wiki.ubuntu.com/SoftwareCenter/AppPromotion) to the app’s Download page with the button!
If the developer asks why they should do it, emphasize that this will make it easier for Ubuntu users of their app to install it with just a click.
If we can divide and conquer we can spread the buttons further afield and continue to make it easy for people to install their favorate apps in in Ubuntu! Thanks for your help!
Ask Me Anything
Just a quick note: today I did a Reddit Ask Me Anything, and there were a lot of questions that I answered that cover a range of different topics. You can [read it all here](https://www.reddit.com/r/IAmA/comments/umavd/iama_ubuntu_community_manager_at_canonical/).
Help Needed! Ask Ubuntu Accomplishment Documentation
I have something rather cool to show you:
This is a screenshot of [Ubuntu Accomplishments](https://wiki.ubuntu.com/Accomplishments) with support for [Ask Ubuntu](https://askubuntu.com/) badges. This means that when you get an Ask Ubuntu badge, you will see a notification bubble appear on your desktop, and you can see all of your Ask Ubuntu badges with the rest of your trophies.
Currently all the Ask Ubuntu badges are working with Ubuntu Accomplishments, and all have working integration tests.
One of the nice features of Ubuntu Accomplishments is that you can browse documentation for the different Opportunities that you have not yet accomplished. This provides a neat way of learning how to accomplish new things.
As an example, I don’t have the *Strunk and White Ask Ubuntu* trophy yet. When I click on it I see:
While we have all the Ask Ubuntu accomplishments working and all the tests written, we still need help to get the documentation written for all the badges. This is where we need your help.
## How To Help
Helping is simple!
Head over to [this page](https://meta.askubuntu.com/questions/3282/lets-integrate-ask-ubuntu-badges-with-the-operating-system/3283) for instructions of how to get started. You will basically grab the accomplishments, pick one from the list that has not had documentation written yet, submit the docs, and then tick it off the list.
We really want to get the Ask Ubuntu accomplishments into the 0.2 Ubuntu Accomplishments release next week, so if you folks can help, that would be awesome!
Humble Indie Bundle in Ubuntu
We are delighted to announce that the [Humble Indie Bundle](https://www.humblebundle.com/?utm_source=ubuntu), that was just announced will have all the games available in the [Ubuntu Software Center](https://www.ubuntu.com/ubuntu/features/ubuntu-software-centre) running natively on Ubuntu.
For the next few weeks you can go and donate whatever you like to buy *Amnesia: The Dark Descent, Psychonauts, LIMBO, Superbrothers: Sword and Sworcery EP* and if you pay more than the average you also get *Bastion*.
Remember, you only have a few weeks to go and donate whatever you like to buy the games, and when you have bought them from the [Humble Indie Bundle Website](https://www.humblebundle.com/?utm_source=ubuntu) you can install them with a single click in the Ubuntu Software Center!
Proceeds go to the [Electronic Frontier Foundation](https://www.eff.org/) and [Childs Play](https://www.childsplaycharity.org/), so snap up these awesome games, running natively on Ubuntu, and help charities and indie game devs!
We have a few other fun things planned over the next few weeks, so stay tuned!
**[Go and grab the games!](https://www.humblebundle.com/?utm_source=ubuntu)**
Ubuntu Accomplishments Web Gallery: Django Developers Needed!
*Before we get started, I want to offer all of my American friends a thoughtful Memorial Day (I was going to say ‘happy’ memorial day, but there is nothing particularly ‘happy’ about the meaning behind the day). I hope you all have a nice day with family and/or friends*.
On an unrelated note, I just wanted to have a quick call for Django web developers to participate in a fun new project as part of the [Ubuntu Accomplishments](https://wiki.ubuntu.com/Accomplishments) system.
The idea is simple: part of the fun of achieving trophies for things you have accomplished on your computer and in the community is showing your trophies to your friends, colleagues, and other community members.
Fortunately, this is not a particularly complex project to build: it just requires a consistent vision, and plenty of hands on deck to make the magic happen.
To help smooth things along, I [wrote a spec complete with mockups and implementation details](https://wiki.ubuntu.com/Accomplishments/Specs/WebGallery) that explains how the system works, and how some of the functionality could be implemented.
To give you a brief example of how it could work, the idea is that a user can voluntarily show their accomplishments online. When this is enabled you can browse all of their accomplishments on one page:
You can also click on a collection to view the trophies by category:
There are all kinds of other interesting things that we could do too such as showing other people who have accomplished similar trophies, showing statistics, connecting to social media platforms and more.
## Getting Involved
Sound interesting? Do you know how to program with Django and want to get involved?
Well, you are a legend. Let me explain how you get started.
1. First, go and [read the spec](https://wiki.ubuntu.com/Accomplishments/Specs/WebGallery) to get an idea of how the project will work.
2. Next, join our [mailing list](https://launchpad.net/~ubuntu-accomplishments-contributors) and send an email expressing an interesting in participating in the Web Gallery project. You should also read these two threads to get up to sync: [1](https://lists.launchpad.net/ubuntu-accomplishments-contributors/msg00192.html) [2](https://lists.launchpad.net/ubuntu-accomplishments-contributors/msg00196.html)
3. Now see the [Trello board](https://trello.com/board/accomplishments-web-gallery/4fc37826d4b78c516336198f) and pick one of the topics that needs completing and assign it to yourself. The Trello provides a nice means to see who is working on what and the status of that work.
4. Now check out the code with `bzr branch lp:ubuntu-accomplishments-web` and start hacking.
5. You can get help on the [mailing list](https://launchpad.net/~ubuntu-accomplishments-contributors) as well as in `#ubuntu-accomplishments` on Freenode IRC.
Thanks and I look forward to you joining our community!
Ubuntu Accomplishments: Translations Needed For 0.2
**IMPORTANT**: *Before I get started, if you are running the daily PPA of Ubuntu Accomplishments, please use the [releases PPA instead](https://launchpad.net/~ubuntu-accomplishments/+archive/releases) right now as the validation server is using the 0.1 accomplishments collection as opposed to the faily 0.2 accomplishments. If you are using the daily PPA you accomplishments will not get verified*.
Now…normal service resuming…
As [we build up to the 0.2 release](https://archivedblog.jonobacon.com/2012/05/22/heading-towards-0-2/) of [Ubuntu Accomplishments](https://wiki.ubuntu.com/Accomplishments) we have hit feature freeze and are now focusing on bug-fixing. We have also locked down the strings in the viewer and daemon, and this means that we want to reach out to our awesome community of translators to help get this baby translated into every possible language.
## How to help
First, head over and translate the daemon and the viewer:
Helping with this effort is simple. First, please go and help translate the daemon and viewer:
* [Click here to translate the Ubuntu Accomplishments Daemon](https://translations.launchpad.net/ubuntu-accomplishments-daemon)
* [Click here to translate the Ubuntu Accomplishments Viewer](https://translations.launchpad.net/ubuntu-accomplishments-viewer)
Thanks for your contributions; a few minutes contributing translators can make the Ubuntu Accomplishments experience nicer for thousands of users!
## Providing Localized Documentation
When you have translated the daemon and viewer, we really need help translating the *Ubuntu Community Accomplishments* collection too.
Importantly, this is not just about word-for-word translation from English to another language, but instead providing **awesome documentation designed for people who speak your native language**.
As an example, every accomplishment has a *Summary* section which provides an introduction to the accomplishment, what is involved, and what the jargon means. Feel free to write the most detailed explanation you like in your language, even if the original English version is quite short. The English translation is provided as an example: feel free to improve on the summary in your own language.
Another good example are the *Links* and *Help* resources: the original English ones will be English resources – feel free to provide resources and links that are native to your language.
I want to encourage you all to help make the documentation for your language the *best possible documentation* for new users (e.g. “*e.g. our French documentation is the most complete of any of the languages!*”). 🙂
### How to help
Here is how you do this as it is a little different:
Contributing is really simple. Just follow these steps:
First, go to [https://translations.launchpad.net/ubuntu-community-accomplishments/trunk](https://translations.launchpad.net/ubuntu-community-accomplishments/trunk).
When you go there you might see some languages listed below like this:
If you don’t or would like to select another language, click the **Change your preferred languages** link and select the languages you want to translate in to. Those languages will now appear like the ones above. The colored bar shows what proportion of the accomplishments are translated (green) and what are not (red).
Now click one of the languages (e.g. if I click on *English (United Kingdom)*) and you will see the list of things you can translate. Here is an example of one:
The translation of Ubuntu Accomplishments works a little differently. You should IGNORE the *English* line at the top (e.g. where it says member-loco-team_description) and instead look at the documentation just below. There it tells you which accomplishment you are editing and what the original English translation is. In the above image you can see we are writing German documentation, the accomplishment is ‘LoCo Team Member’ and this specific field in the accomplishment documentation is ‘steps’. More the different fields below.
You can now type your own language’s documentation into the **New translation** box. For the larger chunks of text you can use the grey button at the end of the *New translation* box to make the text entry bigger.
If there is already a translation there and you want to edit and improve it, click the **Current <language> translation** button and the text will be copied to the edit box where you can edit it.
Now click the **Save** button at the bottom of the page to save your contributions. **Sometimes you have to scroll to the right to see the Save button due to some of the long chunks of the text on the page**.
Thanks for making Ubuntu easier and more fun to participate in for our community!
The Canonical Community Team
We had a new team photo taken. Thanks to *Graham Binns*!
**L-R**: Jorge Castro, David Planella, Jono Bacon, Daniel Holbach, Nicholas Skaggs, Michael Hall.
Community Leadership Summit 2012 Coming Soon!
Just a quick reminder that in just over a month we will be hosting the [Community Leadership Summit 2012](https://www.communityleadershipsummit.com/) in Portland, Oregon on from **Sat, July 14, 2012 – Sun, July 15, 2012**. The event happens the weekend before the [OSCON](https://www.oscon.com/oscon2012) conference, so this is a great opportunity to attend both events.
The *Community Leadership Summit 2012* brings together community leaders, organizers and managers and the projects and organizations that are interested in growing and empowering a strong community.
This **entirely free** event pulls together the leading minds in community management, relations and online collaboration to discuss, debate and continue to refine the art of building an effective and capable community. We have over **250** people registered, and we would love to see you there too!
At the heart of *Community Leadership Summit 2012* is an open unconference-style event in which everyone who attends is welcome to lead and contribute sessions on any topic that is relevant. These sessions are very much discussion sessions: the participants can interact directly, offer thoughts and experience, and share ideas and questions. These unconference sessions are also augmented with a series of presentations from leaders in the field, panel debates and networking opportunities.
## Joining Us
You can find out more details about [where the event is](https://www.communityleadershipsummit.com/travel-hotel/) and [how it works](https://www.communityleadershipsummit.com/about/) as well as seeing the [registered attendance list](https://www.communityleadershipsummit.com/attendees/). If you are interested in joining us, it is an entirely free event, but ask you to [register here](https://www.communityleadershipsummit.com/register/).
## Plenaries
This year we are also going to be including a series of 15 minute plenary presentations that will happen after lunch on each day. These plenaries are designed to present interesting techniques, learnings, and case studies that will be of interest to community managers and leaders. If you are interesting in giving one of these plenaries, please email your topic and a summary of what you would like to speak about to `jono At ubuntu DOT com`.
## Sponsorship
I am just in the process of finalizing our sponsors for the event and will be announcing them soon. We are a little under our sponsorship budget, so if you would be interested in sponsoring the event, please email me at `jono AT ubuntu DOT com`.
**Find out more at [https://www.communityleadershipsummit.com](https://www.communityleadershipsummit.com)**!