The Telecommunications Conference Center Java Applet


The Design Phase

As a team member of this project, I was asked to come up with a detailed design for the Telecommunications Conference Center project. So the next couple pages is a detailed design report. The project was broken down into three phases of development. The alpha, beta, and gamma phases. Many of the Alpha componets are expected to be implemented and become the copy that is sent to the Sun Mircrosystems Inc. Java Cup Contest. The beta phase are anticapated component that are possible to be implement in the time span of the Villanova University's Independent Study period. The gamma phase are components the team saw that would make the project increditable, but most likely will not be implemented in the version 1.0 release. Since there was no formal requirements or the specification documentation, some of the verbal design components between team members may not of gotten to this document.

Telecommunications Conference Center Design Documentation

I.	Personnel
	A.	Villanova University's Senior Level Elective Class
	B.	Two (2) Undergraduates
		1.	Tom DiSessa
		2.	Robert Lubario
	C.	Seven (7) Graduate students
		1.	Karen Brown
		2.	Mark Juliano
		3.	Dharmenda Katkuri
		4.	Peter Loftus
		5.	Graham Mehl
		6.	Sharon Morris
		7.	Chris Zupko
	D.	Two (2) Faculty Advisors
		1.	Dr. John Lewis - Project Coordinator
		2.	Dr. Paul Schragger  - Communication/ Network Coordinator

II.	Group Roles - Shared White Board
     A.	Coordinator						Peter Loftus/ Mark Juliano
          1.	System Integration				Mark Juliano/ Chris Zupko/ 
									Graham Mehl
          2.	Documentation					Dr. John Lewis / 
									Graham Mehl
          3.	Software				
               a.	Communications
                    (1)	Server				Chris Zupko
                    (2)	Client				Mark Juliano/ Karen Brown
                         (a)	Chat Window		Robert Lubario
                         (b)	Easel Page		Mark Juliano
               b.	Tool Kit and Easel Page
                    (1)	Coordinator			Mark Juliano
                         (a)	Integration		Graham Mehl
                         (b)	Communications		Mark Juliano
                         (c)	Secretary 		Sharon Morris
                         (d)	Documentation		Sharon Morris/ Graham Mehl
                         (e)	Developers		All Team Members
                         (f)	Components
                              i)	Tool Kit	Mark Juliano/ Dharmenda
							Katkuri/ Graham Mehl/
							Sharon Morris/ Tom DiSessa
                              ii)	Easel Page	Mark Juliano/ Dharmenda
							Katkuri/ Graham Mehl/
							Sharon Morris/ Tom DiSessa
                              iii)	Easel Page	Karen Brown/
                	              	Management	Mark Juliano

III.	1996 Time Line
     A.	Target Date for Source Code     
          1.	Friday, January 19	- Milestone 1	- Baseline Set / Design Issues Set
          2.	Friday, February 2	- Milestone 2
          3.	Friday, February 16	- Milestone 3
          4.	Friday, March 1		- Milestone 4	- Alpha Components Complete
          5.	Friday, March 15	- Milestone 5
          6.	Monday, March 25	- Milestone 6	- Application Integration
          7.	Tuesday,  March 26	- Milestone 7	- Documentation
          8.	Sunday, March 31	- Milestone 8	- Application Due
     B.	Independent Study Deadline
          1.	Sunday, May 5		- Spring Graduation Deadline
          2.	Sunday, July 28		- Summer Graduation Deadline
          3.	December  		- Fall Graduation Deadline
IV.	The Project
     A.	Project must address
          1.	Is a Web Agent
          2.	Good Java Code
               a.	Structure
               b.	Presentation
          3.	Appropriate Graphics will be used
          4.	Communications - Meaning portable
          5.	Security
          6.	Make use of existing class libraries - a good collection 
		of class library already exists

B. Work Environment

Each member is responsible for setting up their own work environment. Whether it is at home, work, or school does not matter. The important thing is that everyone has the ability to do their development work somewhere. The Solaris Sun cluster at Villanova University will be the designated area for integration demonstration, and final testing

C. Application Description

A telecommunication conference center permitting for a chat sessions, clipboard work, and various Tool Kit to communicate topics across the Internet in real time to remote colleagues. The application is a "Shared White Board". Basically, there are two phases to the application. The First phase will be the development of the "key" concepts namely, Telecommunication Conference Center, Doorman, White Board, Tool Kit, Page Manager, and the Interface for Communication. The second phase will add "options" which will enhance the application namely, multiple pages, private rooms, and many more as will be described.

D. Application Design

The design of the software was to develop it in three phases. The alpha phase, which become the first working copy of the software. The alpha phase is also the level of functionality expect to be handed in to the Java Cup contest. The beta phase which are additional functionality expected to added if time permits. The gamma phase is the phase that is not expected to be complete in the time span designated for the Villanova University Independent Study, but would make the package that much more user friendly.

1. Tool Kit

