Mosaic + XTV = CoReview


K. J. Maly, H. Abdel-Wahab, R. Mukkamala, A. Gupta, A. Prabhu
maly@cs.odu.edu
Computer Science Department
Old Dominion University
Norfolk, Virginia 23529
H. Syed, C. S. Vemuru
Innovative Aerodynamic Technologies
Poquoson, Virginia 23662

Abstract:
CoReview, an interactive document and data retrieval tool, has been developed to provide a seamless environment to assist evaluation by groups and individuals, distributed across the Internet, to interact on the progression of a project. It can also assist individuals to interactively put together a document in a collaborative manner. CoReview is based on the strengths of the World-wide Web server, Mosaic, and XTV, an X-window teleconferencing system. While Mosaic will be used to manage the project documents and reviewer annotation files involved in proposals and their evaluation, XTV will aid us in real-time remote collaboration among a group of users. CoReview incorporates the XTV features into a user friendly graphical interface and enables Mosaic to be shared by multiple networked participants. The system architecture embeds the concept of a chair and a set of participants for each document to be managed. The CoReview chair manages the shared resources. CoReview allows for easy creation of a pool of reviewers or proposal writers and automates the process of creating the necessary infrastructure---daemons and directories---at the needed sites.

Keywords:
Group collaboration, CoReview, Document creation and review, Mosaic, XTV.

Acknowledgements:
This work is supported in part by grants from IAT (550442), CIT (550441), and STTR (FED-95-004).

Introduction

Advances in distributed computing, computer networking, multimedia and graphical user interfaces have contributed to the recent emergence of truly collaborative systems that cross the barriers of distance, time, and heterogeneity of computer systems. In today's age of powerful computer systems and the emergence of information highway, the World-Wide Web (WWW) has become the primary vehicle for information storage and retrieval across networks. In spite of this power, the crucial obstacle to widespread use of collaborative tools for the purpose of evaluating proposals is the lack of a user-friendly networked graphical user-interface.

Advances in distributed computing, computer networking, multimedia and graphical user interfaces have contributed to the recent emergence of truly collaborative systems that cross the barriers of distance, time, and heterogeneity of computer systems. In today's age of powerful computer systems and the emergence of information highway, the World-Wide Web (WWW) has become the primary vehicle for information storage and retrieval across networks. In spite of this power, the crucial obstacle to widespread use of collaborative tools for the purpose of evaluating proposals is the lack of a user-friendly networked graphical user-interface.

Formulation and Background of the Problem

The ability for a group of geographically distributed users to work together as a team without the need to travel for face-to-face meetings is essential to increase productivity in today's cost cutting environment, both in industry and government. The tool, CoReview, we shall describe in this paper, addresses a very specific need: to evaluate proposals using communication networks as a vehicle. The tool can be used by either a government or a private business agency to review proposals in a timely manner and by proposer teams to write effective proposals.

Even though several tele-conferencing and collaboration tools currently exist in the market, their user-interfaces are not geared to the specific purpose of proposal writing and evaluation. For example, tools like Mosaic that are accessible through WWW do not currently support concurrent, synchronous viewing of documents. At the WWW'94 conference we presented [Maly94b] a distributed approach for managing documents which are created asynchronously and at different locations. Mosaic has been used to support collaboration [Maly94a, Rees93, Woo94]; most of these efforts are aimed at using features such as the form mechanism to establish groups and ``annotate'' to create new viewable documents. For example, Yarn Web, a service to facilitate communication among several users on WWW simultaneously, offers limited service: the participants can only look at the document that the chair provides [Woo94] and the tools are limited. Our effort is more directed at a specific goal---provide a tool to facilitate group creation and review of proposals. In this paper we shall describe an integrated environment for solving the problem to:

