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
signature.asc
Description: Digital signature
_______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
