Oh, and one not-so-trivial requirement: The chat module has to support Unicode, so that people can write in English, Hebrew, or Arabic. Java applets should support Unicode without any trouble (and I know for a fact that Tcl, AOLServer, and PostgreSQL all do), but I just wanted to name all of the requirements before someone suggests a potentially inappropriate solution.