Video Conferencing Application for JavaGroups


What has been done:
Control layer:
- Internal membership management protocol within one group
- Enable all members to have consistent information about everyone else in
the group other than just endpoint address. Guarantees uniqueness of
username.
- The framework of control layer can be easily extended to include user
information such as user icon, user contact information, user quotes, and
welcome message.
- Uniqueness property can be extended to include other information such as
each user is guaranteed to have unique icon.
Data layer:
- Data framework for delivering media (video and audio)
- Only the playback side of the framework has been implemented
- Utilize Java Media Framework 1.1 player for playback
- Format supported for video is *.mpg
- Format supported for audio is *.au
- Enable a member to broadcast a *.mpg or *.au file to the whole group.

What still needs to be done:
Graphical User Interface:
- Need a GUI front end that ties everything together into one application.
- May include chatting and whiteboard features for completeness
Media Capture capability
- Need to implement the capture side of the data framework to make this a
complete video conferencing application. (Problem: Java Media Framework 2.0
that supports media capture is only scheduled to be out in April/May)
Membership management for inter-group coordination
(As an alternative to media capture feature, due to the uncertainty of when
Java Media Framework 2.0 will be made available)
- Enable user to see all groups available and choose a group from there.
- Enable user to create new group, leave group, join/rejoin group.
- Other features such as ability to send video/audio to only one member
instead of the whole group.

A tentative schedule tills the end of the semester:
Week 1 (April 5)  - Start implementing GUI for control layer
Week 2 (April 12) - Add data layer to GUI
Week 3 (April 19) - Add Chat to GUI
Week 4 (April 26) - Add Whiteboard to GUI
Week 5 (May 3)    - Implement Capture or inter-group coordination
Week 6 (May 10)   - Continue implementing Capture or inter-group
coordination
May 20            - Delivery