The Jabber instant messaging system uses port 5222, which may not be open on a given person's network due to firewall restrictions. Rather than have people download and install a full application only to find out they can't use it because of a firewall, I want to create an applet they can visit in their browser to test the firewall first. I have created such an applet, in <100 lines of code, using the Smack API ([login to view URL]). It works fine, but Smack requires a modern JVM, and I need an applet that can work on Internet Explorer without forcing people to download a full JVM. This project is to rework my applet to work on IE's built-in JVM. Most likely, you can leverage existing Jabber applets (such as [login to view URL]) to gain IE-compatible Jabber code. I do not just want to open port 5222 and close it to see if a connection is possible, as I worry about such fake connections possibly fouling up the Jabber server. I want a complete legal handshake of the Jabber XML protocol, but as little as needed in order to be complete and to confirm connectivity. I will require a successful bidder to sign a joint copyright assignment, so the bidder and I will each "own" the code and can do with it as we wish. The code needs to be adequately commented (to allow me to maintain it). I will test the applet on Windows ME, Windows 2000, Windows XP, and Mac OS X 10.2 to confirm it works.
## Deliverables
-- Source code for applet with reasonable comments -- If the source code is more than a single .java file, an Ant build script ([login to view URL]) for building an applet JAR file from the source -- A test HTML file for demonstrating the applet (I will supply the [login to view URL] file I used for my applet) -- A signed joint copyright assignment form, akin to the ones used by [login to view URL] ([login to view URL]), which I will provide
## Platform
Internet Explorer 5.5 and higher, with stock Microsoft JVM Mozilla Firefox 0.8 and higher, with Sun-supplied JVM (1.4.2 and higher) Apple Safari 1.0.2 and higher, with Apple-supplied JVM (1.4.2 and higher)