Difference between revisions of "Projects/Telepathy"

Jump to: navigation, search
(Problems)
Line 49: Line 49:
 
====Status====
 
====Status====
  
The dataengine is functional, allowing you to set the Requested Presence and Status Message, and view the Current Presence and Status Message of all Telepathy Accounts.
+
The dataengine is functional, allowing you to set the Requested Presence and Status Message, and view the Current Presence, Status Message, Avatar, Alias and name of all Telepathy Accounts.
  
The applet is not really functional. Andrunko has asked Nuno for some mockups of how to make a nice looking applet.
+
The applet is working well on its first version, supporting to set up presence status and presence message. It still needs some polishing and love from designers.
  
 
====Source Code====
 
====Source Code====

Revision as of 19:29, 7 August 2009

Contents

Introduction

The Telepathy framework is a DBus specification which provides a cross-desktop and cross-protocol abstraction layer for instant messaging, voice/video over IP and collaborative applications. See the Telepathy web site for more information about Telepathy itself.

This project is focused on integrating Telepathy with KDE. Our high-level aims are the following:

  • to provide a unified instant messaging and voice/video communication framework within KDE, which integrates throughout the desktop experience.
  • to provide collaborative features in applications which fit seemlessly into the KDE platform
  • to provide the infrastructure within KDE necessary to acheive the above two, using cross-desktop specifications and implementations wherever possible.

Infrastructure

This section contains details of all the Telepathy-in-KDE infrastructure components, and their statuses.

Telepathy Integration Daemon

noframe
 
Warning
Before working on this component, please talk to grundleborg on #kde-telepathy. See here for more information on Telepathy/Semantic Desktop Integration.


This is a small light-weight daemon that monitors the Telepathy Account Manager and keeps ensures that all Accounts are recorded in Nepomuk as NCO:Contact instances of "myself" and that they each have a Telepathy Contacts Akonadi Resource instance.

It could possibly be made into a KDED module, but I'm not sure if this is a good idea. Grundleborg

Status

The bare bones are implemented, but the Nepomuk part is blocking on standardising the Ontologies for telepathy specific stuff and how to access the "myself" PIMO:Person through Nepomuk. The Akonadi part is blocking on getting the Telepathy Contacts Akonadi Resource below implemented.

Source Code

Source code can be found in KDE svn at:

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-integration-daemon

websvn link.

Telepathy Contacts Akonadi Resource

noframe
 
Warning
Before working on this component, please talk to grundleborg on #kde-telepathy. See here for more information on Telepathy/Semantic Desktop Integration.


This is an Akonadi Resource that synchronises the contacts of a Telepathy Account into Akonadi as vcards. The instances of this resource are managed by the telepathy-integration-daemon mentioned above.

Status

Partially implemented. Requires some Telepathy CM's to implement the org.freedesktop.Telepathy.Connection.Interface.ContactInfo.DRAFT interface to complete it, since we shouldn't try and support legacy CM's which don't support that interface.

Source Code

The code can be found in the KDE svn playground at the following URL:

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-contacts-resource

websvn link.

Presence Dataengine and Plasmoid

Status

The dataengine is functional, allowing you to set the Requested Presence and Status Message, and view the Current Presence, Status Message, Avatar, Alias and name of all Telepathy Accounts.

The applet is working well on its first version, supporting to set up presence status and presence message. It still needs some polishing and love from designers.

Source Code

Applet in KDE svn:

svn://anonsvn.kde.org/home/kde/trunk/playground/base/plasma/applets/presence

websvn link.

Dataengine in KDE svn:

svn://anonsvn.kde.org/home/kde/trunk/playground/base/plasma/dataengines/presence

websvn link.

Account Management KCM

Ideas

  • One single UI that any application can load for add/edit/delete Telepathy Accounts
  • Creates a dynamic UI on-the-fly using Connection Manager parameters, but this should be used only when a specific UI plugin for that CM isn't installed.
  • Create specialised UI plugins for the popular CM's (e.g. gabble) since dynamic UI will be pretty crap usability-wise.

Status

Some code is there in svn, but it's pretty much just experimental shell-files. So feel free to ignore existing code to implement this :) Grundleborg

Source Code

Source code is in KDE svn playground at:

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-accounts-kcm/

websvn link.

KWallet Account Manager

This was originally intended to be an implementation of the Telepathy AccountManager which was integrated with KDE and KWallet for the account data storage. However, in light of the shared-secrets API being developed on freedesktop.org which will unify the KWallet and Gnome-Keyring API it would probably be a better use of resources to just get Mission Control ported to that instead.

In light of that, its probably best not to work on telepathy-accountmanager-kwallet or telepathy-qt4-accountmanager at the moment.

Telepathy Enabled Applications

Problems

  • QtDBus doesn't have peer-to-peer DBus implemented properly - the classes are just non-functional stubs. This stops us from implementing D-tubes in KDE/Qt based Telepathy applications. Upstream bug is private in Qt Software's tracker and this is unlikely to get fixed by Qt Software, so if anyone feels like implementing it and then merging it upstream into Qt, that would be really fantastic.
  • Telepathy-Mission-Control still requires you to use both the channel dispatcher part of it and the Account Manager. For KDE, we need to be able to use only the Channel Dispatcher from Mission-Control and have that talk over the standard Telepathy DBus interfaces to the KDE KWallet based Account Manager.(OR we need MC's AM to start using the shared-secrets API)

Trying out Telepathy

Prerequisites

  • telepathy-mission-control 5
  • telepathy-qt4
  • telepathy-gabble, telepathy-butterfly, telepathy-haze (for jabber/msn/everything else support respectively)

KDE Stuff

All the KDE Telepathy infrastructure components are detailed above, and they may or may not be in working/compiling order. Any problems, ask in #kde-telepathy.

How to Get Involved

Come and talk to us in #kde-telepathy on irc.freenode.net. There is also a #telepathy channel for talking about Telepathy stuff that is not specific to KDE.

Frequently Asked Questions

What happened to Decibel?

Decibel development has completely stagnated and it no longer works with recent Telepathy components. It is not necessary to use Decibel to get Telepathy support in KDE - all the applications/components above do not require Decibel to compile or function.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal