Trac is being migrated to new services! Issues can be found in our new
YouTrack instance and WIKI pages can be found on our
website.
- Timestamp:
-
Feb 19, 2008, 5:26:19 PM (16 years ago)
- Author:
-
John Bailey
- Comment:
-
Some TLC for this page
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v13
|
v14
|
|
6 | 6 | |
7 | 7 | == Write a Native User Interface for Microsoft Windows Based on libpurple == |
8 | | The current version of Pidgin for Windows uses GTK2. While GTK2 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. This is a massive undertaking, and you should have a lot of experience creating native applications for MS Windows as well as lots of experience with C. Familiarity with the libpurple source and POSIX programming in general is also very important. |
| 8 | 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. |
9 | 9 | |
10 | | == Write Jabber Transports Based on libpurple == |
11 | | libpurple is our backend library that connects to AIM, MSN, Yahoo, etc. A Jabber transport is an add-on component that allows Jabber users to talk to people using AIM, MSN, Yahoo, etc. It should be possible to write a generic Jabber transport that supports all the same protocols supported by libpurple. This idea is so freaking awesome don't even play. |
| 10 | There are a number of benefits here: |
| 11 | * A native UI will fit into the Windows desktop correctly |
| 12 | * Font sizes will follow users' expectations |
| 13 | * Editing of a .gtkrc-2.0 file will not be necessary to change elements of UI behavior |
| 14 | * Windows-specific conventions can be followed much more easily than can be done in Pidgin's GTK+ 2 UI |
| 15 | * If developed using MFC instead of .NET: |
| 16 | * In theory, users of Windows 95 (there are still a surprising number of them!) should be able to use the application under some conditions |
| 17 | * 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 |
| 18 | |
| 19 | This is a massive undertaking, and you should have a lot of experience creating native applications for MS Windows as well as lots of experience with C. Familiarity with the libpurple source and POSIX programming in general is also very important. |
| 20 | |
| 21 | == Write XMPP Transports Based on libpurple == |
| 22 | libpurple is our backend library that connects to AIM, MSN, Yahoo, etc. An XMPP transport is an add-on component that allows XMPP users to talk to people using AIM, MSN, Yahoo, etc. It should be possible to write a generic XMPP transport that supports all the same protocols supported by libpurple. Familiarity with XMPP and libpurple would be a good idea here. |
12 | 23 | |
13 | 24 | == ICQ TLC == |
14 | | Our ICQ implementation in the OSCAR code is substandard in a variety of respects. We do not have full support for ICQ status, ICQ privacy, or ICQ formatting to name just a few shortfalls. Others include our buddy list management, message size restrictions and ICQ's chats. Your goal is to compare what libpurple does at a protocol level with what the official Windows ICQ client does, figure out where it differs, and to repair libpurple's implementation, extending Pidgin's, Finch's, and libpurple's capabilities where possible or necessary. |
| 25 | Our ICQ implementation in the OSCAR code is substandard: |
| 26 | * We do not have full support for ICQ's: |
| 27 | * status |
| 28 | * privacy |
| 29 | * message formatting |
| 30 | * Buddy list management is suboptimal |
| 31 | * Message size restrictions are likely wrong |
| 32 | * We do not support ICQ's chats |
| 33 | Your goal is to compare what libpurple does at a protocol level with what the official Windows ICQ client does, figure out where it differs, and to repair libpurple's implementation, extending Pidgin's, Finch's, and libpurple's capabilities where possible or necessary. |
15 | 34 | |
16 | 35 | == Yahoo! TLC == |
17 | | Our Yahoo! implementation is currently a substandard in many ways. For example, file transfers don't work between libpurple clients and the current versions of the official client. We also don't support the newest protocol revision, which allows the MSN interoperability to function. Your task is to compare what libpurple does at a protocol level with what the official Windows Yahoo! client does, figure out where it differs, and then repair libpurple's implementation. |
| 36 | Our Yahoo! implementation is currently a substandard: |
| 37 | * File transfer support is limited to the server-proxied method. |
| 38 | * Our support for the newest protocol revision (version 15) is sub-standard. |
| 39 | * MSN interoperability isn't as good as it could be and we do not support adding buddies across the bridge at all. |
| 40 | * We don't understand all the new status keys sent over the wire in this protocol version, which may be responsible for a number of user complaints about buddy list errors. |
| 41 | |
| 42 | Your task is to compare what libpurple does at a protocol level with what the official Windows Yahoo! client does, figure out where it differs, and then repair libpurple's implementation. |
18 | 43 | |
19 | 44 | == Finch Improvements == |
20 | 45 | * A new window manager (or improvements to the existing ones). For example, a tiling window manager would be super awesome. |
21 | | * Improve the widget-packing in a container (GntBox), may be even have a grid-like container. |
| 46 | * Improve the widget-packing in a container (!GntBox), may be even have a grid-like container. |
22 | 47 | * Have a spell checker, which would add some way of indicating spelling errors, suggesting possible corrections, etc. |
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!