[Adium-devl] Google Summer of Code: Bonjour Support
Erich Kreutzer
eagleeye87 at gmail.com
Fri Mar 23 14:09:03 UTC 2007
Dear Adium Developers,
My name is Erich Kreutzer and I am applying for Google Summer of
Code. I would like to work on a mac-specific project and Adium fits
the bill quite nicely as I have used it for quite some time now.
After looking through the suggested project proposals I was extremely
interested in improving Bonjour instant messaging support.
I have looked through trac and the libezv source code and have an
idea what this would require. However, I was perusing the adium-devl
irc channel last night and there was discussion as to whether an
update to libezv or transition to libgaim to handle Bonjour messaging
would be better. I am curious what the consensus on the idea is.
From my brief research the benefit for updating libezv seems to be
the ability to use the OS X Bonjour stack (according to evands on
http://trac.adiumx.com/ticket/5492 ). In fact it seems Evan worked
on converting libezv to use modern DNS calls about 4 months ago in
the modernize_bonjour branch (http://trac.adiumx.com/browser/branches/
modernize_bonjour). Also since other Mac instant messaging clients
currently use libezv any updates would also help other open source
projects.
On the other hand using libgaim to support Bonjour messaging would
reduce the number of external library dependences and also possibly
simplify the code for Bonjour support. Implementing Bonjour support
in libgaim was a past gaim summer of code project, however, I do not
know the current state of project and libgaim currently uses howl for
mdns support. As I learned last night on irc Howl is no longer
actively developed (confirmed at http://www.porchdogsoft.com/products/
howl/ ).
Before I read the irc chat last night I had worked up a proposal
which involved starting by fixing the outstanding bugs in libezv and
Adium regarding Bonjour support. Some of the more important bugs
include the inability to send multiline messages, improper user
status updates, incorrect reporting of current users online, and
intermittent failure to send messages. I also plan on continuing
Evan's work on updating the DNS calls. The major goal once I
modernize libezv would be to add file transfer. I have researched on
a few of Apple's mailing lists ( http://lists.apple.com/archives/
rendezvous-dev/2004/Feb/msg00044.html ) and found a post regarding
how iChat(an early version, I don't know the exact version number)
handles file transfer. After I have completed the update to libezv
and included file transfer I have a few ideas (starting
infrastructure for audio/video chat over bonjour), however, I don't
know how much time will remain.
My big questions now are: should I alter my proposal to deal with
adapting libgaim? And if updating libezv is still an option, are
there any suggestions and or critiques to my ideas? Thank you all
very much for the help.
Sincerely,
Erich Kreutzer
More information about the devel
mailing list