Old Dominion University in cooperation with the University of North Carolina at Chapel Hill has developed a research prototype software---X Teleconferencing and Viewing (XTV) [Cutler93, Chung94, Guan91, Abdel88, Abdel90, Abdel91a, Abdel91b, Abdel94]. Since a group of reviewers are likely to be geographically distributed, we use the Web as a mechanism to have easy access to all related documents. The choice of Web is purely based on its wide use in both industry and academia. The environment to solve the collaborative review problem will be based on XTV and Mosaic. While Mosaic will be used to manage the documents and annotation files involved in the proposal and the evaluation, XTV will aid us in real-time remote collaboration among a group of users connected with a high-speed network and equipped with workstations running MIT X windows.

This paper is organized as follows. In Section 2, we describe the functions offered by CoReview. Section 3 includes a discussion of the system architecture required to support CoReview and the underlying protocols for creation and review of proposals. Finally, section 4 summarizes our contributions along with our plans for future work.

Functional Description of CoReview

In this section, we overview the conceptual design of CoReview and then describe the services offfered by the software.

CoReview: An Overview

CoReview is an interactive document exchange and review tool based on Unix and X11/Motif. CoReview can run in both asynchronous and synchronous modes of operation. The person who initiates the CoReview session is the chair and members joining the chair's session are the participants . Figure 1 shows the CoReview screen as it starts up. At this point let us assume that the necessary infrastructure---daemons and directories---have been set up at the participants' sites (for more details on set up, see Section 3). The following discussion applies mostly for the synchronous mode of operation---where the participants, coordinated by the chair, are participating in a review session. However, it should be clear that the described functionalities are equally applicable to asynchronous mode of operation---where the participants review the proposal independently either when they are alone or when they opt to enter annotations asynchronously even when a conference is in progress.





The chair, at the time of initiating the CoReview session among members of a review committee, selects the location of the project review folder. This folder may be resident on the chair's root directory (logical choice) or on a computer system accessible over the Internet. Once a project folder is selected, the chair then enters the review member information of the members who are accessible over the Internet. On doing this, a Mosaic html file is created dynamically that serves as the home page for the current project being reviewed. CoReview also transmits a resource file to the CoReview daemon. This information is used by participants who may join the CoReview session in progress.





Figure 2a - Invitation creation window





Figure 2b - Invitation window





Figure 2c - Invitation Acceptance window





Figure 2d - Invitation Refusal window



Participants can join the session by finding out the port address or be invited to join the session by the chair. The chair invites participants by selecting them from the active list of review members as shown in Figure 2a and sending a message for an invitation to review a project proposal. Participant, if on-line, see a dialog on their screen as shown in Figure 2b. They can either accept or reject the chair's invitation to join the current collaborative session. If a participant accepts the invitation, a dialog as shown in Figure 2c will be displayed. Subsequently, the CoReview daemon will start CoReview in the participant mode and display an interface similar to that of the chair's CoReview screen as shown in Figure 1. If the participant denies the invitation to participate in the CoReview session, a dialog as shown in Figure 2d will be displayed on the chair's console. If the refusing participant has specified an apology, it will be displayed in the appropriate location in the refusal dialog on the chair's screen.

Graphical User Interface

Below is a brief description of the functionality of the different menu options of CoReview's graphical user interface.

File Menu:
The File menu enables file based handling items. They are: Open, View, Review and Quit. Open selects a project folder that contains one or more postscript files for use in the CoReview session. Only the chair of the session can select a project folder. On selecting a project folder, CoReview will create a Mosaic html document with the necessary hyper links for opening the documents in the project folder. This dynamically created html document is called the CoReview Proposal Home Page and is shown in Figure 3a. In addition, there exists a CoReview Home Page, as shown in Figure 3b, which provides on-line information about CoReview, as how to obtain a local copy of the CoReview application, and as how to install the CoReview system.

The chair will have to open the project folder in order to view or review any files through Mosaic. View can be used to open any files in the folder using Mosaic. View will initiate a local resident copy of Mosaic and display CoReview's html proposal home page. This home page will have hyper links to the documents in the selected project folder from Open. Clicking on the hyper text on Mosaic will open the document using Ghostview. This document viewing is private to the user and cannot be shared with other participants.

