Friday, April 03, 2009

Here is the full proposal I wrote applying to Google SoC:

I want to write an IM client based on libpurple using the Qt GUI library. This would provide a native interface on Windows comparable to using MFC or .NET while still retaining possible cross-platform compatibility. The difficult part of the project will be the scope of the task. Rather than attempt to complete an entire client single-handedly over one summer, I would rather lay the foundation for future completion: have most of the basic functionality working (buddy list, multiple accounts, basic messaging), along with a clear path to flesh out the rest of the code. The proposed timeline looks like:
Week 1 : set up build environment, get libpurple compiling under Visual C++, bootstrap project
Weeks 2-4 : account management, handling multiple accounts, status updates, etc
Weeks 5-6 : buddy (list) management, buddy info, etc
Weeks 7-8 : message management, emoticons, possibly file transfer
Any additional time: clean up code, document code, prepare for potential future code contributors.

I like this project because I have used Gaim/Pidgin as well as Adium for several years and I am excited about helping to give Pidgin a face lift on Windows. I have a couple of GPL'd projects up on sourceforge.net, including a klondike solitaire game for Mac OS X ("MacSolitaireX") and a basic desktop search application for Windows ("seek"). I spent two semesters working on a creative inquiry project at Clemson specifically focused on open-source software development. My preferred development environment is Visual Studio and my favorite language is C++. I will do an amazing job finishing this project because I have experience writing an instant messaging client on my own time (although not specifically using libpurple) and I enjoy spending long hours programming late into the night :)