Este video es uno de los que se ha inscrito en el concurso "We're Linux", la idea es presentar un comercial de Linux, el premio es un viaje a Japon :), si quieres saber mas sobre las bases o ver mas videos inscritos, entra a http://video.linuxfoundation.org/category/video-category/-linux-foundation-video-contest
Como ya les conté en mi post anterior, Gwibber es una herramienta genial, permite mantenerte al día con distintos servicios web desde tu escritorio, como Twitter, Facebook entre otros... Uno de los servicios que me interesaron de esta aplicación es el de poder integrarse con contenidos RSS y ATOM, ya que hoy en día casi todos los sitios que generan contenidos (blogs y sitios de noticias) soportan estos formatos, actualmente yo utilizo Google Reader para manejar estos servicios, pero tener una herramienta que te avise cuando estos se actualizan en el escritorio considero que es bastante mas comodo.

Al probar como Gwibber mostraba los contenidos de los RSS quede algo insatisfecho, ya que algunos contenidos los mostraba a medias y otros a pesar que tuvieran texto no los mostraba, y la verdad lo unico que me interesa que muestre es el titulo. Otra cosa que no me agrado es que tampoco me mostraba a que fuente, solo el autor del post (lo cual es bastante incomodo para mi que sigo mas de 20 sitios y algunos con mas de un autor que ni conosco)... pero la magia del Open Source es que si algo no te gusta, el codigo esta disponible para que puedas hacer los cambios que quieras :), así que decidí meter las manos en el barro y jugar un poco con el código, pero como me daba flojera importar todos mis feeds de Google Reader, preferi investigar como integrar Google Reader con Gwibber para hacer mas simples las cosas.

Bueno, el primer paso era bajar el código y ver si podia hacer algo yo o si alguien ya trabajaba en algo parecido, el codigo esta actualmente en Launchpad, un sitio bastante comodo para el manejo de proyectos Open Source, ya que utiliza un sistema de versionamiento distribuido (bazaar) que esta bastante integrado con el mismo sitio, obtener una copia del codigo fue bastante simple :)

bzr branch lp:gwibber

Después de revisar el código en Python/Glade/Webkit un rato note como funcionaba y que hiba donde, para implementar lo que quería hacer solo necesitaba crear un par de clases y seguir un par de plantillas ya definidas.

Google apesar que lo ha hecho con la mayoria de sus servicios, aun no ha implementado una API oficial para Google Reader, pero buscando en internet encontre que hay gente que ha logrado obtenerla a travez de ingenieria inversa:

http://blog.gpowered.net/2007/08/google-reader-api-functions.html
http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

La implementacion actual que realice es bastante basica, lo unico que realiza es autentificarse con google y obtener los ultimos feeds dentro de tu lista, ademas diferencia y marca si has leido el feed o no.

Despues de terminarla y disfrutarla, decidi publicar mi rama de la version modificada, aunque aun no planeo solicitar mesclarla con la principal, ya que primero quiero ver si mesclan otra rama que implementa estados a los mensajes segun el foco de la ventana, a ver si es necesario hacer alguna otra integracion o si basta con lo que hay, ademas igual tengo un par de funcionalidades en mente para esto.

Si a alguien le interesa probarla, solo es cosa que se metan a la consola de linux, tener instalado el bazaar (no me acuerdo si habian mas dependencias) y ejecutar:


bzr branch lp:~novalkar/gwibber/google-reader
cd google-reader/bin
./gwibber &


y lo van a tener corriendo :)