https://developer.pidgin.im/wiki/FutureSOCProjects[/url]]
Write a Native User Interface for Microsoft Windows Based on libpurple
The current version of Pidgin for Windows uses GTK+ 2. While GTK+ 2 windows with the WIMP theme are designed to look like native Windows applications, they're not perfect. This task is to create a complete IM program for Microsoft Windows using libpurple as the core component.
There are a number of benefits here:
- A native UI will fit into the Windows desktop correctly
[/*:m:361untdf] - Font sizes will follow users' expectations
[/*:m:361untdf] - Editing of a .gtkrc-2.0 file will not be necessary to change elements of UI behavior
[/*:m:361untdf] - Windows-specific conventions can be followed much more easily than can be done in Pidgin's GTK+ 2 UI
[/*:m:361untdf] - If developed using MFC instead of .NET:
[list:361untdf] - In theory, users of Windows 95 (there are still a surprising number of them!) should be able to use the application under some conditions
[/*:m:361untdf] - Windows 98, Windows ME, and Windows 2000 users with older machines will have a more pleasant experience, as .NET applications tend to not run well (fast) enough on older, slower hardware where these Windows versions are prevalent [/*:m:361untdf]
[/*:m:361untdf][*] If developed using .NET:
- The actual client development should be easier than with MFC.
[/*:m:361untdf] - Glib and libpurple will need to be built with Visual Studio .NET. If they're not, there will be some obscure, unfixable bugs resulting from the mixing of two different versions of the Microsoft Visual C/C++ Runtime library.
+ rekkanoryo: I will assist the student if necessary with fixing the Glib project support files, whether or not I am the mentor of the project, as there are some minor tweaks necessary to make glib find its headers and such.
[/*:m:361untdf] - .NET is probably preferred. [/*:m:361untdf]
[/*:m:361untdf][/list:u:361untdf]
This is a massive undertaking, and you should have a lot of experience creating native applications for MS Windows (experience with Visual Basic does not count here) as well as lots of experience with C. Familiarity with the libpurple source and POSIX programming in general is also very important and extremely helpful.