[Adium-devl] Bonjour Messaging Discussion
Evan Schoenberg
evan at adiumx.com
Wed May 16 16:27:18 UTC 2007
On May 16, 2007, at 12:12 PM, Chris Forsythe wrote:
> Erich Kreutzer wrote:
>
>> What is the goal of Bonjour messaging support in Adium? In
>> other words is it more important for Adium to work well with iChat
>> and only passably support other Bonjour messaging clients (Pidgin and
>> Gajim) or vice versa?
>>
>
> I'd say support for iChat is more important.
I think this may gloss over a distinction which is relevant to the
discussion. iChat 1.0 is a mess. As far as I am aware, we're
currently compatible with iChat 1.0 -- which has almost no users
whatsoever -- and only barely if at all compatible (based on the bug
reports seen) with later versions of iChat.
No acceptable implementation in any client should be incompatible
with the current version of iChat. However, as we are an open source
messaging application, I believe that properly implementing the JEP
for Bonjour messaging should be the standard. I'll be surprised if
there are unavoidable incompatibilities between implementing that JEP
and being iChat compatible in a real sense.
I'd like to add a couple entries and make a couple notes:
> libezv
> Advantages:
> -The framework is already in place within Adium
> -Would be more likely to work with iChat 1.0
> -Could more easily support the hybrid file transfer protocol
Erich, could you explain what the 'hydrid file transfer protocol' is
and perhaps give a few thoughts as to why libezv would be better
suited to handling it?
> -On a personal level, I have experience with Objective-C and Andrew
> Wellington, my mentor wrote libezv
> -Updating to be XMPP compatible shouldn't be difficult and using
> libezv does not preclude being XMPP compatible
Being 'XMPP compatible' is a good goal... but even better is an
advantage of the libpurple version, see below plus keep in mind that
there are JEPs now and in the future which a full XMPP implementation
wields that iChat alone does not. We should be able to use client
capabilities discovery to be able to do fun things over Bonjour which
iChat itself doesn't support. This, of course, could be done in the
libezv implementation, too, but would require reimplementation rather
than 'free' use of existing code...
>
> libpurple
> Advantages:
> -Helps other programs that use libpurple (Mainly Pidgin)
> -This would remove the dependency on libezv within Adium
> -Already conforms to XMPP standards
-Any future work on the XMPP implementation will benefit Bonjour
as well as Jabber. For example, later voice/video efforts, adding
libjingle, would also benefit Bonjour.
-More eyes. The libpurple development community offers benefits
of maintenance and future bug fixing at a protocol which exceed that
of the Adium community.
> Disadvantages
> -The abstraction could possibly be so large that any advantage
> gained from using the xmpp standards would be lost
> -Requires an abstraction of the mDNS layer to allow for different
> implementations on the different platforms supported by libpurple
> -Bonjour messaging doesn't really need all of the standards such as
> authentication and account registration
> -Implementing the file transfer protocol for iChat would be more
> difficult
>
Two side notes:
- the very very first move of splitting xmpp into multiple
protocol plugins ("prpls") has been done in libpurple's trunk; the
Jabber prpl is now a plugin making use of a libxmpp product, though
this libxmpp is obviously not abstracted in a way that is immediately
helpful to Bonjour messaging.
- The mDNS layer of a libpurple based solution would reside within
Adium and would, I expect, be largely based on libezv. Such a
solution could be used as-is initially and would hopefully be
modernized in the process, something which should be done with either
solution.
-Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070516/a0c78be2/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070516/a0c78be2/attachment.sig>
More information about the devel
mailing list