13 March 2009

libsoup migration

Hello! I'm Emilio Pozuelo Monfort and this is my first post to the Liferea blog. Hopefully there will be more to come!

In the beginning of the 1.5 development cycle, Lars replaced the old proprietary networking code with a libcurl implementation. This had several benefits, including more maintainable code, but brought a new problem: the user interface didn't respond when there was network operations, for example when updating feeds, making Liferea unusable during that time. I heard WebKit GTK+ port had switched from libcurl to libsoup too and thought I would look if it was suitable for our needs.

Using libsoup has some benefits. It integrates very well with GLib-based applications (like Liferea) by having an asynchronous (GMainLoop based) interface. It also supports most of our needs: cookies, proxy (including authentication), SSL... meaning we can have a libsoup-based Liferea without regressions from the previous implementations.

I started working in migrating our code, since the unresponsive GUI was marked as a blocker for the 1.6 release. It wasn't easy for me as I'm not very skilled yet :-) but given the nice libsoup API I could do the work. Adrian Bunk tested it a lot and reported me some issues, and after fixing all the concerns from Lars, the patch landed yesterday in trunk! It will be released with the next unstable release, 1.5.14.

So if you feel like giving a hand and feel comfortable with unstable releases (beware it can kill your cat!), testing and reporting bugs is much appreciated!

04 March 2009

GeoRSS Support Added

Thanks to Mikel Olasagasti Liferea will support GeoRSS starting with release 1.5.11. GeoRSS allows to attach geographic coordinates to feed items. Liferea will render those using a OpenStreetMap widget. Below you find an example screenshot: