[Telepathy] Telepathy Vs. XMPP Library

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Feb 19 07:32:33 PST 2010


On Thu, 18 Feb 2010 at 13:47:17 -0800, Paddy Carman wrote:
>     I'm planning to develop an application uses XMPP.  I would like to know
> the pros and cons of implementing my application using an XMPP library
> directly Vs. using Telepathy.

The things you gain from using Telepathy are:

* if your application doesn't rely too heavily on features of XMPP, you can
  use it with non-XMPP Telepathy connection managers too, with minimal effort
  (basically just fix any hidden XMPP assumptions...)

* you can share a connection to XMPP with other processes in the same desktop
  session (e.g. Empathy, or the various bits of N900 UI that use Telepathy),
  so the user only needs to have one set of account details configured, and
  your application can "just work" with those

* you use D-Bus (an asynchronous object-oriented IPC system) rather than
  XMPP's stream of XML stanzas (whether you think this is an advantage is up
  to you!)

Whether these are useful to you depends on your application; they're rather
more useful for a real-time communication UI than for some sort of specialized
XMPP bot, for instance. What is it that you're actually doing? :-)

> In other words, does Telepathy interface abstraction reduce any of the XMPP
> functionality that my app. could make use of (that would be provided by an
> XMPP library)?

As with any abstraction layer, you do lose any functionality for which
the abstraction layer doesn't provide an API. Telepathy is written
in terms of relatively concrete UI operations (so you can't, for instance,
send arbitrary XML stanzas to use a protocol of your own devising); have a
look at http://telepathy.freedesktop.org/spec/ to see what's in the API.

However, there are a couple of things mitigating that:

* for things that aren't totally XMPP-specific - and even some that are -
  and that are within the scope of Telepathy (i.e. real-time communication
  between users) we'd appreciate any help you can provide to add them to the
  Telepathy D-Bus API

* for things that are outside the scope of Telepathy, recent versions of
  telepathy-gabble have a plugin API through which you can expose extra stuff
  onto D-Bus

If you decide that Telepathy isn't suitable for your application, you might
be interested in Wocky, which is an XMPP library we're developing based on
lessons learned from Loudmouth, telepathy-gabble and telepathy-salut.
Initially, it's used in version 0.9.x of Gabble and only
released as part of Gabble, but as it becomes more complete and stable we'll
turn it into an independent library.

The eventual goal is that Wocky will be a complete XMPP client library, and
that Gabble and Salut will use it for all their XMPP and link-local-XMPP
functionality (by the time that happens, we might well have merged Salut's
functionality into Gabble).

Regards,
    Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 793 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/telepathy/attachments/20100219/e79f07ac/attachment.pgp 


More information about the telepathy mailing list