A MOO-Based Collaborative Hypermedia System for WWW

Tom Meyer (twm@cs.brown.edu), David Blair (artist1@echonyc.com), and Suzanne Hader(smh@cs.brown.edu)


This paper describes the development of a networked collaborative hypermedia system intended to support groups of writers and scholars in writing and publishing hypertext fiction and criticism. The current system supports the importation of individually-developed Storyspace hypertext documents into a MUD-based collaborative workspace for integration and expansion, and allows for the immediate publication of these dynamically-generated multimedia documents onto the World-Wide Web. In addition, we provide a forms-based writing and linking interface to the text, so that writers can write using either the MUD-based or the forms-based authoring tools.

Since the HTML is generated dynamically from our underlying database, we have added the capabilities to:

  • allow for user negotiation of content and bandwidth (e.g., only small versions of the pictures, with the audio and text in German, with movies)
  • provide the bandwidth-intensive media from distributed mirror sites.
  • This system is being used by dozens of students, writers, and theorists around the world to support such projects as: hypertext writing and theory classes at Brown and Vassar, a hypermedia version of David Blair's feature-length film, WAX or the discovery of Television among the Bees, a collaborative women's hypertext fiction writing group, and the creation of an electronic journal to discuess the impact of technology on writing practice.


    The World-Wide Web (WWW) has very quickly become one of the fundamental structures of the Internet. Although it provides a great deal of support for publishing information and navigating through it, it does not provide as much support for Computer-Supported Collaborative Work (CSCW), where users can collectively write, annotate, and explore hypermedia documents.

    We have developed a prototype system to support a collaborative hypermedia writing space where users may write documents, annotate others' documents, engage in critical discussion, and have on-line classes or seminars. Though it was originally developed to support an undergraduate creative-writing class, it is now being used for film-based works, collaborative writing groups, and as a reviewing system for refereed journals.

    Hypermedia Models

    The Dexter Hypertext Reference Model describes a common set of abstractions found in hypertext systems [HALA90], both in order to compare these systems and to develop interchange standards for these systems. Since this paper describes the interactions between three complementary hypertext systems, we will use the Dexter model to highlight differences in the approaches taken by the various systems and the techniques we use to convert between them. We draw upon the work described in [LEGG94], which discusses how the Dexter model tends to break down when applied to the problems of "hypermedia in the large."

    However, since the Dexter model does not provide for the content-aware presentation of multimedia information, we also draw from the Amsterdam Hypertext Model (AHM), described in [HARD94]. This model represents multiple types of media information through the use of different channels, and also is able to specify synchronization relationships among the various parts. Although our primary multimedia (typically Mosaic) is not able to support synchronized multimedia information, and even though WWW does not even allow for the specification of temporal relationships, we have tried to describe this information in terms of an ideal hypermedia implementation, not based on the limitations of any single environment.

    The model used in our system consists of a central database which contains the text of each node, plus additional information specifying the type, project info, and language of other multimedia information. This high-bandwidth multimedia information is typically stored at a number of distributed servers on a per-project basis. Therefore, the centralized database contains low-bandwidth information (text and content coding) which is unlikely to change, while the distributed multimedia servers contain high-bandwidth data (audio and video information) which will be modified much less frequently. At run-time, the central database server creates a specification of the text (based on current language and media preferences), with pointers to the multimedia information on the closest distributed server for that project. Our model is a superset of the Dexter model, but does not provide for the synchronization and timing relationships expressed by the AHM.


    The Storyspace hypertext system was developed by writers who sought to build a tool which would encourage the process of writing[BOLT87], and which would provide techniques useful in the creation of hypertext fiction. Some of these features of Storyspace are:
  • Guard fields, which provide for Boolean preconditions for following links. Many of the authors using Storyspace have used guard fields extensively in their writing, to provide for alternative narrative possibilities based on what sections have previously been explored.
  • Several different interfaces for space (node) and link editing, based on the writer's preferred authoring style.
  • The ease of publishing a read-only version of the text without any additional tools. Several types of readers are available, allowing the user different levels of control and engagement with the text, but not overwhelming the user with too complex an interface.
  • Because of these features and because a number of early influential hypertext fictions were written in Storyspace (e.g., Michael Joyce's Afternoon), this system is now used by the majority of those writing hypertext fiction in academic environments. Eastgate Systems, the publisher of Storyspace, is also the primary publisher of texts written in the system, and has a catalog of a few dozen titles, primarily distributed on floppy disk.

    Storyspace is a classic hypertext system, providing for one-to-many and span-to-span unidirectional links. The primary part of the Storyspace system not covered under traditional hypertext models is the guard fields, which require a significant amount of user state.

    Unfortunately, Storyspace was originally intended to be a single-user and single-reader system. It provides only limited workgroup and versioning support, and does not support simultaneous users on networked machines. Our primary motivation in this work was to create a networked writing space with the narrative features of Storyspace, in order to encourage the creation of collaborative fiction.


    MUDs, or Multi-User Domains, evolved out of multi-player Adventure-style games in the early 80s. These began as hack-and-slash style games, but some of the MUDs began to evolve into more social areas, somewhat reminiscent of chat lines. Although many of the earlier systems relied on hard-coded behaviors, MUD systems began to incorporate internal scripting languages. One particularly flexible server, MOO (MUD Object-Oriented), is now being widely used by the research community to support collaborative work, due to the ease of modifying the environment to support scholarship and sharing information.

    The MOO server is distributed by Pavel Curtis as part of his research at Xerox PARC, studying collaborative computer systems[CURT92]. Although there continue to be a large number of MOOs solely devoted to socializing, MOO systems have been established at the MIT Media Lab (collaborative environment for media researchers), the University of Virginia (postmodern theorists), CalTech (astronomers), and the Weizmann Institute of Science in Israel (biologists).

    Hypertext in the MOO

    Upon encountering the MOO system, it was apparent that it could be easily modified to create a hypertext fiction environment, since the MOO architecture of rooms connected by various passages could correspond to the hypertext architecture of nodes connected by links. It seemed that it would be especially interesting to transform Storyspace documents into a MOO, which would keep the structural and narrative elements of the documents, yet provide for the possibility of additional richness provided by the social environment. For example, writers could meet their readers in their text and engage in immediate dialogues with them, or writers could arrange to meet and work on collaborative works.

    Creation of the Hypertext MOO

    The actual creation of hypertext authoring tools in the MOO was straightforward, consisting of adding functionality to the generic rooms, exits, and players which already existed in the system. Because the MOO environment uses an interpreted object-oriented scripting language, the development of this part of the system was quite rapid.

    Additionally, the import of the Storyspace documents into the MOO generally consisted of a one-to-one mapping between documents and rooms, and between links and exits. Because we were able to import a number of pre-existing Storyspace documents into the system, we immediately had a rich-enough environment for authors to begin to work with existing texts as a substrate.

    Note that the actual interface to a MOO is quite primitive, since the software was designed to work through line-mode telnet. This means that the only interface is a command-line interface (even the editors are line editors). Since many of the standard MOO commands for building rooms and liking them together are fairly arcane (for example, @dig "north,n" to "Room 211"), the MOO interface can be a bit difficult for a novice to learn, especially since most computer users are now used to graphical interfaces. In order to simplify the process of authoring hypertexts, all of the commonly-used tools are written to consist of a one-word command, which then prompts the writer for as much additional information as necessary, using simple menus.

    Creating a WWW server from the MOO

    Within the last few months, people at several MOOs have developed software which allows a MOO to serve as a WWW server, responding to http requests and dynamically formatting the requested information. This is made especially easy due to the interpreted nature of the MOO language. The first MOO-based WWW server was developed at JaysHouseMOO, a MOO devoted to exploring networking issues (they also developed a MOO-based gopher interface). We originally ran a modified version of their software, which runs an independent process that logs in as a character on the MOO and listens on another socket for http requests. However, we have recently integrated and modified a version of the code developed at ChibaMOO; this code integrates the WWW server very tightly into the MOO, without the necessity of an additional process to redirect the http requests. The graphical and multimedia capabilities of such WWW browsers as Mosaic provide for a much more readable publishing medium than the early-70's look which line-mode telnet affords. However, there are many reasons to encourage the use of both interfaces. The MOO interface gives the user a great deal of programming control over the behavior of each node, and also allows for real-time collaboration. Until a single viewer is developed with the best qualities of the two interfaces, we will continue to support both the MOO version and the WWW version of the database.

    Dynamic delivery of HTML texts

    All of the texts are stored internally to the MOO database, which consists of objects with methods and properties defined on them. The hypertexts are stored as texts marked up with an extended version of HTML[BERN94B], described here in more detail, to provide for dynamic formatting of the data. This extended version of HTML is then parsed, any dynamic links are resolved, and it is then output as pure HTML.

    Extensions to HTML

    The three most important extensions to HTML which we have provided are:
  • The specification of a generic media type, which allows for pictures at multiple possible resolutions, with client-based specification of the preferred data bandwidth, none of which standard http supports. This allows for the user to specify, for example, that he or she would like to receive medium-sized pictures, with video but without audio. Additionally, since the multimedia elements of the text are generally much higher-bandwidth than the text, we allow for the specification of a number of large projects (WAXweb is an example of one such project), each of which has a set of mirror servers defined for it. The server determines where the incoming request is coming from and points all the media references to the nearest server. Unfortunately, due to the present Internet name space, it is only easy to determine the closest server on a national level. I.e., requests coming in from an address ending in .jp would be pointed to a mirror server in Japan, but it is hard to distinguish between a .edu site in California and one in Maine.
  • Dynamic in-database links are specified using a dyn-link tag. This tag allows for the creation of floating links and also provides for the maintenance of in-db state information passed through the URL. This state information is described in the following section.
  • Multiple language support is provided through the <Q lang=> tag, which is defined as part of HTML+ [RAGG94]. The proposed definition of this tag, however, is primarily to guarantee the language-specific layout conventions (hyphenation, text direction) are followed. In our server, however, we use it to filter out all but the currently-specified language for the text and audio.
  • Adding state to WWW

    We need to pass around a great deal of state to represent the current state of the reader; however, http [BERN94C] is specified as a stateless mechanism for transferring hypertext. One common solution to this problem is to include the state as part of the url [BERN94A] associated with each link. Although this is not an incredibly clean solution to the problem of maintaining state, since the state of a session could become arbitrarily complex with the inclusion of guard-field information, we currently use it quite heavily in the following situations:
  • Authentication keys containing the current user and an encrypted password. Once a user is authenticated, he or she is able to access the authoring tools which require special privileges, and the database is able to keep track of more internal state describing a given user's preferred authoring modes or the user's bookmarks. Additionally, this allows us to track the ownership of links and nodes.
  • The desired bandwidth level. This is where we store the information about whether to display pictures, audio, or video to the user.
  • The current language. We pass around the preferred language the user would like to use for text and audio.
  • The current state of the user interface. There are a number of different interfaces which may be open or closed at any given time, and we would like to maintain this state between nodes. These interfaces are described in greater detail in a following section.
  • Support for guard fields. Although we do not yet use guard fields, we have imported the information describing the guard fields on the individual nodes from Storyspace. This may be a feature we will add to the state information we store, as we import documents which make more extensive use of guards.
  • Forms-based authoring tools

    Most current implementations of WWW viewers allow for the use of forms, which let an encapsulated user interface be included as part of the hypermedia content. Although the client deals with simple interaction, such as pop-up option menus, the WWW server is responsible for handling actual updates from the forms. We have added a number of expandable forms-based tools as an authoring interface to the MOO. These include:
  • Modifying the current media defaults, including the level of picture detail, the types of media, and the current language for the text and audio.
  • Displaying authorship info, including the original creator of the text and a list of those who have added to it.
  • Showing comments and adding one's own to the text.
  • Adding and deleting bookmarks, and going to a specified bookmark.
  • Adding links to the text, and creating new nodes.
  • Editing the text of nodes which one owns.
  • The first three interfaces are available to any reader of the text. Only registered users are able to add bookmarks and links to the text; at the moment, a user can only edit text which he or she owns, though any registered user can add links between texts.

    Security Issues

    Although mechanisms for secure user authentication in the WWW are being developed, they currently only allow for authentification for a single document, due to the stateless nature of the protocol. Since we would rather not have the reader continually need to type in his or her password to be able to edit a set of page, we have added an authentification key to the state passed around in the url. At the moment, this consists of the user's account name (unique for the database) and an encrypted version of the password.

    We considered making this encrypted password act as a token which would only be valid for a short length of term, possibly a day, so that users wouldn't be able to impersonate other users for more than a short period of time. However, this would make it difficult to take advantage of the current "hotlist" features of Mosaic, and could be confusing to the users, so we have not done this.

    We are currently exploring the possibility of using a public-key cryptosystem to provide for a more secure interface. Of course, the consequences of a user impersonating another user of the system are fairly minor, limited to the ability to edit that user's texts. However, as this system is used for more important applications, security will become a critical issue.


    The Hypertext Hotel was begun by Robert Coover for his Hypertext Fiction Workshop at Brown University in 1991, using Intermedia, and ported to Storyspace in 1993. We have imported this historic collaborative document into out system, where it has continued to be extended and written on by writing students, although the Storyspace version has been added to as well. In addition, other non-Brown people have written in the text and incorporated it with the other, newer areas of our system.

    WAXweb is a hypermedia version of David Blair's film, WAX or the discovery of television among the bees. This film was the first independent feature film edited using a nonlinear editing system, and was also the first film to be broadcast over the mbone (multimedia backbone) of the Internet. David Blair originally wanted to put the text of the film onto the Hypertext MOO to support a collaborative project in which 25 writers, filmmakers and theorists from around the world would add to the text of the movie and create a large body of associated hypertexts based on the film. The current project, which was premiered as part of The Edge at SIGGRAPH, consists of the script of the film, about 600 pages of supplementary text material, 2000 stills (one for each shot in the film), 600 MPEG-compressed video segments, and the entire audio of the film in English, French, German, and Japanese. This work has become the driving application for adding hypermedia functionality to the system.

    Hi-Pitched Voices, a women's collaborative hypertext fiction working group, has been the most prolific part of the Hypertext MOO. This group was started by Carolyn Guyer, author of the hypertext fiction, Quibbling, to explore models of women's writing on the net.

    John Unsworth, editor of the journal Post-Modern Culture, has begun to use a version of our software to explore how to manage and critique refereed journal submissions.

    Another group, RhetNet, has also recently begun to use the Hypertext MOO to prepare a refereed electronic journal of technology and rhetoric. This group also held an on-line panel in our system, as part of the electronic version of the Computers and Writing conference.


    Since WAXweb was the motivating application for the development of the WWW-based viewing and authoring tools, this section explores its structuring and artistic goals in greater detail.

    The media composition of the film WAX depends on a paradigm that might be described as "anything, in any order, at any time. The film has no dialogue, but instead a narrator who delivers much of the story through voice-over, a fact with combined with the film's natural resemblance to hypertext, and the need for audience assembly, made it a natural retrofit into a constructive hypertext.

    WAXweb began as an experiment in hypermedia authoring, trying to remove the time base from the film, and increasing the number of pointers. The construction of the work began by developing a base layer of 600 nodes, roughly corresponding to each spoken line in the film's monologue. In each node, accompanying the text of the monologue is the MPEG video and the audio of that scene. Additionally, each node contains stills (about 1600 total) representing each shot used in the video for that node, each with commentary by the filmmaker. We also provide the entire text and of the video in English, French, German, and Japanese.

    The baselayer has several large-scale indexing structures:

    Through a combination of these navigational techniques, we expect the reader to be able to understand the ideas expressed in WAX. So far, readers who have seen WAX as a film have reacted quite positively to experiencing it as a hypertext.

    Future Work

    We plan to release a documented version of the server for public use in the near future, with well-defined standard node types and more powerful workgroup functionality. We are also planning to support additional hypermedia projects and are seeking artists and critics who would like to explore their own ideas of hypermedia structures within a collaborative networked system.

    We are currently involved in adding support for the emerging VRML (Virtual Reality Modeling Language) specification [PESC94], in order to support a 3D version of WAXweb; in the initial implementation, we plan to use the 3D models developed during the creating of WAXweb.

    We would like to provide for an integrated interface to the combined system, possibly by combining a Mosaic-like interface with a live stream of telnet data. Other groups are currently developing such tools.

    Additional issues which we would like to explore with a new system are:


    The prototype CSCW system described in this paper provides an interesting direction for further work in networked hypermedia systems. In particular, work still needs to be done on ensuring rapid interaction and time-critical display of multimedia information.


    We would like to thank a number of people who have helped in the creation of this project. Anna Youssefi and Melynda Barnhart worked on structuring the content. Andries van Dam and the Brown University Graphics Group provided equipment, with Steven C. Dollins and Daniel C. Robbins providing help. John Unsworth and the Institute for Advanced Technology in the Humanities gave the project equipment and technical support. Mark Bernstein of Eastgate Systems provided Storyspace software and code. We would especially like to thank some of the early writers in our system, Kathryn Cramer, Carolyn Guyer, Florence Ormezzano, Bob Arellano, and Michael Joyce.


    [BERN94A] Tim Berners-Lee, "Uniform Resource Locators", CERN, Internet Draft, http://info.cern.ch/hypertext/WWW/Addressing/URL/Overview.html.

    [BERN94B] Tim Berners-Lee, "HyperText Markup Language", CERN, Internet Draft, http://info.cern.ch/hypertext/WWW/Markup/MarkUp.html.

    [BERN94C] Tim Berners-Lee, "HTTP: A protocol for networked information", CERN, Internet Draft, http://info.cern.ch/hypertext/WWW/Protocols/HTTP/HTTP2.html.

    [BOLT87] Jay David Bolter and Michael Joyce, "Hypertext and Creative Writing", in proceedings of Hypertext '97, November 1987, pp 41-50.

    [CURT92] Pavel Curtis, "Mudding: Social Phenomena in Text-Based Virtual Realities", in the Proceedings of the 1992 Conference on Directions and Implications of Advanced Computing, May 1992.

    [CURT93] Pavel Curtis and David A. Nichols, "MUDs Grow Up: Social Virtual Reality in the Real World",

    [HALA90]Frank Halasz and Mayer Schwarts, "The Dexter Hypertext Reference Model", Proceedings of the Hypertext Workshop, NIST Special Publication 500-178, March 1990, pp 95-133.

    [GRON94]Kaj Gronbaek, Jens A. Hem, Ole L. Madsen, and Lennert Sloth, "Cooperative Hypermedia Systems: A Dexter-Based Architecture", Communications of the ACM 37-2, pp 65-74.

    [HARD94]Lynda Hardman, Dick C. A. Bulterman, and Guido van Rossum, "The Amsterdam Hypermedia Model", Communications of the ACM 37-2, pp 50-62.

    [KLEM94] Anders Klemets, "The Design and Implementation of a Media on Demand System for WWW", preliminary proceedings, First International Conference on the World-Wide Web, 94.

    [LEGG94]John J. Leggett and John L. Schnase, "Viewing Dexter with Open Eyes", Communications of the ACM 37-2, pp 77-86.

    [PESC94] Mark D. Pesce, Peter Kennard, and Anthony S. Parisi, "Cyberspace", preliminary proceedings, First International Conference on the World-Wide Web, 94.

    [PUTZ94] Steve Putz, "Interactive Information Services Using World-Wide Web Hypertext", preliminary proceedings, First International Conference on the World-Wide Web, 94.

    [RAGG94] David Raggett, "A Review of the HTML+ Document Format", preliminary proceedings, First International Conference on the World-Wide Web, 94.


    Tom Meyer

    Tom Meyer is a researcher in the Brown University Graphics Group, working under Andries van Dam. His research has included 3D user-interface toolkits, virtual reality interfaces for scientific visualization, and large-scale distributed hypermedia system. His Master's thesis is still in progress and is titled "Time Critical Techniques for Scientific Visualization in Virtual Environments."

    David Blair

    David Blair is a filmmaker best known for his work on WAX or the discovery of television among the bees. He works primarily through image-processed narrative techniques, and his currently working on his next film, Jews in Space.

    Suzanne Hader

    I am an undergraduate at Brown University studying Computer Science and English. Since my interests in the former focus on computer graphics and animation, I am doing a substantial amount of coursework in the visual arts as well. In addition to the WAXweb project, I am currently participating in a group independent study project (GISP), "The Design of Interactive Electronic Media." Our aim is to analyse, design and create new systems which take full advantage of interactivity and non-linear construction. We will be examining many pieces including scientific visualizations, hypertext, virtual reality, and interactive graphic illustrations.