Free of leaks, hanging bugs, and other things that tend to cut off conversations at the worst possible time.
Multiprotocol support: AIM, Yahoo, MSN, perlmonks. (You could be the only non-dedicated client to support perlmonks as a chat protocol!)
Easy to add new protocols to.
Umm... sure I'm forgetting somthing, but IM clients really should be simple. GAIM is a better example than ICQ.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).