G2 (Nathan and Steve) Search module: We will develop a search component for the Virtual Classroom that will allow a file to be searched for certain keywords. The search component will interact with the standard interface, not directly with the Virtual Classroom. The component will receive a transcript of a chat session stored as a text file. It will also receive a dictionary of user defined keywords also stored as a text file. The search component will then search through the transcript searching for matches to the keywords stored in the dictionary. Upon a successful match, the component will store the matched keyword, the user name who's text block the match occured in, as well as the index of the location in the file where the user name appears (for purposes of getting the entire user quote later on). In addition the component will increment the counter for that particular keyword for purposes of monitoring occurances. The component will store the results from the search in a text file so that other modules will be able to utilize the results.
G3 (Konstantin) Whiteboard for VC: DigitalBoard is a Virtual Classroom enhancement that will allow all users to create digital drawings using a mouse or any other input device such as a Wacom tablet. This enhancement will allow for more intuitive communication and collaboration among Virtual Classroom users. Initially the user will be limited to creating various shapes, but the DigitalBoard capabilities will be enhanced as time permits. Once a DigitalBoard drawing is complete, the user will be able to send it to other users for display. Pending a feasibility check, other users may be capable of viewing a user's DigitalBoard in realtime as it is being altered.
G4 (Ian and Mathew) User profile for VC: We will develop a user profile for users of the virtual classroom, which will be accessed through the virtual classroom interface. The user will be able to view his profile from within the virtual classroom, but modifications of his profile will be handled by an external program. The user will update the profile through forms which will be handled by JSP, and the profile data will be stored on the user's side as a text file. The profile will include the user's contact info, the user's strengths and weaknesses based on their grades, a small bio, and the user's grades. Access permissions can be modified for each section of the user's profile, allowing the user to limit the users who may view a certain section of their profile, or granting or denying all users access to that section of their profile. The user can also restrict the teacher's ability to access his information.
G5 (Andrew and Vang) Voice chat for VC: We will be using the program Skype as an extension and program for the voice chat. The end users must be registered with Skype in order for them to use that and by user agreement as soon as they click the tab they are bound by agreement under Skype. The interface will addon a tab for Skype useage and expand the program inside that tab. Basically, as soon as the program starts, Skype will already be started inside the tab, and to initialize the user needs to input login/pwd and to use Skype regularly. This would also mean that the user would already need to know the minor details as to owning a microphone, etc.
G6 (Krzysztof and Robert) User profile using chronobot web service: Our project is to expand the web services layer for Chronobot by using JSP and XML to communicate between web browsers and the system. It will be a flexible design that allows users to update profile fields that are already in the Chronobot database, but with an eye for future expansion of the database to allow for profiles with free-form text, html, and metadata. The web services will also allow users to view each other's public profiles. The goal is to be able to easily incorporate such web services into a full fledged Java GUI component. The future goal is to be able to reuse the web services to enable a more complex blog component that is tied to both Chronobot and Virtual Classroom.
G7 (Allen Stern) Private instant messages for VC: Private Virtual Classroom Chat will allow the user to launch a new window from VC which will serve as a private chat room. Each user can be in at most one private chat room at a time. A new client will show the list of existing chat rooms. A user that is currently not in any private chat room will be able to create a new room or request permission to join an existing room through this client. When the user asks permission to join an existing room, a request is sent to the owner/creator of that room who can approve or deny the request. The owner of any given chat room is the only one who can grant/deny entrance requests and send invitations for other users to join that particular room. The owner may also eject people from his chat room. The creator of a room is the initial owner of that room and must designate a new owner of the room before he leaves the room. The members of a room see that chat window which represents the room. Members will see everything that other members type, and will be able to push text for the other members to see.