[Adium-devl] Bonjour Messaging Discussion

Erich Kreutzer eagleeye87 at gmail.com
Wed May 16 16:00:17 UTC 2007


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?  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.

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
		-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
		
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
		-Implementing the file transfer protocol for iChat would be more  
difficult




More information about the devel mailing list