In a collaborative session, CoReview will allow document sharing among several participants. This is done using Review. Review can be accessed by the chair only and will have the same functionality of View, but will display everything the chair does to the participants also. Initially, the chair will have control of the shared document viewing tool; however, at any time, any participant may request the tool token from the current tool holder. Here, the notion of ``What You See Is What I See'' (WYSIWIS) is presented to the collaborative session members. Any participant can quit the CoReview session at any time but if the chair quits, the entire CoReview session is aborted.





Figure 3 - CoReview Home Page







Figure 4 - CoReview Proposal Page



Edit Menu: The Edit menu will allow for standard usage of the Copy, Cut, Paste and Undo functions within the CoReview session. These functions become essential within the annotations editor that will be used to add participant comments for the proposal being evaluated.

Utilities Menu: The Utilities menu consists of a WhiteBoard, Chat and miscellaneous tools that can be added for use with CoReview. The whiteboard will be used in the collaborative session to pass on scratch notes to participants. Tokens can be passed on to participants for their input. If a participant wishes to use the whiteboard, he/she can request the session participants for the token. The participant who has the token can either pass it on or deny the token. Chat enables users to pass on messages to active participants of the CoReview session. Anonymous messages also can be passed on to users if one does not want to identify themselves. Figure 4 shows the interface for the chat session among users. Other tools can be introduced and shared among the participants.





Figure 5 - Chat Screen



Participants Menu: This menu will consist of functions related to participants in the collaborative session. Invite menu item is used by the CoReview session chair to send an invitation to a participant on the network. A list of active participants can be created and the user can be invited by selecting one. If the participant is willing to join the session, a reply to that effect is transmitted back. If the participant is not available, an apology to that effect is sent to the current CoReview participants.

5. Annotations Menu: Here Annotations can be added to a particular document being reviewed. CoReview opens an editor window and the participant can begin adding comments to the current document. If there exist comments to the current document, the file containing the participant's comments are opened for editing. These comments, if public, are made available to the other participants through the Mosaic home page for the current document.

Issues in Integrating Mosaic and XTV

The CoReview system consists of the CoReview utility and a set of daemons that are running at the sites of all reviewers. The CoReview daemons are used to setup a document for review by generating the appropriate directory structures and the links required by the review process. These daemons also facilitate the synchronous review of documents between the chair and a set of reviewers distributed across the Internet. The CoReview system provides the necessary tools to review the documents such as calls to Mosaic, an editor to generate annotations, the join mechanism, and a host of other features needed by the reviewers. The http server at the chair's site is critical since most of the documents related to the review/edit process are located here. The individual annotations to the documents as well as any other files created by a group member reside at the creator's site. Hence, a http server is run at each of the members' sites.

Here, we describe implementation protocols for three important scenarios during CoReview's operation:

Protocol for initial document setup by the chair

This is illustrated in Figure 6. The setup process is initiated by the chair through the CoReview system. The following steps are followed for the setup process.

Step 1: At the Chairman's Site: The chair selects the install option from the CoReview system which in turn brings up a setup screen. The chair then enters the names of the document to be reviewed, the names of the reviewers, and the names of the machines of the reviewers in the setup screen. This information is used by the CoReview daemon to generate a directory structure at the chair and all other reviewer sites. The CoReview daemon will create a new project directory under the existing CoReview directory at the chair's site. If a CoReview directory does not exist, it will be created by the daemon. In this directory, project directories will be created and the relevant documents for this project will be stored. An annotate file, a CoReview home page template, and a URL file will be created by the daemon. The URL file will contain the URL for the new proposal review home page template that was placed in the directory by the CoReview daemon. It should be noted here that the current version of the Mosaic neither supports public annotations nor Adobe PDL files. This forced our decision to maintain annotation files independently.

Step 2: At the Reviewers' Sites : The daemon running at the chair's site will then contact the CoReview daemons running at the reviewers' sites, and generates a similar directory structure for the reviewer sites with the exception that the reviewer sites will not have the document directory and the URL at the reviewer sites will be a copy of the URL at the chairs site for this project.

