After nearly 6 months, the first multiplayer version of java-chess-web (version 0.3.0) has been released. It now offers multiplayer support for Ajax chess games and a lobby for players to chat, and view and join games. It is full Ajax, requiring nothing but a standard browser to play. It also retains the existing ability for both players to play in a single browser.
This Ajax chess game is implemented in Java 6 and runs on a Tomcat 6 server. Most of the client-side magic is made possible by jQuery, the excellent Javascript library. Complete source code is available at http://code.google.com/p/java-chess-web. It has been a lot of fun designing and implementing this release of java-chess-web.
There are still some known issues -- the Ajax polling can occasionally experience some issues (such as requiring a user to refresh in order to join a game, or seeing duplicate lines in a chat window). These issues wouldn't exist if java-chess-web had been implemented using a Comet Ajax design, which is something I realized too late to switch. I'll probably get around to correcting these issues someday, but it's going to move to the back burner for a while as I learn Scala and Lift. Maybe I'll just reimplement the whole application in Scala/Lift to compare it to Java/Spring MVC.