Saturday 18 August 2012

GSoC Coding Phase Ends


GSoC coding phase officially ends on Monday, 20th August 2012. I enjoyed working on the Twitter-Backend project over the past three months. Thanks my mentor Jan Kaluza (hanzz) and the library twitcurl, I was able to complete the project successfully.

A brief description about the work done during the summer follows. The past three months I worked on creating a Twitter backend for spectrum 2. The backend allows spectrum users to communicate with their friends belonging to Twitter. The main task was to map XMPP messages on the spectrum side to Twitter API calls on the Twitter side. Spectrum 2 already had an abstract class NetworkPlugin, which made the task of writing the backend simple. All I needed to do was implement the virtual functions by providing the necessary code to interact with Twitter, thus effectively mapping XMPP messages to Twitter API calls. In order to interact with Twitter, I used the library called twitcurl. The library provides a set of easy-to-use functions that abstract all the details involved in sending a REST query (corresponding to actions such as status update, fetching timeline etc.) to Twitter and fetching the response. At present, the backend is running at jabber.hot-chilli.net.

Monday 6 August 2012

Spectrum 1 DB Compatibilty

Twitter-Backend (written for spectrum 2) is now compatible with spectrum 1 user database. So,  spectrum 1 (twitter) users can now login into their twitter accounts via spectrum 2 without the need for re-registration. Finally, my code was merged with libtransport main branch! :) The code will now be tested on jabber.hot-chilli.net.

Twitcurl Patch

I finally finished implementing all the important tasks that I claimed I would in my GSoC Application :) The twitter library twitcurl simplified the task of creating the Twitter-Backend. I had to add a few additional functions to the library to support certain features (Eg. retweets) and I sent a patch containing these changes to twitcurl. Next, I will be working on making spectrum 1 user database compatible with spectrum 2.