[Adium-devl] Bonjour Messaging Discussion

Peter Saint-Andre stpeter at jabber.org
Wed May 16 16:22:37 UTC 2007


On Wed, May 16, 2007 at 12:00:17PM -0400, Erich Kreutzer wrote:
> I will be working on Bonjour support in Adium for GSoC and I have a  
> few questions for the developer community.  As you might know we must  
> make a major decision regarding the specific path towards bonjour  
> support.  There are two competing options:
> 	*The first would involve updating the current library used to  
> provide support for bonjour messaging, libezv.
> 	* The other option would transition to implementing Bonjour  
> messaging through libpurple.  This option would involve abstracting  
> the xmpp messaging functions from the Jabber protocol plugin and then  
> implementing Bonjour messaging using this abstracted layer.
> 
> After looking at both of the options I have an important question to  
> ask.  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?  

We are working to get everyone on the same page, specifically by
adhereing to XEP-0174:

http://www.xmpp.org/extensions/xep-0174.html

Also remember that iChat is not set in stone -- Apple does have
developers working on it and presumably they will be able to modify 
some code in time for Leopard. :)

> I understand working well with both would be  
> optimal but my research shows that the two options are mutually  
> exclusive because of the quirks within iChat.

It would be helpful to document the quirks. Here are some places you
might do that:

http://wiki.jabber.org/index.php/Link-Local_Messaging_%28XEP-0174%29

http://telepathy.freedesktop.org/wiki/SalutInteroperability

> Although the answer to the above question will somewhat dictate the  
> option used I would also like your opinions about both options.  I  
> have done some research and will provide my insights on both,  
> however, I would greatly appreciate any other information as well as  
> your opinions.
> 
> 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

This protocol is entirely undocumented AFAIK.

> 		-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
> 	Disadvantages:
> 		-Only really helps Adium
> 		-Staying compatible with iChat could lessen support for other  
> clients, although the goal of this method would be to stay as close  
> to XMPP standards while also being compatible with iChat

See above -- naturally I am trying to encourage the Apple devs to adhere
to XEP-0174 if at all possible (and if not to understand why).

> libpurple
> 	Advantages:
> 		-Helps other programs that use libpurple (Mainly Pidgin)
> 		-This would remove the dependency on libezv within Adium
> 		-Already conforms to XMPP standards
> 	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

True, you need only a subset of XMPP to do link-local messaging.

> 		-Implementing the file transfer protocol for iChat would be more  
> difficult

Do you have any information on that protocol?

Peter

-- 
Peter Saint-Andre
XMPP Standards Foundation
http://www.xmpp.org/xsf/people/stpeter.shtml





More information about the devel mailing list