
Another edition of the Ubuntu App Developer Week and another amazing knowledge sharing fest around everything related to application development in Ubuntu. Brought to you by a range of the best experts in the field, here’s just a sample of the topics they talked about: App Developer Strategy, Bazaar, Bazaar Explorer, Launchpad, Python, Internationalization, Launchpad Translations, Unity, Unity 2D, Gedit Developer Plugins, the MyApps Portal, the App Review Board, the UbuntuSoftware Centre, Unity Mail, Launchpad Daily Builds, Ubuntu One APIs, Rapid App Development, Quickly, GooCanvas, PyGame, Unity Launcher, Vala, the App Developer Site, Indicators, Python Desktop Integration, Libgrip, Multitouch, Unity Lenses, Ubuntu One Files Integration, The Business Side of Apps, Go, Qt Quick… and more. Oh my!
And a pick of what they had to say:
We believe that to get Ubuntu from 20 million to 200 million users, we need more and better apps on Ubuntu
Jonathan Lange on making Ubuntu a target for app developers
Bazaar is the world’s finest revision control system
Jonathan Riddell on Bazaar
So you’ve got your stuff, wherever you are, whichever device you’re on
Stuart Langridge on Ubuntu One
Oneiric’s EOG and Evince will be gesture-enabled out of the box
Jussi Pakkanen on multitouch in Ubuntu 11.10
I control the upper right corner of your screen
Ted Gould on Indicators
If you happened to miss any of the sessions, you’ll find the logs for all of them on the Ubuntu App Developer Week page, and the summaries for each day on the links below:
- Day 1 Summary
- Day 2 Summary
- Day 3 Summary
- Day 4 Summary
- Day 5 Summary (this post)
Ubuntu App Developer Week – Day 5 Summary
The last day came with a surprise: an extra session for all of those who wanted to know more about Qt Quick and QML. Here are the summaries:
Getting A Grip on Your Apps: Multitouch on GTK apps using Libgrip
In his session, Jussi talked about one of the most interesting technologies where Ubuntu is leading the way in the open source world: multitouch. Walking the audience through the Grip Tutorial, he described how to add gesture support to existing applications based on GTK+ 3. He chose to focus on the higher layer of the uTouch stack, where he explained the concepts on which libgrip, the gesture library, is built upon, such as device types and subscriptions. After having explored in detail the code examples, he then revealed that in Oneiric Eye Of GNOME and Evince, Ubuntu’s default image viewer and default PDF reader, will be gesture-enabled.
Check out the session log.
Creating a Google Docs Lens
By Neil Patel
Neil introduced his session explaining the background behind Lenses: a re-architecture effort of the now superseded Places concept to make them more powerful, provide more features and make it easier to add features through a re-engineered API. Lenses create its own instance, add categories, filters and leave the searching to Scopes. The Lenses/Scopes pairs are purely requests for data, independent of the type of UI, and being provided by the libunity library, they can be written in any of the programming languages supported by GObject Introspection (Python, Javascript, C/C++, Vala, etc.). To illustrate all of this concepts, Neil devoted the rest of the session to a real example of creating a Lens for Google Docs.
Check out the session log.
Practical Ubuntu One Files Integration
Another hands-on session from Michael, with a real world example on how to supercharge apps with cloud support. Using his experience in integrating the Ubuntu One Files API to Deja Dup, the default backup application in Ubuntu, he went in detail through the code of a simple program to talk to a user’s personal Ubuntu One file storage area. We liked Michael’s session so much that it will very soon be featured as a tutorial on developer.ubuntu.com!
Check out the session log and Michael’s awesome notes.
Publishing Your Apps in the Software Center: The Business Side
By John Pugh
Ubuntu directly benefits from Canonical becoming a sustainable business to support its development, and that’s exactly what John talked about. Being responsible for business development in the Ubuntu Software Centre, he’s got a privileged insight on how to make it happen. He started off explaining that the main goal is to present Ubuntu users with a large catalog of apps available for purchase, and then continued concentrating on how to submit paid applications to be published in the Software Centre. A simple 5-step process, the behind-the-scenes work can be summarized in: Canonical helps packaging the app, it hosts the app and provides the payment via pay.ubuntu.com, in a 80%/20% split. Other highlights include the facts that only non-DRM, non-licensed apps cannot be submitted right now, but there is ongoing work to implement license key support, and that MyApps, the online app submission portal, can take any nearly any content: apps with adverts, “free” online game clients and HTML5 apps.
Check out the session log.
Writing an App with Go
Gustavo’s enthusiasm for Go, the new programming language created by Google shows every time you start a conversation with him on that topic. And it showed as well on this session, in which he created yet another “Hello world” application in a new language -you guessed-: Go. Along the way, he had time to describe all of the features of this new addition of the extensive family of programming languages: statically compiled with good reflection capabilities, structural typing, interfaces and more.
Check out the session log.
Qt Quick At A Pace
By Donald Carr
Closing the week on the last -and surprise- session, we had the luxury of having Donald, from the Nokia Qt team, the makers of Qt itself, to talk about Qt Quick. Using a clear and concise definition, Qt Quick is an umbrella term used to refer to QML and its associated tooling; QML being a declarative markup language with tight bindings to Javascript. A technology equally suited to mobile or to the desktop, QML enables developers to rapidly create animation-rich, pixmap-oriented UIs. Through the qtmediahub and Qt tutorial examples, he explored QML’s capabilities and offered good practices for succesfully developing QML-based projects.
Check out the session log.
Wrapping Up
Finally, if you’ve got any feedback on UADW, on how to make it better, things you enjoyed or things you believe should be improved, your comments will be very appreciated and useful to tailor this event to your needs.
Thanks a lot for participating. I hope you enjoyed it as much as I did, and see you again in 6 months time for another week full with app development goodness!

Creating the concept and implementing a site for app developers is no easy task. The Ubuntu App Developer site is meant to be a place for app authors to get started with development, to find the information they need and to be able to publish their apps in the Software Centre. John explained all the research and user testing that happened behind the scenes, highlighting the key findings, while David focused on the purpose of the site, where it fits in the overall developer strategy for Ubuntu and the plans for the future.


Multitouch is everywhere these days, and now on your desktop as well -brought to you by developers such as
Lenses are ways of presenting data coming from different sources in Unity. 


Jono, who has recently started working on the Ubuntu developer programme after having been developing and defining the strategy on Launchpad for the last 5 years, started off explaining that to cross the chasm and to get our OS from 20 million to 200 million users, we need more and better apps on Ubuntu. There are some key aspects to this goal, coinciding with areas of ongoing work:
“Bazaar is the world’s finest revision control system” – an awesome quote to start an equally awesome session. With this, and with the idea that Bazaar needs to be available to anyone, not only to those already comfortable with the command line, Jonathan Riddell provided a tour of the most feature-rich GUI for Bazaar. Illustrating the most common commands for everyday use and with plenty of pictures, he provided an excellent overview of how this powerful, cross-platform, graphical interface for bzr can make life much easier to app developers.
As a grand finale to the day, Alan delivered a beginner-friendly session on the basics of the Python programming language. Assuming no prior knowledge, he walked participants through the classical “Hello world” example in Python, which universally greets programming novices on the terminal with a friendly welcome message. Along the way, he explained in detail all the extra bits to make this simple application run and be useful as a kickstart to becoming a full-blown Python programmer.
Did you know that along with code hosting, release management, bug tracking and support, you can also use 

Canonical is taking app developers very seriously,and one of the important aspects of ensuring a smooth workflow for submitting and publishing applications into the
If you are an open source developer and want to publish your libre + gratis app into the
Latest Official Posts