redcarton.com

JaimBuddy: A Java AIM Client...

Intro | Screenshots | Download | Features and Bugs | Note to Coders | History | Related Links

JaimBuddy is an AOL Instant Messenger client. If you just want to use it and don't care about or know Java, skip the rest of this section and move on to the screenshots.

I wrote JaimBuddy (Java AIM Buddy) to familiarize myself with a number of Java structures and components that I had limited exposure to. Among those are Properties, JSplitPane, JEditorPane, JOptionPane, Action, as well as translucency, key remapping and custom list cell renderers.

The client is written in Java2 and makes use of Swing components. It requires JRE 1.4+ to run (as I call setFocusable(false) on most of the scrollbars) but I may make use of reflection in the future to open it up to users with JRE 1.3.

I only wrote the gui part of JaimBuddy. For the the server connection logic I made use of Jaimlib 0.5. Jaimlib (or JAIM) is an open source AOL IM TOC protocol library written in Java. Jaimlib was intended for use in bots, but I decided to make use of it for my client. The downside is the TOC protocol is implemented (and not AOL's newer OSCAR protocol) - not Jaimlib's fault, only TOC has been released by AOL for public use. As such some of the advanced features in AIM are not available (such as buddy icons and file transfer), but I haven't even implemented all TOC features anyway, so all in all it doesn't really matter.

JaimBuddy is not in active development, but if you have any comments or find any bugs not listed below, please drop me a line. I will release new versions as my time constraints will allow.

Screenshots:

Screenshot of the JaimBuddy login window    Screenshot of the JaimBuddy buddy list window
The login and buddy list windows.

Screenshot of the JaimBuddy conversation window    Screenshot of the JaimBuddy away window
The chat conversation and away message windows.

Please note, the screenshots above picture JaimBuddy with the Windows Look & Feel. In non-Windows environments JaimBuddy will have the Java Metal Look & Feel.

Download:

Download the executable. 63 KB

Download the source (includes Javadoc). 97 KB

For the Jaimlib source, visit the official site.

*** JaimBuddy is provided as is. Also, you are free to use, modify and distribute JaimBuddy as you see fit. Jaimlib (aka JAIM) has its own terms that you must comply by. These are included with both downloads. ***

Features and Bugs:

Features

  • Send and receive instant messages
  • Message history while connected
  • Message time stamps
  • Away support with custom away messages

Possible future features

  • Idle support
  • URL launching from chat windows
  • Clear message history in chat windows
  • User information (profile, idle time, online since, away message)
  • Tabbing support for chat windows (one window, many chat sessions)
  • Group support for the buddy list
  • Add/remove users/groups support
  • Warn and block users
  • Know of more? Let me know! (Remember, JaimBuddy is limited by the TOC protocol.)

Known bugs

  • There is no support for dropped connections
  • There are issues with connecting to the AOL TOC server
  • The buddy list is not always received from the AOL TOC sever when logging in
  • Found more? Let me know!

Note to Coders:

The goal of JaimBuddy was not to create a solid and stable AIM client. Rather, it was to experiment with new Java classes and data structures, and it did just that. Think of it more as a quick doodle than a pièce de résistance. Although you are welcome to use the source code and extend it, from a good programming standpoint I’d recommend against it.

History:

Version 1.0: released June 16, 2004; written January 2004.

Related Links:

Java AIM Protocol Library (aka Jaimlib, JAIM)
AOL TOC Protocol