Monday, October 16, 2006

Porting Landell to Tapioca

As some of you probably have heard, the Tapioca project "merged" with the Telepathy project, in the sense that Tapioca now consists of convenience libraries for working with Telepathy and some extra connection managers and some tools like the Telepathy-Inspector.

Some of you might ask why convenience libraries are needed and why not just use Telepathy directly. Well, actually it is out experience that when using Telepathy we have ended up developing internal convenience libraries in our products and not of the quality that we had hoped for.

To remove this duplication of work and help the KDE Decibel project as well as port the instant messenger Landell to Telepathy, we sad down some time and started designing a nice, usable API for using Telepathy. It is still work in progress, but so far it has been a success.

It really makes sense. Telepathy is designed to provide the features needed to make a instant messenge and VoIP client, while keeping the API small so that it is easier implementing connection managers (like for protocols such as MSN, Jabber, GTalk...). It is also based on DBus which is a cross-platform Inter-process Communication Protocol, which means the API uses raw data structures such as hashes, arrays. This is not really optimal and is thus no longer a problem if you choose to use Tapioca.

Over the last month Renato and I have been porting Landell to use the new Tapioca library. Since we are using C# for the Landell product we were faced with the problem that there was no well-working .NET library for using DBus (which we needed to implement Tapioca# and Telepathy# which it is based on), but luckily Alp Toker took on the task of completing his fully managed DBus (an implementation of DBus only using managed C# code) to the state where it was usable for out needs. Many thanks goes to Alp!

There are still things to be done to Landell, but both me and Renato are currently busy with some other projects. It is coming along just fine though, and I would also like to thank the Tango community for supplying lovely new icons to the project.

4 Comments:

Hi, I tried to compile tapiaco but cannot do svn because i am behind a proxy. Tried landell deb package. it showed libdbus-1-2 dependency is not satisfied. but i have libdbus-1-2 and libdbus-1-2(my synaptic shows them installed). Please can you repack landell to work on ubuntu gutsy(which is the latest and the one I am using)