##language:en #pragma section-numbers off || {{http://people.collabora.co.uk/~robot101/telepathy-logo-rect.png}} || = 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 [[http://dbus.freedesktop.org|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. {{http://people.collabora.co.uk/~danni/telepathy-book/figures/telepathy-architecture-overview.png}} || {{http://people.collabora.co.uk/~robot101/collabora-logo-small.png}} || Various [[Presentations]] about Telepathy have been made (including at LCA 2008). Telepathy development is supported by [[http://www.collabora.co.uk/projects/telepathy/|Collabora Limited]]. == Telepathy for Users == * [[Download]] * [[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 * [[System Overview]] * [[Components]]: the parts of the Telepathy system * [[FAQ]] === Clients === * [[http://live.gnome.org/Empathy|Empathy]]: IM/VoIP client for GNOME == Discuss == * [[http://lists.freedesktop.org/mailman/listinfo/telepathy|Mailing list]] * 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 [[http://telepathy.freedesktop.org/spec/|version 0.17]]. For a more approachable introduction to the structure of the framework, try the [[System Overview]] document or the [[http://people.collabora.co.uk/~danni/telepathy-book/|Telepathy Developer's Manual]]. The [[https://wiki.ubuntu.com/MOTUIM/DesktopIntegrationSIPIM|Ubuntu spec for SIP/IM integration]] includes a good rationale for this distributed approach. * The [[http://people.collabora.co.uk/~danni/telepathy-book/|Telepathy Developer's Manual]] is still a work in progress, but already provides good introductions to many features useful to IM clients. * [[http://telepathy.freedesktop.org/spec/|D-Bus interface specification]], with older versions and spec format notes available from DbusSpec === Contribute === * [[Git|Source Code Repository]] * [[Bugs]] * [[Debugging]]: how to obtain information when things break * [[Style]]: style recommendations for Telepathy implementations * [[Review Procedure]] === Developer Notes === * [[Streamed Media]] * [[Tubes]] * [[Tutorial]]: an introduction to Telepathy and D-Bus basics * [[LanguageBindings|Language Bindings]] * [[Roadmap]] * [[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 [[http://techbase.kde.org/Projects/Telepathy|Techbase Project Page]] provides more information. * [[Specification TODO]] * [[Gabble TODO]] * [[Release Checklist]]: thinks to do when making a release * [[GabbleReleaseBlockers]] and [[SalutReleaseBlockers]] === Miscellany === * "[[http://www.ourwealthiswork.com/sumana/2009/10/08/0|Oversimplified Cliffs Notes about Telepathy]]" * [[Suggestions]] * [[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 * [[Usage_Scenarios]] * [[Telepathy/Empathy BOF at GCDS 2009]] == IPCF == Telepathy was originally known as IPCF (Inter-Personal Communication Framework). Thanks to David Malcolm for giving us a much cooler name.