2009-07-14

PicasaWeb, libgdata, and fun

The other month, I contributed a chunk of code to libgdata to access PicasaWeb. Peter Withnall was cool and eventually polished it and integrated. Yay.

For the last 2.5 days, I've been writing a test programme to exercise the resultant libgdata picasaweb API. The first day, I struggled with GtkBuilder and GtkTreeView, the former just lacks a bit of polish and the latter just excels in sadism. However, by the end of it, I had a working album/photo browser... for my local file system.

Yesterday I didn't get to work on it too much, though I did cure it's disgusting memory hole. (I need to learn about memory handling with GObjects and when it's appropriate to unref things :). However, this afternoon, I got it hooked up to libgdata and replaced the local filesystem code with the libgdata picasaweb API. Yay!

I'll upload the code to gitorious after kendo practise this evening.

Why am I interested in PicasaWeb? It's my primary photo storage location (though it's free storage is woefully small) and I previously wrote a libsoup-heavy uploader to it, for which I wrote a plugin for Eye of GNOME and for which I wrote a Nautilus Action script. However, it wasn't in any state to really share, and its HTTP-based PicasaWeb API-accessing code wasn't very general. libgdata was something I had hoped to find when I started writing the above uploader and plugins, since I had wanted to write them in Vala which can easily use C libraries.

Anyway, once I exercise the API quite a bit, I'll switch to writing some useful plugins for F-Spot, Eye of GNOME, etc. again. Yay.