The paper describes the architecture, issues from the design, and experiences from the use of EHTS (Emacs hyper text system), a multiuser hypertext system for collaboration. EHTS consists of a text editor, a graphical browser, and an active hypertext database named HyperBase. HyperBase is built on the client-server model and has been designed especially to support collaboration among its users, by providing an event mechanism and a fine-grained lock mechanism. Events from HyperBase are used to notify the editor and browser about important actions on the shared data, enabling them to monitor changes. Four categories of issues from the design and experiences from the use of EHTS are reported: architecture, collaboration, user interface, and data model. Based on experiences with the client-server model, the author suggests a new and improved architecture for the event driven multiuser hypertext system. One major lesson learned is that events and fine-grained locks can provide powerful support for data sharing among multiple users simultaneously working in the same environment. The need for a flexible data model is another lesson learned. It is difficult to predict what data model objects actually will be needed, when the data model is designed before the user interface.
展开▼