summaryrefslogtreecommitdiff
path: root/NewHome.mdwn
blob: 531943b6c68c48f07c67b3306dced3746698a8af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

[[!img Telepathy.png]]

Telepathy is a flexible, modular communications framework that enables real-time communication via pluggable protocol backends. Telepathy is a **communications service** that can be accessed by many applications ("clients") simultaneously.

This allows any application to access presence information, request a communications channel (potentially handled by another client), or collaborate contact-to-contact.

Telepathy provides protocol backends for most popular protocols including: Jabber/XMPP/Jingle, link-local XMPP, SIP, Yahoo/AIM and IRC via a unified [[D-Bus|http://dbus.freedesktop.org]] API. It also provides convenience libraries for GLib and Qt to simplify using the API from applications.

Telepathy exposes the available real-time communications capabilities of each protocol: presence, contact rosters, text chat, voice and video over IP, file transfer and [[Telepathy Tubes|Documentation/Tubes]].

 [[!img TelepathyArchitectureOverview.png]]

Telepathy is **[[modular|Rationale]]**. Each backend and client runs in a separate process, allowing for much greater security and resilience. It is suitable both for embedded and desktop environments.

# Using Telepathy

## End users

Telepathy is a *framework*, therefore it is mainly targetted to developers that want to enable real-time communication and collaboration features in their applications.

As an end user, you can make use of one of the *Clients* of Telepathy, which are listed in the Clients section of the [[Components|Components]] page.

## Developers

Take a look at:

* the [Telepathy Developer's Manual](https://telepathy.freedesktop.org/doc/book/) (*slightly outdated*)
* the [[DBus API Spec|DbusSpec]]

Choose and [[download|Download]] a high-level library to use:

* [[Telepathy GLib|Components/Telepathy GLib]]
* [[Telepathy Qt|Components/Telepathy Qt]]

Check out misc useful information for developers:

* [[Debugging|Debugging]]
* [[Developer Notes|DeveloperNotes]]

[[Report Bugs|Bugs]]

# Developing Telepathy

* Checkout the code from our [[Source Code Repository|Git]]
* Take a look at [[bug reports|Bugs]], especially if you are looking for a good place to start hacking on Telepathy
* [[Debugging]]: how to obtain information when things break
* [[Coding style recommendations|Style]] for Telepathy implementations
* Familiarize with our [[review procedure|Review Procedure]]
* See our [[roadmap|Roadmap]]

# Discuss Telepathy

* [Mailing list](http://lists.freedesktop.org/mailman/listinfo/telepathy)
* IRC channel: `#telepathy` on `irc.freenode.net`


This wiki is undergoing [[conversion]]. If you have a fd.o shell account, you can help!