[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