| |
An Internet Whiteboard System
Developed by Gina Noto
CSCI Senior Project, May 2001
Advised by Dr. J. Dean Brock
The goal of this project was to write an easy to use Internet
program that allowed users to draw objects that could then be
transmitted to other users who were simultaneously using the same
application. This electronic concept is similar to that of a real
world whiteboard: one participant draws objects that others can see,
and the other participants can then add to or delete these drawings.
Writing the system in Java was an obvious choice for several
reasons. First, since I cannot control the type of computer the user
will be logging in with, the programs needed to be platform
independent. Second, Java provides multiple mechanisms to transport
data from the server to the clients. These include sockets, RMI and
Servlets. After deciding on sockets to transfer the data, I then had
to write the server and the client side software. The server side
program was straightforward. It needed to keep a list of what
objects had been drawn by the client, receive updates from the
clients to this list and then broadcast this update to the other
clients. The client software, on the other hand, had to know not
only how to send and receive the updates from the server, but also
how to draw the objects. This required extensive thought and
investigation on Java drawing techniques.
There were several challenges with this project. Getting the
client to correctly draw, and move the objects was very challenging.
I took several iterations and trials to get it right for each object
type. Also, getting the user log in and log off information to
display in a separate area took longer than expected. Luckily, and
due mostly to the flexibility and stability of Java, getting the
client and server to talk was easy. I enjoyed writing this system
immensely, even though there were some problems along the way. I
gained experience in programming a drawing application, in object
communication and in using sockets. |