back to index page
Design Use Cases
Component / Deployment
Overview Of Project Design
Current software engineering trends indicate that most large-scale software development
projects are required by design or circumstance to operate in a
distributed mode for at least a portion of their
development process. In order to prevent the physical location of
team members from restricting team progress, it
would be optimal to allow for a team to perform the same tasks, whether the individial members are located in the same
office or halfway around the world. Our goal is to develop a set of tools which are
beneficial to development teams regardless of proximity of the team members to each other.
Our application is centered around the concept of a distributed
development team (DDT). We propose to create a workspace
environment, which is oriented toward the needs of such a team.
While some components of our system are similar to
existing applications, we know of no working environment that
explicitly targets a distributed development team.
- System setup
The system administrator initalizes the system by starting the JavaSpace system via the included scripts. Once the space has been started, all activity by the system will persist even if the server program is halted.
To bring the system on-line, start the ServerApp program. The included admistrative tool allows the system administrator to create user accounts.
Individual users start the Candy Client by running the ClientApp program
- Starting up
Upon starting the client, the user is presented with a login
window. When the user's name and password are verified, the main
program window will appear. To the left, a list of all active members
is displayed, and buttons at the top toolbar allow access to the
system functions. Logging out is accomplished by closing this window.
- A Distributed Whiteboard
- Starting up
The whiteboard is a multiuser drawing environment. Clicking the
"Whiteboard" button from the main tool bar will bring up a selection
dialogue. From here, selecting "New Whiteboard" will prompt the user
for a textual name for the whiteboard and create a new window and
shared whiteboard. Selecting an existing whiteboard will connect the
user to a currently active whiteboard. On connecting to a whiteboard,
the current state of the display will be recreated on the user's
- Drawing on the whiteboard
The available drawing tools are: Freehand, Rectangle,
Circle, and Line. Click on one of these primitives to
begin drawing. While the mouse button is pressed over the drawing
area, a black outline will indicate the shape in progress. When the
button is released, the shape will be distributed to other users, and
will appear in the user's color.
- Adding textual notes
Select the Note tool. Clicking on the screen will cause a
note entry dialogue to appear. Enter the text of the note and press
"Ok". A note icon will appear on the whiteboard.
To view a note posted by someone else, select Note and click
on an existing note. The note text will appear in a dialogue.
- Erasing from the whiteboard
Once a shape or note has been drawn to the whiteboard, it is immutable;
shapes cannot be edited, but they can be erased. Select Erase
and click on a shape. The shape will be removed.
For shapes which enclose a region, the shape will only be erased by clicking on the boundary of the primitive.
To clear the entire whiteboard, press Clear
- Changing the background
Press the Background button. A selection dialogue will
appear. You can choose from the following types of background:
- Synchronous Scrolling
Select the ScrollTo button. Select an area of the screen,
which will be indicated by a black rubberband. When the mouse button
is released, the screens of all connected users will be scrolled so
that the selected region is visible. If the background is a text file,
lines within the selected region will be highlighted in the user's
- Chat/Messaging Clients
To begin a chat, select one or more members' names from the main user list
and press "Chat". A chat window will appear. A chat window will also
appear if another user begins a chat with you. Text is entered at the
bottom line, and a user list to the right indicates connected users.
To invite another member to the chat, click "Invite", and select a
member from the list.
The chat view will interpret HTML.
- File Sharing
External files may be attached to the system for download or use
with a whiteboard or meeting. Press the "Files" button to display the
file list. Pressing the button at the bottom of the window will open a
dialogue to upload a new file to the space. Select an existing file
from the table and press "Download" to make a local copy, or "Remove"
to delete the file.
- Group Calendar
- Meetings and Code Walkthroughs
A meeting is a chat session which is associated with a
whiteboard. A Code-Walkthrough is similar, but the whiteboard's
initialized to a file. Press the "Meeting" button to bring up the
master meeting window. From here, you can join a meeting in progress,
or start a new meeting or code walkthrough.
- Transcripts and playback
Whiteboards, Chats, Meetings, and Code Walthroughs can be transcripted
to play back later. When the last user leaves a chat or whiteboard,
they are prompted to save a transcript of the session. Transcripts are
stored for meetings and code walkthroughs automatically.
To review a transcript, press the "Transcript" button. The window
which appears contains a listing of the available transcripts. A user
can select a transcript for playback, or can delete it from the
When a transcript is played, the window of the original event will
be shown, with a toolbar at the bottom. The buttons on the toolbar
allow the user to control the playback:
The meter to the right of the control buttons indicates playback progress.
- Rewind to
- Play the
- Step forward
through the next action in the transcript.
- Pause playback
- Advance to the
end of the transcript
- Stop playback