Telepathy: Flexible Communications Framework
The Telepathy project is building a unified framework for many different kinds of real-time communications. It uses the [http://dbus.freedesktop.org D-Bus messaging system] to provide a simple interface for client applications, allowing them to quickly take advantage of Telepathy's benefits.
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
Framework: Telepathy allows the different aspects of communication handling to be divided between different parts of the system, meaning each part is simpler
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 [http://telepathy.freedesktop.org/spec.html version 0.17] (see DbusSpec for older versions). For a more approachable introduction to the structure of the framework, try the ["System Overview"] document. The [https://wiki.ubuntu.com/MOTUIM/DesktopIntegrationSIPIM Ubuntu spec for SIP/IM integration] includes a good rationale for this distributed approach.
Various ["Presentations"] about Telepathy have been made (including at LCA 2008).
Telepathy development is supported by [http://www.collabora.co.uk/ Collabora Limited].
Learn more
- ["Rationale"]: why Telepathy is the way it is
- ["Setup"]: how to get various Telepathy components up and running
[http://telepathy.freedesktop.org/spec.html D-Bus interface specification], with older versions and spec format notes available from DbusSpec
- ["File Formats"]: specification for Telepathy's file formats
- ["Recipes"]: how to accomplish various tasks with the Telepathy API
- ["System Overview"]
- ["Components"]: the parts of the Telepathy system
- ["Streamed Media"]
- ["Tubes"]
- ["Tutorial"]: an introduction to Telepathy and D-Bus basics
- Ideas for a ["Developer Reference"]
Discuss
[http://lists.freedesktop.org/mailman/listinfo/telepathy Mailing list]
IRC channel: #telepathy on irc.freenode.net
Contribute
- ["Specification TODO"]
- ["Gabble TODO"]
- ["Bugs"]
- ["Debugging"]: how to obtain information when things break
- ["Style"]: style recommendations for Telepathy implementations
- ["Merge Monkey"]
- ["Release Checklist"]: thinks to do when making a release
Miscellany
- ["Suggestions"]
- ["Python Example"] is a very simple, unpractical example of doing things with Telepathy in Python
- ["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
- ["Usage Scenarios"]
IPCF
Telepathy was originally known as IPCF (Inter-Personal Communication Framework). Thanks to David Malcolm for giving us a much cooler name.

