The KDE desktop has taken the lead to bring the semantic desktop to users with their KDE 4.0 release. Although it had a rough start back then, IMHO Nepomuk always stood out as a major and remarkable service/technology.

Before I begin I would like to explain  Nepomuk and Zeitgeist:

  • Nepomuk (What is an item about?): aims to provide the basis to handle all kinds of metadata on the KDE desktop in a generic fashion. This ranges from simple information such as tags or ratings over metadata extracted from files to metadata that is generated by applications automatically. The goal is to categorize all metadata using clean ontologies to make an automated handling and enrichment of the data possible. Some scenarios questions solved would be.
    • Give me all songs by Michael Jackson
    • Give me all files and contacts tagged with Work
  • Zeitgeist (How do/did I use my items): is a service which logs the users’s activities and events, anywhere from files opened to websites visited and conversations. It makes this information readily available for other applications to use. It is able to establish relationships between items based on similarity and usage patterns. Some scenarios questions solved would be:
    • Give me the most listened to songs
    • Give me recent/most used contacts sorted by location

Now both together can answer questions like:

  • Give me most listened to songs by Michael Jackson
  • Give me all recent contacts tagged with work that I contacted from home.

In the spirit of cross-desktop basysKom hosted a several hours face to face meeting between THE Sebastian Trüg (Nepomuk KDE) and me (on behalf of the Zeitgeist team).
The course of discussion was how to bring both technologies to KDE. I must say I was very pleased with how open and constructive the discussion was.
There is no interest in any of the 2 services to actually expand into the domain of the other. Although Zeitgeist events could be stored in Nepomuk KDE via an extension there is no such interest since our DB is very light despite the fact that we store an average of 1000 unique events per day. So there is no reinventing wheels and no NIH syndromes. So in the upcoming months I will be building a Zeitgeist community within KDE to help out with the deployment. My work in the GNOME community will not be compromised, since it is usually Zeitgeist related.

Basically since Zeitgeist only depends on gobject, dbus and sqlite and already uses the Nepomuk Ontology in combination with the Zeitgeist Ontology it works out of the box on KDE.
As for the work that will be done to get Zeitgeist and Nepomuk power in KDE for now:

  • Have current service pass the info to Zeitgeist using an activity service
  • Create a Zeitgeist extension to push counts and last timestamp for each document/contact/etc.
  • Create a Journal plasma widget to view the user history.

Also Manish Sinha from the Zeitgeist team is helping me put together tasks for KDE and GNOME Code In. So we will see where we get with that.

It is nice to really have two techs coming together joining forces to take the user experience to a new level. Although a GNOME guy I was very welcomed by the KDE community. Ivan Čukić and Lydia Pintscher have been very helpful and encouraging as well as the Kate and the Amarok crew. What I noticed here is that as a community they don’t demand everybody taking things in their own hands but rather do things together. It is very much like the Ubuntu Community where I feel at home.

So if you want to know more hang out with us on #zeitgeist or #nepomuk-kde on freenode.

KDE zeitgeist