Step 3: Setup the Links : The setup process is for the CoReview system to insert the links for the documents and annotations into the template that was generated. This completes the setup process, and if the chair opens a document for review the CoReview system will set the WWW_HOME environment variable to the URL for home page of the proposal selected and initiates Mosaic.

Protocol for Synchronous Review Process

The review process can be done asynchronously (or independently) by a reviewer or synchronously (in what is popularly called WYSIWIS). Here, we will discuss the synchronous process (Figure 7). The synchronous review process is initiated and moderated by the chair, and several reviewers participate in it. Here are the steps.

Step 1: The chair uses the invite option of the CoReview system to invite other reviewers to join. During the join process the chair's CoReview daemon will contact the CoReview daemons at the reviewers' sites to display the invite messages on the reviewers' screens.

Step 2: Upon receiving the acknowledgments from the reviewers, on their willingness to join or not join the synchronous review, the join process will be complete.

Step 3: The chair can select the document to be reviewed and the Mosaic window with the selected document will appear on the screens of all the reviewers synchronously using the techniques developed in XTV. This process of synchronous display is done by the chair's CoReview daemon communicating with the remote CoReview daemons. The review process can now continue. During the review process, individual reviewers can continue to add and modify their annotations and make them available for review by others.

All communication during the setup and the review is done by the chair's CoReview daemon; it sends the display information to the remote CoReview daemons about the single Mosaic process that is running on the chair's machine. This single Mosaic process will have links to all the documents and annotations necessary for the review process.

Protocol for Asynchronous Review Process

This is where a single reviewer decides to review the document independently. The steps in the process are as follows (the message flow diagram is similar to the ones in Figures 6 and 7 and is omitted for brevity.)

Step 1: The reviewer will select a document to be reviewed from the CoReview document selection option. When the document is selected the CoReview system will set the reviewer's WWW_HOME variable to the selected document's URL and Mosaic will be initiated. The home page of the document will be served from the chair's site with the appropriate links created in the setup process.

Step 2: The reviewer can now preview the selected documents, and view any public annotations that are available at this time. Documents are stored at the chair's site, and annotations are stored at each individual reviewer's site. If the reviewer wishes to annotate the document, it could be done so through the annotate editor provided by CoReview system. The annotate editor will allow the reviewer to add, delete, or modify the annotations that are stored in the reviewer's directory for the document being reviewed. The annotations can be marked as public or private by the reviewer.

Step 3: At the end of the review, after having annotated the document, the reviewer closes the session. The annotations are placed in the form required by CoReview and Mosaic. All public annotations made by the reviewer are available to all other reviewers as soon as they are committed by the editor. Private annotations are for the private use of the reviewer only and can be made public by the reviewer who owns them.




Figure 6 - Message flow for setup by Chairman




Figure 7 - Message flow for Synchronous Review



Conclusions and Future Work

We have created an integrated environment which allows spatially separated evaluators to review proposals and for spatially separated writers to develop proposals or more generally to write joint papers. As we experiment with Coreview and its features, it has become apparent that this system can also be adapted to other applications such as software engineering project management. Source code and documentation of a software project developed or maintained by a team of engineers is a set of spatially separated files accessed by a group of geographically separated people in an asynchronous or synchronous mode. With this being the underlying theme of Coreview, we intend to explore the possibilities of such adaptations. Our system uses Mosaic to manage distributed files and to make them easily available; it uses XTV, a computer aided collaboration tool to allow for joint viewing, editing and in general, joint operation of any X-tool. The only assumption for our system, Coreview, is that the ``chair'' knows the names of the participants and their machine names and that the participating sites are running a http server. Coreview itself is available through Mosaic and participants can obtain the installation files through Mosaic. Once CoReview is installed the participants only have to indicate assent to a particular project to have the local daemon set up the files needed by Mosaic and Coreview for that project.

Asynchronous work on the project is mostly supported through adaptation of Mosaic whereas synchronous work is mainly supported by XTV. The two ideas are merged by a user interface which has been designed specifically for this application and geared to hide as much as possible of the interfaces of the underlying tools. Thus participants have only to familiarize themselves with one interface.

