The Client Application
Each virtual project building on the server can hold up to 35 team members.
Each of these members would need a copy of the client application.
When this application is started it sends a hello message to the main server.
The server sends back a list of the environments it holds and these are displayed
in a login dialog. The client enters their username, password and chooses the project title.
These details are checked for validity by the server and it returns the building
details to the client.
The client app uses the details to find the workers attributes and displays a room
with the colour, image and other properties stored for that room on the server.
Each team member has their own virtual room that can be explored using the cursor keys.
Each of the 4 walls in the room holds a different facility. These can be started
and switched easily.
The application was designed with ease of use in mind. There are no hidden menus
and all facilities are simple to use. Any team member could use the application
and networking and protocols are transparent to the user.
The graphics used in the program could be improved as I did them myself and I am
no artist!
Each wall has a button and a label which are from the same classes (WallButton and
Wall Label) The appearance and actions performed are different for each widget
depending on the direction of the wall faced.
This part of the system was designed, implemented and tested when time was tight.
It has not been so well documented as the other components in the system. However
a project log was kept at all stages of the development and there is a poster and
report (available on request).
The Chat Manager was designed using the UML and Rational Rose.
The Task manager was designed using the star development model.
The File Manager(Visit Room) and the Document Manager were designed in the
prototype.
All facilities work in the JBuilder 4 IDE but I am having problems delivering the
package in a simple form for the end user. This package was implemented using Java 1.3
so it is not so easy to distribute. When run with Java 5 there is a problem with
the cursor key listeners. When run with Java 1.3 there is a problem with the package.
I am Open Sourcing the system in an effort to complete it. If this is unsuccessful
I will have to investigate how focus is handled in Java 5. As the program only uses 2 cursor keys
surely there is a simpler method of handling the key listeners!
To be continued......