|
Telepathy — the Flexible Communications Framework
Telepathy is a flexible, modular communications framework that enables real-time communication via pluggable protocol backends.
Telepathy creates the idea of communication as a desktop service. It uses D-Bus to separate components running in separate processes. Telepathy clients use this D-Bus API (usually via a convenience library — e.g. telepathy-glib) to share connections between multiple clients (e.g. an instant messaging program, presence in email application, collaboration in word processor).
Telepathy has several key features:
Real-time: Telepathy supports instant messaging (both one-to-one and in groups), voice calls and video calls; it's less suited for store-and-forward applications like email
Unified: Many different programs can take advantage of these communications; Telepathy lets these programs work together
Modular: Telepathy components are modular, this means that developers can focus on making each component being the best it can be.
|
Various Presentations about Telepathy have been made (including at LCA 2008).
Telepathy development is supported by Collabora Limited.
Telepathy for Users
Rationale: why Telepathy is the way it is
Protocols Support: which all features of the protocols are supported
Setup: how to get various Telepathy components up and running
Components: the parts of the Telepathy system
Clients
Empathy: IM/VoIP client for GNOME
Discuss
IRC channel: #telepathy on irc.freenode.net
For Developers
At the core of Telepathy is the D-Bus interface specification; which describes how Telepathy components communicate with each other. The current major version of the specification is version 0.17.
For a more approachable introduction to the structure of the framework, try the System Overview document or the Telepathy Developer's Manual. The Ubuntu spec for SIP/IM integration includes a good rationale for this distributed approach.
The Telepathy Developer's Manual is still a work in progress, but already provides good introductions to many features useful to IM clients.
D-Bus interface specification, with older versions and spec format notes available from DbusSpec
Contribute
Debugging: how to obtain information when things break
Style: style recommendations for Telepathy implementations
Developer Notes
Tutorial: an introduction to Telepathy and D-Bus basics
File Formats: specification for Telepathy's file formats
Recipes: how to accomplish various tasks with the Telepathy API
For developers interested in Telepathy within KDE, the Techbase Project Page provides more information.
Release Checklist: thinks to do when making a release
Miscellany
Python Example is a very simple, unpractical example of doing things with Telepathy in Python
DTube Tutorial is a tutorial (and example) for doing one-to-one D-Tubes
Perl Example is a very simple, unpractical implementation of Python Example in Perl
Telepathy and other Projects: try to list integration of Telepathy in other projects
IPCF
Telepathy was originally known as IPCF (Inter-Personal Communication Framework). Thanks to David Malcolm for giving us a much cooler name.

