The importance of Instant Messaging (IM) for private and organizational communication increased over the last years. IM became one of the most used communication channels on ther internet and more and more valuable information is exchanged via instant messages. In contrast to the increasing amount of information exchanged, the IM implementations lack support to archive the information and retrieve it later when needed. Instant messaging is still transient and information gets lost. While E-Mail can be archived long-term server-side using the IMAP standard, there is no standard for archiving IM conversations. Chat logs are mostly stored locally on the client machine, using IM-client-specific file formats. This has several disadvantages: Storing the archive locally on the client computers is inconvenient when using more than one computer, archives are spread over different installations, are out of sync and get easily lost. Using proprietary, client- and protocol-specific formats to store the information makes it hard to manage and search the stored information using other interfaces than the client UI.

This project thesis addresses these issues by developing Nabu, a system providing server-side logging of instant messages. Nabu is implemented for the XML-based Jabber/XMPP protocol. Unlike other proprietary IM protocols from major providers such as Yahoo!, MSN or AOL, Jabber/XMPP is an open standard. Most server and client software is available under open source licenses, which makes it possible to add Nabu's features as a plugin for an existing server implementation. Jive Messenger was chosen due to its well-designed and well-documented code base and easy extensibility.

Nabu tries to integrate instant messaging into the efforts made in the Semantic Web community to store and retrieve information in a unified way. It uses the Semantic Web standard RDF to describe the stored information on the server. For retrieving the stored information, it supports the SPARQL query language, which is currently in an ongoing standardization process at the W3C.

Besides the logging of chat messages, there are further requirements:

  • It should be possible for users to add further metadata to the logged messages by adding their own RDF statements. That way information can be categorized and structured, making retrieval of relevant information easier.
  • Nabu should support sharing of logged messages between users, to make e.g. a conference log available to other group members. This must be implemented with care though, to ensure the user's privacy.
  • Nabu should integrate instant messaging into the context elicitation framework of EPOS, sending message notifications to the EPOS user observation (when enabled by the user).

The following chapters discuss Nabu's functionality, concepts and implementation in detail. The Handbook chapter describes Nabu's features and is targeted towards users. Design and implementation are discussed in the Development chapter. It also explains how to make use of Nabu by integrating it into software. Being an open-source project, this documentation is created and maintained online on the Nabu homepage.

Related Work

Related to Nabu, a storage format and protocol for server-side message archives was proposed as Jabber protocol enhancement. The proposal suggests a simple protocol and storage format for message archiving. While being simple, it defines its own format and does not use existing standards. In my opinion using existing technology as RDF and SPARQL makes the our approach more powerful without having to reinvent the wheel. Also, Nabu can be more easily integrated with other information sources, and offers additional features as log sharing and adding custom metadata.

The Haystack project builds a client for information management by integrating various information sources in one frontend, using an infrastructure based on RDF. A messaging model was developed to represent conversations from various communication channels, such as e-mail, news groups and instant messaging, in a unified way. In contrast to Nabu, Haystack is a client-based solution.

The BuddySpace research project extends the presence concept in Jabber (simple offline/online/busy states) and adds information such as geographical location, current work focus etc. to the presence state. Furthermore it investigates how such additional semantics can be used to facilitate collaboration over networks. The BuddySpace Jabber client demonstrates the concepts.

Last modified 12 years ago Last modified on 08/04/05 20:49:48

Attachments (1)

Download all attachments as: .zip