Category: Canonical

Today marks the beginning of my last week at Canonical, where I’ve been working for the last 2.5 years. Because of the conflicts between the direction the company is driving to and my personal interests (GNOME), I have decided it is time for me to move on.

Since I am a positive person, I would just remember the good things of these 2.5 years, which have been, mainly, the nice people I’ve been working with, with a special mention to the Ubuntu Desktop team, composed of very great people. Also, some good projects I’ve worked on, like the Ubuntu One music store or the work at the Desktop team.

I can’t say yet publically where I’ll be working next, but I’ll continue being around GNOME.

The GNOME3 PPA for that team seems to be just a copy of the official GNOME3 PPA, but just in case, this is a public announcement to let people know that they shouldn’t use that PPA (unless they really want to, of course), but use the official one instead, which is at:

With the great work from Robert Ancell and Sebastien Bacher, who worked on packaging the new GLib/GTK3 stack, and with the recent packaging of a few GNOME 3 applications (eog, Nautilus, the new control center, …), you can start testing what will be GNOME 3 on Ubuntu (Natty) by using this PPA.

Please note that this is a work very much in progress, which means that, apart from the usual problems of running unstable software, it’s got the unstability of new packages added, so please USE WITH CARE. I would suggest to use a virtual machine for testing this, but please test it and report any problems you might find. It seems to be running ok for me (on a virtual machine), but please don’t risk your every day desktop

Ubuntu One‘s SyncDaemon (the process that takes care of synchronizing your files between the cloud and the desktop) has a DBus interface for applications to control and get notifications from it about what it is doing. This interface was being used in the Nautilus plugin and other desktop tools contained in ubuntuone-client itself. Even though powerful and straightforward, we haven’t seen many applications using it, since usually 3rd party applications don’t want to be dealing with the low level DBus API themselves.

But this is now history, since I introduce you to libsyncdaemon, a GObject wrapper on top of the DBus API which makes it very easy to communicate with SyncDaemon, as well as improving a lot the performance compared to accessing the DBus API directly (thanks to its use of caches, to avoid DBus calls repeating when no needed) and containing high level functions that would allow applications to, for instance, publish a file on Ubuntu One with just one call:
SyncdaemonDaemon *daemon = syncdaemon_daemon_new ();
syncdaemon_daemon_publish_file (daemon, "/home/user/myphoto.jpg");

But before you run to another place after seeing this C code, note that it includes bindings for many languages (Python, JavaScript, etc) for free, thanks to gobject-introspection. So, the same code in Python, for instance, would be:
daemon = Syncdaemon.Daemon ()
daemon.publish_file ("/home/user/myphoto.jpg")

So now, the next step is to start adding support for sharing/publishing files in Ubuntu One to many desktop applications, like, for instance (ideas stolen from Stuart Langridge):

Publish screenshots directly from gnome-screenshot tool

Sharing photos from f-spot/shotwell/etc

etc…

This, along with the already existing desktop APIs (desktopcouch, couchdb-glib, libubuntuone), makes integration of 3rd party applications into Ubuntu One a very easy thing.

Lots of people keep asking the same question (how do I sync Tomboy notes with Ubuntu One?), so, since there is a nice tutorial already, posting it here to get to a wider audience: the tutorial.

Since this is also my first post about it (didn’t want to make it too public until it worked great), I wish to give special thanks to Sandy Armstrong, Tomboy’s super hacker, whose help in making this work has been very valuable. Not only he helped us in all the problems we found, but he was very receptive on our suggestions for changes in the syncing protocol. So, every time you sync your notes (to Ubuntu One or a Snowy server), please save some money to pay him (and me, if possible) some beers

With just a few hours before I leave to Gran Canaria, here’s a list of things I personally would like to get from the conference:

I’ve been to all GUADEC’s except for 2 (Stuttgart and Istanbul), and every time I’ve missed one GUADEC, I was doubly excited to go to the next one, so this year, having missed last year’s, this is the case again.

Since for the first time we are having a joint KDE/GNOME, I am expecting to have a big push on collaboration and cooperation between the 2 projects. I am not sure what would come out of this, but we should all really be looking for this, since it would just help both projects a lot. So, keep the rivalry only for the sport activities, please (maybe a KDE vs GNOME football game? )

As I’ve already blogged about recently, we (at Canonical) are trying to push CouchDB use to the desktop. I’ve got all the code I’ve been working on ready to be shown (karmic packages here, but broken for jaunty right now, sorry), so if someone wants to see it in action (a technology preview, of course, not everything is done yet), just find me around and I’ll do a personal demo (a better demo if you buy me a beer ). Other Canonical staff will be around also showing these (and other) technologies, so if interested, just ask.

GNOME 3.0 plans and technologies like mutter, gnome-shell.

I only played the FreeFA tournament in Vilanova (yeah, was part of the cool champion team), so looking forward to revalidate the title

Only bad thing is that I’m going to miss the first few days of San Fermín festival in Pamplona, but well, since I’ll be back home on the 10th, I’ll have the chance to enjoy the last few days of it. As I said other times, please use other dates than July 6th to 14th next year!