[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