Akonadi/Nepomuk integration with Telepathy

George Goldberg grundleborg at googlemail.com
Mon Sep 14 23:46:26 CEST 2009


Hi folks,

First of all, sorry for the cross-posting. I'm not quite sure of the
best way to address Akonadi and Nepomuk developers together.

I've been involved with Telepathy for about a year and a half, and for
most of that time, on and off, I've been considering the question of
if/how/why/when/etc Telepathy should interact with Akonadi and
Nepomuk. Every time I have a discussion about it, I leave thinking I
know the answer, but always before I complete any implementation I
find myself doubting whether I am doing the right thing. I'd like to
try and solve this once and for all, so here goes.

What is Telepathy?
----
Telepathy is a framework for real-time communications, ie. Voice over
IP or Instant Messaging. It is a DBus based framework with a central
daemon managing all the connections to different IM networks allowing
multiple applications to access the same connections. This allows for
a previously non-existant level of integration into the desktop
environment of Instant Messaging, e.g. Kopete for text-chats, a plasma
presence chooser, collaboration features in KOffice etc etc...

Telepathy is also a cross-desktop technology. It is widely used in
Gnome already, and hopefully will soon be widely used in KDE. It is
worth noting that both I and the Gnome Telepathy developers are keen
to keep as much of the Telepathy infrastructure desktop-independent as
possible - that includes where possible implementations as well as
specifications.

What PIM-related information does Telepathy Provide?
----
There are two bit's of information that Telepathy provides that I
believe are related to PIM.

The first is the Contact List. I imagine this is similar to a contact
list from a groupware server. It is returned by the Telepathy API as a
vcard for each person in your contact list, and in some of the
supported protocols (e.g. Jabber), it returns a lot more information
than just a id and name.

The second thing it provides is presence information, ie. is this
person online/away/busy/etc.

How might this information interact with other KDE-PIM applications?
----
The vcards provided for the contact list might make sense to display
in KContactManager. I'm not sure. I do know, however, that experience
in Gnome suggests that trying to merge/sync vcards in my personal
address book with my Instant Messaging server contact list vcards
leads to disaster. This means that the vcards for Jabber contacts and
their local entry in the local address book should be kept
separate.

As for the presence information, I imagine that might be a nice thing
to display alongisde people in KContactManager?

Where does Nepomuk fit in?
----
This is where, for me, it starts to get very confusing. I'm really
struggling to see what the relationship between Akonadi and Nepomuk is
supposed to be. For instance, will KContactManager be Nepomuk aware?

Nepomuk has this notion of a person, which seems the perfect way to
handle the multiple-vcards for one physical person situation. You have
multiple vcards linked to one Person entity. However, what concerns me
is that feeding Telepathy contacts straight into Nepomuk might bypass
KDE PIM applications using Akonadi to store vcard files.


Any questions/suggestions/clarifications/advice/etc on any of the
above would be much appreciated.

George

--
George Goldberg


More information about the KDE-Telepathy mailing list