Ubuntu App Developer Week – Day 4 Summary
Last day of UADW! While we’re watching the final sessions, here’s what happened yesterday:
Creating an App Developer Website: developer.ubuntu.com
By John Oxton and David Planella

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.
Check out the session log here.
Rapid App Development with Quickly
Fitting nicely topicwise with the questions about the default choice of tools for Ubuntu development on the previous session, Michael gave an overview of what Quickly is and how to use it. Going through the workflow of creating your first app with Quickly, he demonstrated all the key commands and explained in detail all the bits in between.
Check out the session log here.
Developing with Freeform Design Surfaces: GooCanvas and PyGame
By Rick Spencer
Rick started off the session explaining what GooCanvas and PyGame were good for: providing a 2D surface on which to construct interactive GUIs for users. Beginning with GooCanvas, he showed with a very simple example how to get started playing with 2D composing surfaces, adding images, text and doing other operations such as resizing and calculating coordinates to determine clicks. Next up was PyGame, for the same purpose, but better suited for apps with lots of animation updates without user input. He then wrapped up with three samples of simple games to study.
Check out the session log here.
Making your app appear in the Indicators
By Ted Gould
Ted Gould, the man who controls the upper right corner of our screen, talked all about indicators. The idea was to illustrate how to get the information that comes from applications and handle it to the indicators. First up was the messaging menu, a menu to handle human-to-human communication, next the application indicators, which alllow long-running apps to put statuses on the panel consistently, and finally the sound indicator, taking care of all related to sound. Each one of them explained with code examples. Nice!
Check out the session log here.
Will it Blend? Python Libraries for Desktop Integration
Marcelo shared his experience acquired with Polly, a Twitter client he developed, on using Python and libraries to let apps provide better integration to the desktop. First explaining the concept of desktop integration, stressing the fact that it’s not only about visuals. The rest of the session was structured around 3 main areas: how to send notifications to the user, where to place files read or written by an app and what to use to store sensitive information. A very clear and solid session, also with example code for easy learning.
Check out the session log here.
The Day Ahead: Upcoming Sessions for Day 4
Check out the first-class lineup for the last day of UADW:
16.00 UTC – Getting A Grip on Your Apps: Multitouch on GTK apps using Libgrip
Multitouch is everywhere these days, and now on your desktop as well -brought to you by developers such as Jussi Pakkanen, who’ll guide through using libgrip to add touch support to your GTK+ apps. Learn how to use this cool new library in your own software!
17:00 UTC – Creating a Google Docs Lens
Lenses are ways of presenting data coming from different sources in Unity. Neil Patel knows Lenses inside out and will present a practical example of how to create a Google Docs one. Don’t miss this session on how to put two cool technologies together!
18:00 UTC – Practical Ubuntu One Files Integration
Yet again the Deja-dup rockstar and UADW regular Michael Terry will be sharing his deep knowledge on developing apps. This time it’s about adding cloud support to applications: integrating with the Ubuntu One files API.
19:00 UTC – Publishing Your Apps in the Software Center: The Business Side
Closing the series of sessions around publishing apps in the Software Centre, we’ll have the luxury of having John Pugh, from the team that brings you commercial apps into the Software Centre and who’ll be talking about the business side of things.
20:00 UTC – Writing an App with Go
Go is the coolest kid around in the world of programming languages. Gustavo Niemeyer is very excited about it and will be showing you how to write an app using this language from Google. Be warned, his enthusiasm is contagious!
20:00 UTC – Qt Quick At A Pace
A last minute and very welcome addition to the schedule. In his session Donald Carr will introduce you to Qt Quick to create applications with Qt Creator and QML, the new declarative language that brings together designers and developers.
Looking forward to seeing you all there!
Starting off with a description of the features of
Assuming some previous knowledge on Debian packaging, in his session Jelmer walked the audience through a practical example of a basic recipe build for a small project: pydoctor. Drawing the cooking recipe analogy, package recipes are a description of the ingredients (source code branches) and how to put them together, ending up with a delicious Debian package for users to enjoy. Launchpad can build packages from recipes once or automatically on a daily basis provided the code has changed, conveniently placing the result in a 







An interactive and popular session, in which Florian started describing the main goal behind the Unity 2D project: to run on platforms that do not provide accelerated
Starting off with a description of Gedit plugins, their purpose and how to install them, Curtis delved into the
In another session devoted to the app developer strategy, Anthony told us all about the MyApps webapp developers can use to submit their applications to the Software Center. Available on
Complementing the previous session, Stéphane explained how libre+gratis apps can get into the Software Centre and what the App Review Board’s (ARB) role is in that process. He focused on how the Board reviews applications and how other types are distributed in Ubuntu. The types of apps reviewed by the ARB are small, lightweight apps, usually of the type created by Quickly (check out the sessions on Quickly on Thursday!). The next upcoming changes in the way this applications are reviewed will most probably include them being submitted through the MyApps online portal and them being made more secure by wrapping them in a container based on AppArmor or Arkose (or a combination of them).
We’re starting to see more and more apps that integrate with Unity.
Launchpad has many awesome features. This time around 


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 

Jono Lange
Bazaar is a tool to track history of your code revisions and make it easy to distributed teams to collaborate developing code. But it’s not all about the command line.
Do you want to write your first lines of code in Python and need some help? Then no worries, 


So, new Ubuntu cycle and time for a fresh translations videocast!


Latest Official Posts