LinuxConf.Au: Telepathy: IM/VOIP Communications Framework
Telepathy is a communications framework based around D-Bus. The project defines a series of interfaces which can expose all of the functionality of any IM/VOIP protocol, implemented in background processes which maintain connections to the services on your behalf. Front-end processes (be they GUIs, console applications, bots, gateways...) can interact with these background processes to carry out various activities on these connections. The protocols are abstracted by the API so that any task which is possible on a given protocol can be performed in the same way whatever the underlying protocol.
Benefits to this approach include the ability to share connections between multiple processes - different programs can carry out different tasks on the same background connection, allowing eg a desktop system to have seperate clients for IMs, calls and managing the address book, and communication functionality to be integrated into any program. The D-Bus approach also allows protocol backends to be implemented and shared regardless of the language used - C# or Qt clients can use Python or glib backends, so that the users of the framework don't need to care about the protocol or the language being used to implement it.
This presentation will explain the rationale and design of the Telepathy framework, discuss how the technology is currently being deployed (on the GNOME and KDE desktops, and the Nokia 770 Internet Tablet) and where it's going, and demonstrate some example uses of the API.