List of Improvements

This file contains a list of latest improvements and enhanced features. Will be updated for subsequent additional features added to the application. (This file is accessible on line at http://www.ctr.columbia.edu/~laitee/courses/ais/report/improve.html).

Author: Evelyn Lai-Tee Cheok

Updates :

Module Name

Description

Whiteboard Module 1. Added features to copy and paste objects. Such effect is updated to all other users by multicasting the PASTE command. Written a class for processing copy and paste commands, implemented a clipboard for keeping track of copied objects and written a clone method for each of the line, rectangle, circle, oval and text, for cloning and pasting these objects.

2. Enables remote deletion and movement of objects. When objects are moved across the sketch area (drawing canvas) of the whiteboard, each movement is updated onto the whiteboard of other multicast users, so that other sers are aware that objects are being moved.

3. Introduced unique object id, especially important for object deletion, since objects to be deleted are identified by their object ids. Thus, we need only to transmit the Data Type (for indicating whether data is for whiteboard or chat tool), object id and the RTP header. No object parameters need be transmitted.

4. Improved efficiency of stack operation. For each MOVE command received by every other users, (other than the user who issued this command by moving the object), instead of searching through the stack for the object to be moved, comparison is first made with the previously searched object. In this way, redundant search operation can be reduced and efficiency achieved.

5. Improved user interface of the whiteboard, in particular the object and color panels.

6. Fixed the appearance of the rectangle object when it`s moved. To move a rectangle object, we click on the body of the rectangle before dragging it across the sketch area. However, if we click at the center of the rectangle and starts moving it, the rectangle suddenly shifts to position itself such that its top lefthand corner is displaced to the point at which we clicked. This has been fixed such that when we click at the center of the rectangle and starts moving, the rectangle will not shift suddenly, but will move in response to our mouse movement, with the mouse still pointing at its center.

7. Added ability to enter text string, move, delete, copy and paste text strings onto the whiteboard.

8. Cleared some of the redundant code.

9. Allows users to specify multicast address and port in the Login Session dialog box at the beginning of the application.

10. Re-written and modified the following sections of the report:

For Project Report (http://www.ctr.columbia.edu/~laitee/courses/ais/ais_report.html):
Section 2 on "Related Work".


For Project Documentation (http://www.ctr.columbia.edu/~laitee/courses/ais/ais_doc.html):
Section 4 on "User Manual".
Section 5 on "Java classes Documentation".
Section 6 on "Design, Implementation and Functional Description of Whiteboard Module".
Section 6.3.1 on "Module Design of the Communication Module".
Section 6.3.2 on "Data packet using RTP and application-specific format".