Folks and QtContacts


At the moment I’m at the MeeGo conference in Dublin, finally finding a bit of time to blog on what I have been working on for the past 2 weeks. The conference is really well organised and the location is a bit unusual but awesome. For me, the best thing about this conference seems to be the possibility of meeting so many people that I know because of GNOME, Collabora and Maemo/MeeGo. Considering that Collabora is now employing several KDE people, this conference is also a good way to meet more KDE developers while awaiting for the Desktop Summit in Berlin.


The Aviva stadium

Nowadays, Empathy uses libfolks to access contacts and to merge multiple contacts (called personas in Folks) into a single “meta-contact” (called individual).
On MeeGo, on the other hand, it seems that QtContacts (part of QtMobility) is the future. QtContacts is just an API and relies on backends for the actual access to contacts, so why not trying to have QtContacts using libfolks? In the last weeks I worked a bit on writing a QtFolks backed for QtContacts and a small demo written in QML to show what the backend can do.

The demo showing some of my XMPP contacts
The demo showing some of my XMPP contacts

Folks doesn’t just want to be a library for IM contacts, but a generic library to access all of your contacts. The next logical step was to add extra backends to access more sources of contacts.
If you use the Facebook XMPP server, you can already have access to Facebook friends and chat with them, but you don’t get all the information that are available through the web API. This is why I modified the Facebook libsocialweb plugin to also access Facebook contacts and added new interfaces to libfolks to expose this information. Moreover, we can rely of the Facebook ID to automatically merge the persona from the Facebook XMPP and the one from the Facebook web API into a single individual.

A contact with multiple IM addresses and information coming from Facebook too
A contact with multiple IM addresses and information coming from Facebook too

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Reader Comments

Ship it!

It would be good if Meego ends up being a catalist for more sharing between Qt and Gnome in this way

nice, hope you settle on this one :)

So will a QtContacts-with-a-libfolks-backend aggregate contacts from other QtContacts backends, or only from telepathy?

@Murray:
For now only from libfolks backends. The main problem is that QtContacts doesn’t seem designed to have multiple backends in use at the same time as an important use case, so on Maemo 5 it just uses libosso-abook and on other platforms it uses something else.