This being the first time I’m in person at a UDS, I know how difficult it is to follow it remotely and thus my intention was to blog about it daily, but now that I’ve been there I see why there aren’t many people doing this – it’s just too busy ;).

Anyway, now that it’s over I really need to write down some notes. Here you go:

Fast development, and fast packaging of Python applications

The two first sessions I attended after the opening were «Quickly project templates» and «Automagic Python Build System». The first one about creating a tool (named «quickly») for opportunistic programmers to create little applications, and the second one about creating an improved distutils where the file only need to contain meta-data (name of the application, name and e-mail of the author, license…) and everything else is automatically detected (which files should be installed where, which shouldn’t be installed at all, whether gettext files need to be compiled, etc.); further, this distutils would create a Debian package. As was mentioned during the discussion, this won’t work for everyone, but for the 80% of cases where it works it’ll be great.

AptURL Policy Discussion

The discussion was about whether it AptURL should work for PPAs and other external repositories. Alexander proposed to use a whitelisting approach where PPA owners could agree to a policy (not adding new packages without asking, etc.) and get approved for AptURL, but others felt this is not enough. There was no consensus at all during the session (other than perhaps that it’s too difficult to enable third party repositories, but the fix to this not necessarily being AptURL).

Proposal for Voice Driven User Interface

This was a great sessions where we discussed the status and possibilities of controling the computer using voice. The conclusion was that for Karmic we would attempt to get the required tools in place and after that we’d try to get the community engaged to create enough speech corpora. This includes creating a mailing list to discuss voice interfaces and getting Pocketsphinx packaged; see the wiki page for more details.

If someone wants to start playing with this, Julius (another speech recognition engine) is already packaged since Intrepid and some time ago I wrote about how to use it to control applications (including instructions to setup some basic commands to control Rhythmbox).


I met Seif, my Google Summer of Code mentor, and we discussed not only the GSoC project (thanks to Jason we have a pretty cool idea for how it could look like) but also all of Zeitgeist in general (btw, I’m a Maintainer of the project by now).

During UDS we decided that the project will split into Zeitgeist (containing just the engine, its only GNOME-specific dependency being glib/gobjects) and GNOME Zeitgeist (the default, GTK+, GUI), and we discussed several future plugins for it (time-machine functionality for non-binary documents using Bazaar, optional tracker integration, etc.).

Zeitgeist (the engine) is not only going to be used for GNOME Shell (GSoC) but also for the Ubuntu Netbook Remix’s launcher (first as a prototype Python plugin, and once it has been tested that it works it’ll be put into the core) and for Ubuntu’s Parental Control, which was discussed at UDS as well.

Other than the GNOME Do and the UNR folks, Emmet also helped us planning Zeitgeist and I’m really happy to have finally meet him in person. Further, we also spoke with Martin Owens about how Coisas could integrate with Zeitgeist.


We want to get everything inside Karmic available as a “developer preview”. I’ll get the Zeitgeist engine into Debian as soon as we have it ready. GNOME Shell will be packaged too (outside the session, Fabien expressed interest in providing daily builds for all components in a PPA; I told him that I’d poke him once mutter has been fixed to be installable together with metacity).

Speed up downloads of .debs by using rsync algorithm

Zsync will be benchmarked (bandwidth, CPU use, etc.) and considered for packages (.deb) and for Source files. For the later, we discussed providing a Sources.lzma for the first-time download, and a –rsyncable Sources.gz for updates from there on.

