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.
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.
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.