Version 3 (modified by 17 years ago) (diff) | ,
---|
Table of Contents
Overview
Telepathy is a communications framework built around DBus. Connections to IM servers, text conversations, and voice calls (for instance) can be implemented with a number of separate processes, interacting via the session bus. This approach allows each component to do one thing well, rather than requiring a single monolithic application to provide every piece of functionality. It also allows any new UI to reuse the existing connection managers rather than having to reimplement every protocol itself.
resiak's Summer of Code project is to write:
- a
libpurple
-based Telepathy connection manager, to provide Telepathy clients with access to the full range of protocols supported by libpurple. The connection manager has been dubbedtelepathy-haze
. - a Telepathy protocol plug-in for
libpurple
, to give Pidgin and Finch access to Telepathy implementations of protocols in addition to the implementations inlibpurple
.
This project's mentor is Robert McQueen.
Feature Checklist
(It's worth taking a look at the Telepathy spec if it's not clear what things here mean.)
Connection Manager (Haze)
- Connect to protocols
- Works, but needs a bit of work to make the connection have parameters for the options supported by the underlying prpl, and to make the parameters as far as possible match those used by other CMs.
- Also, it'd be nice to report the actual reasons for unrequested disconnections.
Text IM channels- Done. Slight hiccup with /me on IRC, but I'm sure we'll survive, particularly since MUCs aren't implemented so IRC is a bit useless :-)
- Contact lists
HANDLE_TYPE_LIST
: Only the "subscribe" channel is implemented. Right now it's assumed that all protocols can store this stuff server-side; my reading of the spec suggests that this list should not exist if it can't be stored on the server, such as in IRC.HANDLE_TYPE_GROUP
: Working, with a small amount of surprising magic. When a contact is added to "subscribe", they mysteriously appear in the "Buddies" group (FIXME: they actually appear in _("Buddies")); if a buddy is removed from all groups, they fall off "subscribe" (FIXME: should they reappear in "Buddies" instead?).
- Presence (status)
- Avatars
- Multi-user chats
Telepathy prpl
- Support for at least everything supported by Haze.
Possible further work
- A plugin to migrate existing accounts in Pidgin to use Telepathy.
Status
The original target was to have the connection manager essentially finished by 9th July. This turned out to be overly optimistic. The current plan is to get contact list support and presence done, so that it is usable, then move onto the prpl. (I will return to implementing MUCs and other goodies in the CM if I have time at the end of the summer; otherwise, I'll continue working on this stuff post-SoC anyway.)
Development
telepathy-haze
is kept in a Darcs repository, currently at http://salami.ox.compsoc.net/~resiak/darcs/telepathy-haze/. In the nearish future, it will move to http://projects.collabora.co.uk/darcs/telepathy/ to be alongside most other Telepathy components. (Darcs is the de facto standard VCS for Telepathy components.)
Haze currently needs libpurple from the Monotone branch im.pidgin.soc.2007.telepathy
.
The Telepathy prpl will be developed either in the same branch or into a sub-branch (im.pidgin.soc.2007.telepathy.prpl
, maybe?).