Testing will be done with a separate server ( which will provide the files needed by zsync; this will help determine the impact before doing any change to the mirrors.

Proposal to Record and Track Copyright Licensing for Packages

Reasons why the machine-readable debian/copyright format is interesting were discussed (between others, use by Canonical OEM was mentioned). We want to help pushing the format in Debian, and it was mentioned that work on tools to parse it will happen. From the Canonical side a goal is to get all packages in «main» using it.

Death By a Hundred Paper Cuts

Discussion with Canonical’s Design Team on what’s the best way to communicate with developers. A new project (papercuts) will be setup in Launchpad to identify issues which are of «wishlist» importance in Ubuntu but are important from the design perspective; such issues will be identified both looking at existing bug reports and doing user testing.

Paper cuts were defined as little problems which are easy to fix but are a usability problem. For example, during user testing it was found that users though that the icon in Nautilus to switch between showing the current path as text or as buttons was to create a new icon. For this example, the desktop team confirmed that it is very easy to fix from a coding perspective, but that someone else has to provide them with a replacement icon first.

It was also mentioned that this project is going to be 100% open and that anyone is encouraged to participate. And also, that it’s better to fix 5 of those bugs which are easy than a single more difficult one.

Mozilla Prism

I had an informal talk with Fabien (and Alexander) about packaging of web applications for Prism. We agreed that rather than providing lots of binary packages it was best to go with a repository specific to Prism, distribution neutral, which will contain .desktop files (with translations et all) and one or more links to the icons to use (this way we avoid copyright problems as we aren’t going to host any icon at all). The repository will be provided as a package in Ubuntu, but it will be possible for users to switch to third-party ones on the web.

On the visible part of this, there’ll be a new GUI instead of Prism’s default one, which will allow to easily install/uninstall web applications (Prism’s GUI will still be available, of course, to allow adding arbirtrary websites). I’ll get a prototype ready and from there one we can see how it advances (get feedback from users, upstream, other distributions, etc; some stuff I’m thinking about right now is possible integration directly in Firefox or Add/Remove, we’ll see). Oh, and all this will work without super-user privileges, any user will be able to «install» Prism applications, but a system-wide mode could be implemented too.

Other random notes

  • The goal for Karmic is to boot in 15 seconds; as was said, this is a rather aggresive number, but boot speed is important and one of the first impressions users get about Ubuntu, so it is important to be really good here. Once the boot time is that fast, ensuring that there are no regressions in this respect will be fundamental (it will be something as important as CD size). Ah, and this isn’t going to be done by delaying startup, it’s real.
  • Canonical is working on having Android applications work on Ubuntu, without emulation (we saw a prototype of this, but lots of work are still required). Android will be integrated into Ubuntu’s kernel. It was also mentioned that, even though Android’s compiler isn’t Java compliant, it could be used to develop some fast applications for the desktop. Unrelated to this, we also saw a presentation of Moblin running on Ubuntu.
  • Scott Ritchie presented winelib as a convenient option to port Windows applications to GNU/Linux.
  • Fennex was mentioned as a browser candidate for UNR, but it is too touch-device oriented (which is good, but only as long as it can also easily be used with the mouse, which here isn’t the case).
  • Bazaar rocks, as was discovered during the “Plans for Bazaar after 2.0” session.
  • I asked a couple persons (ie., James Westby and a Launchpad developer) about Archive Reorganization. The answer was that work is on progress but there’s no firm deatline for when it will be ready (it may be there by Karmic+1, though).
  • Steve organized a key signing party and by now my GPG key has been signed by several Debian Developers :D. Around 40 people participated. I want to use this chance to tank Scott Kitterman again for helping me get postfix running with GMail so that I can send out the signatures with caff.
  • Scott James helped me get MoM running on my laptop (for this fixing a couple bugs at astonishing speed), so once I get a moment I’ll finally work on letting it look nice.
  • Last but not least, UDS was absolutelly awesome and it was great meeting lots of people from IRC in person (guys, you know who you are :)).

So, to finish this post I just want to mention that you can find a list of all sessions (with links to blueprints and wiki pages) at (you need a Launchpad account to enter the page) and notes about the discussions on Gobby (server:

By the way, like I’ve already told some people, after this amazing week I’ll be busy with exams for the next two weeks, so wish me luck and if you’re looking for me be aware that I may not get online much during this time.