Hey, AOL IM has solved the presence technology problem already. Why not just sit on top of that?

And that's what both the client and server do. Both applications have clients embedded within them, and use IM to send structured information around (and also www requests when a response is required synchronously). It's pretty handy! And the buddy list can be monitored to see when the server or clients are online/offline.

However, there are problems...

AIM wasn't designed for bots, so there's rate limiting, bizarre bits of information sent, weird errors, things just not working, and I'm convinced AOL have done something so that if you don't receive enough IM while you're sending them out, it silently blocks your messages to everyone else.

But the presence thing is very handy.