The purpose of this project was to develop a client/server chat system that was fully integrated into the World Wide Web (WWW). A number of systems have been designed to allow groups of people to talk to each other over the Internet in one way or another. In recent years the popularity of the WWW has increased tremendously. However, due to the non-interactive nature of the Web, there have been no applications that allowed users to talk to each other in real-time through the WWW. With recent introduction of Java, a cross-platform object-oriented programming language released by Sun Microsystems Inc., it has become possible to create interactive applications that can run in real-time within a browser.
Our project, Qchat, is precisely such an application.
Qchat employs Java, as well as other Web-related techniques, such as Common Gateway Interface (CGI) programs, to provide users with a fully Web-integrated system that allows multiple users to talk to each other in real-time using a simple yet fast, powerful, and feature rich application. By employing Java's cross-platform capabilities, Qchat in turn becomes a cross-platform application, usable on any platform regardless of the system architecture and its operating system. As long as the system is capable of running Java applets, it can run Qchat.
With features like multiple channels, multiple server support, and many others that are discussed in this report, Qchat can have a very wide range of uses. It can be used as an entertainment medium as well as a readily accessible forum in an office environment.
The remainder of this report is structured as follows. Chapter II presents several of the existing chat systems that can be used as a basis for comparison. Chapter III describes important design issues as well as specifications of all the different components of Qchat. Chapter IV explains all the techniques and issues involved in implementation of Qchat. Chapter V outlines the testing of Qchat and feedback received from Qchat's users. Chapter VI presents the low level details of Qchat implementation, including class hierarchy, and the actual code of the application.