The tool kit will be a collection of buttons that will contain various functionality in order to allow a user to draw numerous kinds of objects on the Easel Page. The tool kit should permit the following functions at a minimum: writing text, drawing line, drawing free hand, drawing rectangle, ovals, circles, changing the line thickness, choosing colors, erasing the Easel Page, filling objects on the Easel Page, flipping objects left & right as well as top & bottom, ability to rotate objects, selecting a pointer in order to select objects on the Easel Page, and select an existing color from the Easel Page.

The Text will have three attributes: style, font, alignment. Style will allow text to be bold, italic, underlined, and shadowed. The text will have the capability to change the font and the font size. The alignment of the text can be left, right, and centered. A line can have any of the following characteristics: straight line, arrow at the beginning or the end, double arrow ( an arrow at each end), curving line. The line can vary in thickness.

Tool Kit Attributes:
Fill (On / Off)Color
Line ThicknessScale Value
Text AttributesLine Attributes
Free DrawRectangle
OvalsCircles
PolygonsEraser
PenPaintbrush
Spray CanPointer [for selection] *
Flip (L-R)*Flip (T - B) *
Rotate *Multiple tool kits **
* Beta Level of Implementation
** Gamma Level of Implementation


Text Attributes:
Style:
BoldItalic
UnderlineShadow
Font:
Font SizeFont
Alignment:
LeftRightCenter

Line Attributes:
StraightArrow
Double ArrowCurved

2. Easel Page:

The Easel Page will have to manage various information about what is being placed on the page. What objects are there. Where are objects located. The Easel Page will be able to have objects as described on the Tool Kit as follows: lines, free line drawing, rectangles, circles, ovals, and text. The Easel Page will have other functionality too, such as copying, pasting, deleting, moving objects. In addition objects will be able to be scaled, rotated, re-sized, and filled in with a certain color.

Easel Page Attributes:
NewClear
Open *Save *
Select [One/ All] *
List of ObjectsReport the Number of Objects *
Print **Resize **
Scale **Snap to Grid **
Graphs (bar, pie) **Ruler - state size of Object Selected **
Zoom (In/ Out)**

* Beta Level of Implementation
** Gamma Level of Implementation


3. Page Manager

The Page Manager will enforce the permissions set at the beginning of the session or when the user changes the permissions for each conference room. It is the Page Managers responsibility to list the names of all the user in the conference room and which Easel Page the user is on. Other features that will be found on the Page Manager window are a page up and page down buttons and a area for allowing the user to go directly to any given page.

4. Communications

There will be two forms of communication: client-server and software. The first form of communication is the client-server communication. This will deal with how the client gets the information the user needs. It will also support the communication between clients in the same conference room.

The user will contact the machine that has the conference center set up on it. At this point the machine that received the request from a user to start or join a conference, it checks to see if the conference center program is running. If it is the request gets passed to the running program. If not the conference center software is invoked and starts, then the request is sent off to the software. The conference center software then invokes the doorman. The doorman welcomes the user and asks do you want to start a new conference or join an existing conference. If the user chooses to start a new conference the doorman looks for an available port and then creates a hub that listens on that port. If the user wants to join a conference the user then gets to pick which conference from a list. According to the chose made a request for entry to that conference is sent to that hub. At this point all conference will run off there own hub and client communications take over.

The software communication will be a software generated communication language. This language will be responsible for allowing the different components to talk to one another.

5. Additional Features:

Audio **Graphic **
Video **Prepared Slides **
Note Pad *Multiple Easel Pages**
Multiple Tool Kits**

* Beta Level of Implementation
** Gamma Level of Implementation


6. Baseline

	
a.	Setup/ Initialization of Applet (a.k.a The Doorman)
	(1)	General screen of all conference rooms available on the
		 given server
		(a)	Display of current conference rooms
		(b)	A new button --> to exit existing comference room 
			and go to 
			another one, or to create a totally new conference 
			room not on the list.
		(c)	What if all people leave a given conference room?
	(2)	Set permissions screen for any given conference room
		(a)	Appearance
			i)	Who can join
			ii)	Who can write/ modify
			iii)	Who can turn pages
			iv)	Who can chat
			v)	Who can change the permissions
		(b)	How implemented
			i)	First user initializes
			ii)	Gravel access - can be passed around
			iii)	Round robin approach - free for all,  
				all have access
b.	The Conference Room screen
	(1)	Page Manager Window
	(2)	Easel Page Window
	(3)	Tool Kit Window
	(4)	Chat Window
		(a)	Separate panels for each user
		(b)	Scroll effect similar to IRCs
		(c)	How to transmit
			i)	By Word
			ii)	By Letter
			iii)	By Sentence
	(5)	Private Clipboard Window

Villanova Univ. Seal Top of Paper | Previous Page | Next Page | Bottom of Paper

Written By Graham L. Mehl
Last Modified on April 23, 1996
© Villanova University
</