What is IMPULS?
Toolset
I.M.P.U.L.S. is a collection of tools implementing one or more of the functional aspects which are described in the following subsections.
Those aspects are defined to be independent from each other. So a particular tool can implement more than one single functional aspect. This might not be useful for the daemon, but client and reader can be merged and integrated into a single tool, for example a IM client plugin, which handles the history using I.M.P.U.L.S. directly.
Daemon
The daemon is the central instance of the I.M.P.U.L.S. system, which manages stored messages. Using an RPC interface, readers and clients may provide new messages or use query functions to retrieve messages and statistics.
Since the daemon always has to be available, it is designed to be run on a server without a fancy user interface.
Client
The client's task is to extract messages from arbitrary messengers and send them to the daemon for storage. It is intended to have one specific client for each messenger. However, one client may support several messengers as well. In a later step it would be possible to integrate the client features directly in an instant messenger.
The client is the interface between the I.M.P.U.L.S. system and an instant messenger client and therefore the only aspect of the toolset which has to be adapted to each single messaging solution.
Reader
A reader provides a comfortable interface for browsing messages previously sent to the daemon. It is planned to implement a Web-based interface and a Qt-based frontend with KDE integration.
Contrary to the client, a reader is independent from the messenger and has to be implemented only once. On the other hand, the benefit of a reader is conditioned by its integration into a certain environment.
Platform
IMPULS is intended to be plattform independend.
Since this is a quite hard criterion, it is limited to the daemon and at least one reader. Any client only needs to be runnable in the environment the corresponding Instant Messenger runs in.
