Brought to you by: Jason Corso, Anya Kanevsky, Jeremy Mullendore, Lewis Raszewski.
back to index page


Design Use Cases

Design Classes

Package Structure

Component / Deployment

GUI Sketches



Release Plan


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 screen.

    • 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:

      • Blank: The default white background.
      • Color: A color is selected from a color selection dialogue and is used to fill in the background of the whiteboard.

        The remaining backgrounds use files living in the candySpace. If no files are available, these are disallowed. The whiteboard will be automatically resized to fit the document.

      • Text: A file is rendered in a text window under the whiteboard.
      • Graphic: The file is loaded as a background image to the whiteboard. It is left to the responsibility of the user that the file actually does contain valid image data.
    • 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 color.

  • 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 background is 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 archive.

    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:

    • Rewind to the beginning.
    • Play the transcript
    • Step forward through the next action in the transcript.
    • Pause playback
    • Advance to the end of the transcript
    • Stop playback
    The meter to the right of the control buttons indicates playback progress.