Over the weekend, I have been working on a chat client based on XMPP. It will work for all Jabber servers as well as GTalk.
A friend of mine had requested me if I could support chat on his website. I was googling a bit. I am a big fan of Jabber since its open source and based on XMPP. I came across this page listing all Jabber clients: http://xmpp.org/software/clients.shtml, and I was trying out the web one.
I was awed by Claros Chat. Its a fabulous web-based chat client and has the look and feel of GTalk. I thought of taking advantage of its open source. So I downloaded the tar and was generally browsing through the contents when I came across smack. Now this is the core library which powers Claros. It provides a pure java implementation of the XMPP protocols. Its very well written. And it was not long before I started using it to write my own chat applet, based on Swings. People will find smack.jar and smackx.jar in its various versions in this maven repo under jivesoftware. A word of warning, the latest version 3.1.0 is still beta and did not work for me. I am using 3.0.4.
[caption id="attachment_252" align="aligncenter" width="300" caption="Chat applet Login Screen"][/caption]
Click here to view the applet.
You would need JRE 1.6 to view this. Its still in very early stages of development and there are lots of bugs. But I guess the basic functions are in there, the UI sucks though. I will fix it as soon as I get some time, meanwhile, please bear up :)
The sources can be found here. They are under the Apache License.