There has been much recent interest in using the World Wide Web to facilitate distributed, cooperative work. Unfortunately, most existing Internet tools do not provide adequate cooperative work support to make this possible. We describe our efforts in extending a simple Web browser to support a range of CSCW facilities, including telepointers, group awareness widgets, text chats, shared whiteboards, collaborative note, message and URL annotations, and collaborative text editors. We also discuss the preliminary results of usability tests of this browser which show how effectively these different CSCW extensions support cooperative work with the World Wide Web.
The Internet has recently received much attention as a global "information super highway" in both the popular press and academic literature. Most people with access to the Internet's World Wide Web (WWW) are familiar with the many search engines, such as Yahoo, Infoseek, and Lycos, which enable people to find diverse kinds of information. Various other Internet tools support distributed communication, such as Internet Relay Chat (IRC) [17]. Most commonly-available tools do not, however, facilitate the coordinated use of WWW pages by multiple, possibly distributed, people. This means CSCW tasks such as collaborative text and graphics editing, group awareness capabilities such as telepointers, and note annotations and messaging, are not directly and easily available for use with WWW pages and the wealth of information they contain.
Some recent efforts have aimed at providing enhanced WWW tools which support different degrees of distributed work support and coordination. Examples include BSCW [4], Netscape's CoolTalk [13], and Web4Groups [1]. Most of these tools only provide a limited range of CSCW facilities, and may not even provide direct access to standard WWW pages and tools, but utilise their own custom information storage and retrieval mechanisms.
We describe our recent work in developing an enhanced WWW browser, W4 (World Wide Web for Workgroups), which supports a wide range of cooperative work facilities. W4 is an extension of a very simple browser from the University of Calgary built using the GroupKit toolkit [19]. Unlike most other collaborative work tools utilising Web pages, W4 allows users to add a variety of annotations to Web pages, which include simple URL links, notes annotations, text chats, brainstorming sessions, and a shared whiteboard. The HTML source of Web pages is not modified in any way - the annotations are stored by a GroupKit W4 conference. All cooperating users join this W4 conference, enabling all annotations to be made persistent and allowing users to join and leave conferences, preserving annotations and their contents. In addition to Web page annotation capabilities, W4 supports various group awareness and work coordination facilities, including telepointers, multiple scrollbars, shared page histories and bookmarks, and the ability to "follow" other users' page visitations.
Section 2 describes related research into providing collaborative WWW tools. Section 3 overviews the capabilities of W4, illustrated using a simple, cooperative work task. Section 4 discussed the basic support for collaborative work and group awareness of W4, and Section 5 describes its more sophisticated WWW page annotation support. Section 6 describes the collaborative document editing facilities of the environment, and Section 7 the architecture and implementation of W4. Section 8 briefly discusses the results of usability tests of W4, and Section 9 summarises the contributions of this research and our future research directions.
A plethora of WWW browsers are available for users to browse the WWW, some of which exist across multiple hardware and software platforms. There are two main types of WWW browsers available, text-based (e.g. Lynx [5], Emacs-w3 [16]) and graphical browsers (e.g. NCSA Mosaic [12], Netscape Navigator [14], HotJava [20]). Millions of people use the WWW each today, but until recently there has been little (if any) support for these users to effectively work together via WWW pages.
CSCW techniques aim to support communication between groups and/or individuals, possibly geographically distributed, using a computer-based medium. The usefulness of various CSCW techniques is often dependent on both spatial and temporal aspects [8]. Synchronous communication involves real-time communication with other users [11], and CSCW techniques such as real-time audio/video links, telepointers, and text chats may aid communication [11]. Asynchronous communication occurs when users are working independent of other users, they may be working on the same system but using it at different times [11]. In this case, annotations and directed messages attached to work artefacts may help to aid communication [2]. Support should be provided by a CSCW system to aid both forms of communication, however a large number of the CSCW systems accessible via the WWW currently only provide support for asynchronous-style communication.
Some editing systems have been extended to provide support for the WWW (e.g. OpenDoc systems via CyberDog [3] and Emacs [16]), but very few of these provide support for users to work together. Netscape Navigator 3.0's "CoolTalk" enables users to interact in real-time via the WWW with an audio or textual-based chat tool, and a shared whiteboard [13]. An "Answering machine" also enables users to record messages to them in their absence, thereby supporting asynchronous communication. "CoolTalk" however does not allow messages to be attached to a work artefact and essentially works in isolation of the WWW browser. Shared NCSA Mosaic [7] provides WYSIWIS browsing and some distributed conferencing capabilities. Shared Mosaic provides only limited kinds of collaborative browsing, however, and doesn't support editing of documents. Web4Groups [1] proposes several Web-based CSCW facilities similar to those of W4, but has not yet been implemented.
The BSCW Shared Workspace System [4] provides an asynchronous environment for collaborative work through the use of shared public and private workspaces. Users have to refresh the screen manually to see if anything has modified within the workspace since it was last refreshed, which does reduce transmission bandwidth but at the cost of not providing up-to-date information. A shared workspace should be updated in all users views as changes occur [19]. Mushroom [9] uses a rooms concept to enable shared work across the Internet, with rooms accessed via links on WWW pages. It is unclear, however, how well Mushroom enables the use of rooms and WWW pages together. Embedding of rooms within pages is not supported.
Group discussion (e.g. Lotus Notes [10], LoganWeb [18], and Hushtalk [21]) and Conferencing (e.g. The Sociable Web [6] and IRC [17]) systems generally work in isolation of work artefacts, thereby not enabling discussions to be associated with the work artefacts they are discussing. If users want to obtain information about why a certain decision was made they cannot obtain it directly from the artefact being discussed, and are therefore required to use a separate system.
Tools are also available to support users "following" each other around the WWW (e.g. Mosaic 2.0 [12]), although tools available for communication throughout the journey are minimal or non-existent. In contrast, our W4 browser provides a wide range of CSCW facilities, both synchronous and asychronous, and both independent of WWW pages and linked to or embeded in WWW pages.
Figure 1 shows a screen dump from W4 in use (from user "Simon"'s perspective) for a cooperative (possibly geographically distributed) task. In this example two (or possibly more) users are collaborating to determine an EFTS (Effective Full-Time Student) rating proposal for a Part I University course, "0657.123 The Computing Experience".
Figure 1. Example of annotated Web page, with collaborative note, text editor, page history and book marks.
Figure 2. Example of awareness dialogue showing multiple users of W4, their assigned colour and their current URL.
In order to do this task effectively, the participants need to be able to view the same WWW information as each other, be able to annotate pages of interest with notes or URL links to related pages, be able to collaboratively edit text and diagrams either embedded in the page or separate to it, and be able to send email-like messages to each other or communicate in real time. In addition, they need ways to remain aware of each others work, including pages visited, bookmarked pages of interest, and seeing the focus of attention of their collaborators.
W4 provides a range of facilities to allow collaborators to work together in these ways. As shown in Figure 1, window (1) is the collaborative browser window provided by W4, showing a WWW page from the University of Waikato's Computer Science Department WWW server. This browser is being viewed from user Simon's perspective. The collaborators in this W4 conference also have a text document, in window (2), which they are writing together and which contains the EFTS proposal for the 123 course. This is a collaborative text editor which provides WYSIWIS text editing capabilities. Window (3) shows the session history for one of Simon's collaborators, user John, i.e. the WWW pages John has visited while in this conference, and window (4) shows shared bookmarks accessible to all members of the conference. These windows are updated each time John moves to a new page or one conference participant adds a new shared bookmark.
Window (5) is a collaborative text chat in which Simon and John have been informally exchanging ideas and discussing the work they are doing. The WWW page has been annotated with a yellow square (a "sticky note" representation), at the position indicated by (6), which when clicked on will display the text associated with this note. Users can also reply to the note, creating further notes, or send context-dependent email-like messages to each other using this notes facility (described further in [2]). All messages sent in this manner are retained as notes associated with the WWW page. The contents of the text chat (5) can also be saved as a note annotation to a WWW page (by clicking on the "-->Note" buton). A URL link annotation (7) has also been added to the WWW page being viewed, which when clicked on by a collaborator will open the "Summer School" WWW page. Note and URL annotations appear in other users browsers when they select the appropriate WWW page, or if already selected will appear when they have been added by a collaborator. Other annotations supported by W4 include shared text editors, whiteboards and text chats.
Additional group awareness capabilities provided by the browser include telepointers (8), showing the position of collaborators' cursors. Multiple scrollbars (9) indicate the position of other users on the same WWW page. Telepointers and multiple scrollbars are only shown for collaborators who are viewing the same Web page as the user. Users can also click on the scrollbar of another user and request to follow their page browsing. The following sections describe these W4 capabilities in more detail. A dialogue showing each participant in the collaborative browsing, their assigned colour and their current URL is also available, an example of which is shown in Figure 2.
One of our main aims with W4 was to provide WWW users with capabilities to cooperatively browse WWW pages, and to be able to annotate these pages with a range of collaborative work widgets. Figure 1 illustrates most of the awareness support widgets W4 provides - telepointers, multiple scrollbars, and shared history lists.
Figure 3 illustrates how Simon can request to "follow" John's page browsing. By clicking on the scrollbar representing a collaborator's focus of attention in a page, Simon can see which user is represented by the scrollbar, and can elect to have his browser mimic John's page browsing. Following occurs both within a page, and across Web pages, and multiple users can do this to the same user. As shown in Figure 1, similar capabilities are provided by the provision of shared page histories and a shared bookmark facility. Users may select pages shown in these dialogs which have been visited by their collaborators, and can visit these directly, without needing to exchange URLs via messages or chat sessions.
Figure 3. Following a collaborator.
Figure 4. Annotation applets supported by W4.
Users can add URL links to a Web page to enable themselves or collaborators to on-the-fly construct useful hypertext links between documents. An example of adding such an annotation to a WWW page is shown in Figure 4. The user control-clicks on a point in a page and is then presented with a list of possible annotation options. The appropriate annotation is then inserted into the WWW page at the selected point. This does not update the HTML source for the page - the annotations are all stored in a GroupKit conference database (described in Section 7). This means any WWW page can be annotated in this manner. Figure 1 shows the result of adding a URL link to a WWW page (7). When this URL button is clicked on, the browser will display the appropriate page.
In addition to basic group awareness widgets and shared URL link annotations, W4 supports more sophisticated communication facilities for annotating WWW pages. These include collaborative notes and messages, text chats and brainstorming tools. These annotations may be made to any WWW page, but may also be added to text editors, whiteboards and other notes. Figure 5 shows an example of adding a note to a WWW page. Here Simon adds the note to the displayed page by control-clicking in the desired location, as for URL annotations, resulting in a yellow square indicating the presence of the note. He then types in the note text and "sticks" it to the selected page location (character offset). Simon could also choose to direct this note to one or more other users, or may decide to only send the "note" as a message, and not have it associated with the page. In the former case, the note is retained with the page, and other users are informed of the "message" arrival (in a message list dialog). In the later case, the message is sent to collaborators and not retained as an annotation of the page, similar to an email message except the context of the message (i.e. the page it was "sent" from) is stored in the message. When notes (or other annotations) are first added, collaborating users are made aware of this by highlighting the annotation, and if the note/message is a high priority, by also beeping and/or opening a dialog to alert the appropriate collaborators. More details on this collaborative notes/messaging facility can be obtained from [2].
Figure 5. The W4 context-dependent notes/messages facility.
Figure 6. An example of a text chat embedded in a WWW page.
Users can also annotate WWW pages with text chats, brainstorming sessions and shared whiteboard and text editors. Figure 6 shows an example of a text chat embedded into a WWW page. This allows users to discuss the page, with the text chat only shown when a user selects this page for display, as opposed to having the chat always visible in a window of its own. Users can, if desired, create page-dependent or page-independent chats, brainstorming sessions, and whiteboard and text editors with their own windows (as shown in Figure 1). When users have finished with a text chat or brainstorming session, the contents of these communication sessions can be saved away to a note for future reference, or can be discarded along with the page annotation.
Text chats, collaborative notes and messages, and brainstorming sessions are primarily communication aids, rather than tools for doing actual cooperative document creation. While all can have their contents saved to persistent, shared notes, these notes are not simultaneously edited as with traditional CSCW shared text editors and whiteboards.
Figure 7 shows an example of a whiteboard annotation in a WWW page. This is a WYSIWIS editor where other users viewing this page will see updates made by collaborators to this whiteboard as they occur. The two squares following the "Stream" and "Course" captions are collaborative notes which have been added to the whiteboard, while the button "BCMS" beside the BCMS label is a URL link to a related WWW page, illustrating how various W4 facilities are complementary. Collaborative text editors and whiteboards may themselves have note and URL annotations added, in the same way these are added to WWW pages within the main browser window. Telepointers can also be used within these embedded tools to assist with group awareness.
Providing CSCW-enabled whiteboards and text editors allows users of W4 to not only collaboratively browse and discuss WWW pages, but to use information from these pages to build up documents collaboratively. This illustrates two fundamental uses of W4: collaborative information retrieval and discussion, and collaborative document production with access to these collaborative browsing capabilities. These application domains are discussed further in Section 8 on our user evaluations of W4.
Figure 7. A collaborative whiteboard embedded in a Web page as an annotation.
Brainstorming sessions, whiteboards, text chats and text editors are all given a unique identifier (ID) assigned by the GroupKit conference. This allows these annotations to be shared across multiple WWW pages, if desired, by adding an annotation to a page by using an existing ID number. Similarly, it is possible to embed annotations directly in the HTML source code for pages. For example, adding the text "<whiteboard id=1 height=200 width=300 launch=0>" to a page's HTML source will specify a whiteboard for the page with an ID of 1, to be shown in the position this code is added in the HTML source. If an existing whiteboard on another page already has this ID, then the whiteboards will be "linked" together (i.e. if modifications are made to one of the whiteboards, the other will be updated in the same way). If the launch flag is set to 1, then the whiteboard will be opened in its own window, rather than embedded in the WWW browser window as in Figure 7. This ability to refer to annotations by their ID and to embed annotations into HTML source allows users to both share whiteboards across multiple pages and to hard-code the presence of whiteboards into pages.
Our W4 browser and its associated CSCW support features are built using the GroupKit framework from the University of Calgary [19]. GroupKit provides a level on top of Tcl/Tk [15] allowing environments built using standard Tcl/Tk capabilities to become "CSCW" environments utilising shared workspaces, telepointers, group awareness widgets and so on. Figure 8 shows an example of the W4 architecture. Users 1 and 2 have registration clients running which utilise a central registrar to moderate access to group conferences. They may then join existing conferences via the registrar or ask for new conferences to be started. When participating in a group conference, all Tcl/Tk events are broadcast to other participants' environments and executed there, enabling CSCW activities to take place. In addition, GroupKit provides additional support for a variety of group awareness widgets, "environments" (i.e. shared workspaces), and some basic example collaborative work tools (text and drawing editors, simple message broadcasting, etc.).
We extended a very basic WWW browser built using GroupKit to add text chat, whiteboard, collaborative notes and messages, telepointers and multiple scrollbars by using GroupKit abstractions, including shared environments to store notes information (which also allows this shared data to be made persistent along with other GroupKit environment data). This is illustrated in figure 7. When one User modifies a whiteboard, adds a text chat comment, or adds a note or URL link, Tcl/Tk events are broadcast to the W4 environments of other users participating in the conference, where this data is constructed and the relevant conference artefact windows updated.
Figure 8. The W4 architecture.
We have conducted several usability tests with W4 to determine the relative effectiveness of different CSCW aspects provided by the tool, and to compare its effectiveness for supporting cooperative work to conventional WWW browsers and other attempts at building CSCW-enabled browsers. There are two basic classes of tests we have been carrying out: using W4 to support collaborative document production with information from the WWW, and using W4 to discuss and refine WWW pages. The first class of test is oriented towards using W4 as a tool for cooperative WWW browsing and discussion, whereas the second focuses on making WWW pages themselves the centre of the cooperative work.
We have conducted, and are still are conducting, various experiments which focus on the use of W4 to cooperatively: plan project work; determine travel arrangements; write reports; discuss and refine our School's WWW pages; discuss and annotate WWW pages from other local and remote organisations; and to plan further experiments using W4 itself. Further details on these experiments can be obtained from:
http://www.cs.waikato.ac.nz/~gianouts/W4_projects.html
Different groups of users, and different numbers of users, have been used for each experiment. These include lecturing staff, graduate students, and friends of the researchers. Some of these people have wide experience with CSCW and/or WWW, some have little of either. Some of the variables used during experimentation include: having all participants join and leave the conference at the same time versus having people intermittently join and leave; having people use only W4-provided facilities verses using W4 and other available tools; and having people try and perform these tasks with W4, with other browsers and with other Internet-based CSCW capabilities (email, IRC, and other researchers' CSCW-extended browsers).
So far our usability experiments with W4 to date have indicated that with 2-3 collaborators working on a small project, a text chat, shared text editors and shared whiteboards external to WWW pages (i.e. not embedded) are seen by users as the most useful CSCW tools of W4. With larger groups (4-6) and larger numbers of WWW pages visited, the embedded capabilities seem to become more useful. Notes and URL annotations are seen by users to be most useful when discussing revisions to WWW pages rather than building new documents with a shared text editor or whiteboard. Problems experienced by users include periods of slow response time by W4, and the lack of "adequate" editing facilities in our (as yet) simple shared text editors and whiteboards. The consensus of users to date has been that W4 provides several moderate-to-very useful CSCW capabilities which enable groups of people to more effectively collaborate while using the WWW than existing browsers.
We have developed W4, an extended browser for the WWW which provides a variety of CSCW extensions. These extensions include both synchronous and asychronous communication mechanisms (telepointers, multiple scrollbars, text chats, collaborative notes and messages), and collaborative WYSIWIS editors (whiteboards and text editors). Existing WWW pages can be annotated with URL links, notes, text chats, brainstorming sessions and whiteboards. These annotations, and the shared documents for whiteboards and text editors, are stored by a GroupKit conference and thus are independent of the HTML source of the documents, with users able to join and leave a W4 conference at will.
Our usability tests with W4 have indicated the tool is useful for supporting various kinds of collaboration using the WWW. We are still extending W4 to provide additional capabilities, such as rooms for sharing (editable) documents, improved group awareness facilities, audio/video communication, more formalised group browsing capabilities, and the ability to add any GroupKit program as a widget on a WWW page (for example, the Notes shared ER diagrammer [2]). We are investigating the reimplementation of W4 using CGI, applet and plug-in extensions to existing WWW servers and browsers, rather than relying on our custom GroupKit implementation. We hope this will both make our tool more accessible to a wider range of potential users, and also overcome some current performance limitations.
1. Alton-Scheidl, R. Web4Groups: A European initiative for setting up non-simultaneous group communication services for the WWW. In Proceedings of the ERCIM Workshop on CSCW and the Web, Sankt Augustin, Germany, February 7-9, 1996.
2. Apperley, M.D., Gianoutsos, S., Grundy, J.C., Paynter, G., Reeves, S., and Venable, J.R., "A generic, light-weight collaborative notes and messaging facility for groupware applications," Working Paper, Department of Computer Science, University of Waikato, 1996.
3. Apple Computer Inc., Cyberdog Version 1.0, Apple Computer Inc., 1996. (http://cyberdog.apple.com/)
4. Bentley, R., Horstmann, T., Sikkel, K., , and Trevor, J. Supporting collaborative information sharing with the World-Wide Web: The BSCW Shared Workspace system. In Proceedings of the 4th International WWW Conference, Boston, MA, December 1995.
5. Blythe, G., Montulli, L., Grobe, M., and Ware, S., Lynx Users Guide Version 2.3, Academic Computing Services, University of Kansas, 1996.
(http://www.cc.ukans.edu/lynx_help/Lynx_users_guide.html)
6. Donath, J. and Robertson, N. The Sociable Web. In Proceedings of the Second International WWW Conference, Chicago, IL, October 1994.
7. EIT, Shared NCSA Mosaic, Enterprise Integration Technologies Inc., 1996.
(http://www.eit.com/software/share_mosaic/)
8. Johansen, R. Groupware: Computer Support for Business Teams, The Free Press, New York (1988).
9. Kindberg, T. Mushroom: A framework for collaboration and interaction across the Internet. In Proceedings of the ERCIM workshop on CSCW and the Web, Sankt Augustin, Germany, February 7-9, 1996.
10. Lotus Corporation, System Administration Manual, Lotus Notes release 3, 1993.
11. Lubich, H.P. A European 'Collaboratory' for Supporting Scientific Cooperation, Towards a CSCW Framework for Scientific Cooperation in Europe, Chapter 5, Springer-Verlag (1995).
12. NCSA, NCSA Mosaic for the Macintosh Home Page, NCSA, University of Illinois, Urbana-Champaign, 1996. (http://www.ncsa.uiuc.edu/SDG/Software/MacMosaic/MacMosaicHome.html)
13. Netscape Communications Corporation, Netscape Navigator 3.0 Beta, Netscape Communications Corporation, 1996.
(http://home.netscape.com/comprod/products/navigator/version_3.0/index.html)
14. Netscape Communications Corporation, Netscape Navigator 2.0 Datasheet, Netscape Communications Corporation, 1996. (http://home.netscape.com/)
15. Ousterhout, J.K. Tcl and the Tk toolkit, Addison-Wesley (1994).
16. Perry, W.M., Emacs-w3 User's Manual, Second Edition, Version 2.2.0, June, 1995.
(http://www.cs.indiana.edu/elisp/w3/docs/w3_toc.html)
17. Pioch, N., A short primer on IRC, Ecole Polytechnique, Paris, Edition 1.1b, February, 1993.
(http://www.kei.com/irc/IRCprimer1.1.txt)
18. Raikundalia, G.K. and Rees, M.J. Loganweb: A Web User Interface for Electronic Meeting Documents. In Proceedings of OZCHI'95, University of Wollongong, Australia, 1995, pp. 157-162.
19. Roseman, M. and Greenberg, S. Building Real Time Groupware with GroupKit, A Groupware Toolkit . ACM Transactions on Computer-Human Interaction (March 1996).
20. Sun Microsystems Inc., HotJava User's Guide Version 1.0, Sun Microsystems Inc., 1996.
(http://java.sun.com/java.sun.com/HotJava/UsersGuide/users.html)
21. Welie, M.V. and Eliëns, A. Chatting on the Web. In Proceedings of the ERCIM workshop on CSCW and the Web, Sankt Augustin, Germany, February 7-9 1996.