Currently the system is working as a prototype with the features to support collaborative writing designed but not yet available. Synchronous and asynchronous reviewing and editing is implemented and the collaboration tool is integrated into Coreview but does not yet support video and audio and needs to be optimized for speed. To that end we are investigating the use of RMP [Maly94c,Whetten94]. The system is implemented on Sun workstations using Motif and for the long term a version for Windows is being designed. In the short term we are concentrating on testing the functionality and the user interface to obtain the right mixture.

References

[Abdel88]
Abdel-Wahab, H. M., Guan, S., and Nievergelt, J., ``Shared Workspaces for Group Collaboration: An Experiment using Internet and UNIX Interprocess Communications,'' IEEE Communications Magazine , Vol. 26, No. 11, November 1988.

[Abdel90]
Abdel-Wahab, H. M., ``Multiuser Tools Architecture for Group Collaboration in Computer Networks,'' J. of Computer Communications , Vol. 13, No. 3, April 1990.

[Abdel91a]
Abdel-Wahab, H. M., and Feit, M., ``XTV: A Framework for Sharing X Window Clients in Remote Synchronous Collaboration, Proceedings,'' IEEE TriComm ‘91: Communicatins for Distributed Applications & Systems, Chapel Hill, N.C., April 1991.

[Abdel91b]
Abdel-Wahab, H. M., Eltoweissy, M., ZeinElDine, O., and Zhong, Y., ``CoDraw: A Multiuser Tool for collaborative drawing in UNIX/X Window Environments,'' Proceedings of the 21st Annual Virginia Computer Users Conference, Blacksburg, VA, October 1991.

[Abdel94]
Abdel-Wahab, H. M., and Jeffay, K., ``Issues, Problems and Solutions in Sharing X Clients on Multiple Displays,'' To appear in J. of Internetworking Research & Experience , 1994.

[Cutler93]
Cutler, E., Gilly, D., and O'’Reilly, T., ``The X Window System in a Nutshell,'' O'’Reilly & Associates, Inc., 1993.

[Chung94]
Chung, G., Jeffay, K., and Abdel-Wahab, H. M., ``Dynamic Participation in Computer-based Conferencing System,'' J. of Computer Communications , Vol. 17, No. 1, January 1994.

[Guan91]
Guan, S., Abdel-Wahab, H. M., and Calingaert, P., ``Jointly-Owned Objects for Collaboration: Operating System Support and Protection Model,'' Journal of Systems and Software , Vol. 16, No. 2, October 1991.

[Maly94a]
Maly, K. and Overstreet, C.M., ``A New Paradigm for Distance Learning: Interactive Remote Instruction'', Proc. 13th World Computer Congress IFIP Congress '94, Hamburg, Germany, pp. 682-689, September 1994.

[Maly94b]
Maly, K., French, J., Selman, A., and Fox, E., ``The Wide Area Technical Report Service,'' Second International WWW Conference '94 , Chicago, Illinois, pp. 523-534, October 1994

[Maly94c]
Maly, K., Abdel-wahab, H., Overstreet, C.M., Gupta, A., Kumar, M., and Srivastava, R., ``Issues in scaling Multimedia Collaboration tools for Remote Instruction,'' Submitted to Symp. on Computers and Communications, Alexandria, Egypt, 1995.

[Rees93]
Rees, M., Iannella, R., Lee, A., Smith G., and Woo, T., ``Spinning a Yarn: User Interface for Synchronous Remote Electronic Meetings,'' Proc. OZCHI'93 , pp. 42-58, 1993.

[Woo94]
Woo, T. and Rees, M., ``A Synchronous Collaboration Tool for the World-wide Web,'' Proc. Second International WWW Conference '94 , Chicago, Illinois, pp. 315-323, October 1994.

[Whetten94]
Whetten, B. and Montgomery, T., ``A High Performance Ordered Multicast Protocol,'' URL http://hopper.cs.wvu.edu/mtodd/RMP.html.