III. Specifications and Design

World Wide Web Integration.

Qchat has always been intended to be tightly integrated into the structure of the World Wide Web. Hence, many of its components are implemented using the Web. These components include a list of people currently using Qchat, what channels those users are on, channel list, as well as new user registration and ability to set preferences. The current user lists are generated by the server and are constantly updated in real-time. Users only have to reload the page to see an updated list. Other functions, such as new user registration, setting preferences, and starting the Qchat client are accomplished using the Common Gateway Interface (CGI) programs. Using CGI programs also helps to reduce the complexity of client and server. Furthermore, the client being a Java applet, users can use Qchat directly from their web browsers, thus making Qchat fully integrated into the WWW.

When users first load the Qchat page, they are presented with a number of options. These include registering as a new user, starting Qchat, changing preferences, or checking the current user list. Of these, new user registration page, preferences page, and start-up page contain HTML forms which, when completed, are passed to appropriate CGI programs to be processed. The option to see current users in turn loads an HTML file produced and constantly updated by Qchat server.

The new-user registration page prompts user for information such as proposed username, real name, e-mail address, and user's homepage. This information is then passed to a CGI which in turn stores it in a text file. This information is restricted to the site administrator so as not to compromise users' privacy.

The preferences page allows users to select the size of the client applet when it is loaded, font, font size, and colors to be used in the client. The allowed sizes of the client applet are pre-determined and range between 500x300 and 800x600. User is also given the choice of several fonts and pitch sizes. The color settings include foreground and background colors for various components of the client's appearance, such as the main text area, buttons, input areas, and main body. Users can choose from eleven available colors. When completed, this form is passed on to a CGI program which stores the information in a file. At any future time when the user wishes to use Qchat, these preferences are used. It is also possible to change the preferences at any time in the future. If the preferences are not set, a default set of preferences will be used instead.

The start-up page presents a user with a field for user name and another for channel on which to start the client. Username has to be a valid one, meaning that the user has to have registered through the 'New User Registration' page. A list of available channels is given on the same page. If user enters a channel name that Qchat does not know about, a new channel with that name will be created and the user will start in that new channel.