![]() Elmo An application for creating interactive and evolvable web sites
Berkebile Masson O'Hara Stoller |
Sponsored by:![]() Center for LifeLong Learning and
Design |
![]() |
Most sites on the World Wide Web today are made up of static HTML pages that are maintained by a "webmaster." This website model is well suited for broadcasting unchanging information across the web to users, but is not well suited for presenting information tailored to a specific user need, or for allowing users to directly modify and extend the information contained in the site. DynaSites is one of several research projects within the Center for LifeLong Learning and Design (L3D) that attempt to transform the Web from a broadcast-oriented medium into a collaborative medium for constructing knowledge. The DynaSites project aims to implement a new website model in which information content and hypertext links are stored as small pieces in a database, and then put together "on the fly" to create HTML pages. The DynaSites application will support dynamic websites that:
An existing DynaSites demonstration of concept prototype is available as a starting point for this project, and project members can either build upon this prototype or redesign it. In addition to being a stand alone application, DynaSites will be a central component of the WebNet system currently under development by the L3D Center. WebNet is a design environment for local area network (LAN) designers that couples LAN design tools with an information space containing LAN design knowledge. DynaSites will enable WebNet's information space to be implemented as a dynamic website, providing the benefits described above. Both WebNet and DynaSites will be developed in collaboration with LAN designers here on the CU campus.
Most researchers in human-computer interaction have tried to make computers easier to use. Unfortunately, usability often comes at the price of power, or "usefulness." The Useful & Usable (U-U) group within L3D is interested in increasing usability and usefulness at the same time. Their current project is a software package (WebNet) for the specialists who design and manage local area computer networks (LANs). One of the desired results of the WebNet project is to understand the ways in which a group information space can be maintained such that it can grow in response to new or changing information. Toward this end, the U-U project would like to design a web interface to a knowledge base that is interactive, allowing users to modify the content on which it is based. The Elmo project is intended to fill this role by mediating interaction between a client web browser, a server database and an http server. Figure 1 shows an overview of the structure of Elmo. When a web client requests pages from the site, the web server will evoke Elmo. Elmo will build pages based on information contained in a database and then return the pages to the web server. The structure of a site will be determined by a web site author who will build formats for pages via an interface which Elmo will provide. Once a site is constructed, users on web clients will be able to update the information in the database that is used to build pages. Elmo will moderate changes to the database from web clients based on the structure imposed by the site's designers.
The project is divided into two major components. Each of these components will inform the design of the other and will therefore take place in parallel whenever possible. The first component will consist of producing the substrate of web functionality. This portion of the project corresponds to creating the component labeled "Elmo" in Figure 1. The second element of the project will consist of utilizing the authoring interface of Elmo to build a web site with features useful for the community of LAN designers and managers. This second portion of the project will demonstrate the capabilities of the substrate. Because the L3D group is a research group, it is not essential that the product of the project is a robust piece of software suitable for wide distribution (although that is a desirable goal). It is important, however, that the product is able to demonstrate the functionality being investigated (in this case, creating usable and extensible web sites). Designing an interactive web site for LAN designers using Elmo will facilitate an understanding of the utility of the mechanisms which Elmo will use. Since each part of the project will provide a better understanding of the other part, the two portions need to be performed in conjunction. This document is divided in sections that describe the requirements for the Elmo
software artifacts, the documentation that must be produced and the items which must be
delivered to the L3D group at the completion of the project. There is also an additional
section which describes optional features that may be added to Elmo as time permits.
This section will discuss the requirements for the software itself. Documentation requirments will be discussed in the next section. The requirements for the software are divided into requirements for the substrate, which includes compatibility, performance, functional and other considerations, and requirements for the LAN designer's application with include considerations for the functionality of the application as well as the software and hardware environment in which it will operate. 2.1 Requirements for the Substrate The Elmo substrate will support features upon which a web site can be built. This section describes the functionality the substrate is expected to support. 2.1.1 Software and Hardware Environment Elmo is required to interact with an http server and a database. No specific hardware or software platform is required. However, in the interest of future research which may utilize Elmo, interfaces to other software (such as the web server and database) will utilize industry standard interface specifications and/or software whenever possible. Examples of acceptable systems are: the Common Gateway Interface (CGI), Apache's Application Programmer Interface (API), WebStar's API, Structured Query Language (SQL), Open DataBase Connect (ODBC), or AppleScriptable applications on the Macintosh such as FileMaker Pro. In the interest of supporting continuing research using Elmo, software and interfaces will be selected on the basis of expectations that they will be supported in the future. Users of the system will access sites using Netscape's Navigator browser version 2.0 or later. Other browsers may work correctly and may be explicitly supported by Elmo, but are not required to work correctly. 2.1.2 Compatibility Elmo will produce documents that conform to the World Wide Web Consortium's (W3C) html version 3.2 format specification. Any html version 3.2 features that are used in Elmo which are not supported by Netscape version 2 for the Macintosh will be documented. In order to provide compatibility with other components of the WebNet project, the database on which Elmo is built must be accessible to applications running on the Macintosh platform. This may be accomplished by using a Macintosh database program or by utilizing a database sever which can be accessed via a network. 2.1.3 Performance There are no specific performance requirements. However, Elmo will support simultaneous users with reasonable response times. No more than five users are required to be able to use the system at once. The average time to serve a single (randomly chosen) page of less than 100 Kb will be less than 10 seconds when a single user is accessing the system. There are no performance requirements when multiple users are accessing the system, although it is expected to correctly serve pages without omissions or errors. 2.1.4 Functionality The Elmo program is expected to store the contents of a web site as a collection of nodes and links in a database. Elmo will provide an authoring interface which will allow a web site creator to specify the structure of a site, the nodes of information used to construct each page, the types of links allowed, and the end user modifiable portions of the site. The authoring interface need not be friendly and may simply consist of editing text files. However, the interface needs to be well documented and designed in such a way that later developers can build upon it by adding a visual authoring interface or other improvements. Links on pages within a site served by the Elmo system are expected to be typed. When a link is available on a page, a user will have some indication of what the flavor of the link is. For instance, semantic link labels might be provided to indicate the nature of the destination of a link. Elmo is expected to provide a mechanism for users to modify and add to a web site within constraints defined by a web site author. For instance, a user might be able to annotate a message on a discussion list, add a link to an outside web site on a given page, modify a definition in a glossary, or link a word on a page to another section of the site. These activities will be supported without requiring the end user to have an understanding of database query languages or html code. Elmo will maintain user states which will allow an end user to set viewing preferences. For instance, an end user might select a custom entry point into the information space which will be unique for that user. The end user will also be able to choose which link types are shown. The site authoring interface in Elmo will allow a site author to create the schema for a web site. It will support the ability to specify the types of links available within a site, attach properties to nodes, and define relationships between link types and node properties. These features will allow the site author to apply the capabilities of the substrate to their particular domain. The author will have the ability to specify access permissions for users. Explicit features of these functions will be explored in the design phase of the project. 2.1.5 Code Design As a part of the Center for LifeLong Learning and Design's ongoing research, the code written for the Elmo project must be designed to be usable by future developers working in the L3D group. The code will be clear and extensible. Obfuscated code or techniques will be avoided. The standard platform within the L3D group is the Macintosh. Components for the Elmo project should either be cross platform or Macintosh solutions. Any solutions which are not either Macintosh based or cross platform will require strong motivation. 2.2 Requirements for the LAN Designers' Application The LAN designers' application will be built using the Elmo substrate and will serve as a demonstration of the capabilities which Elmo provides. This application will be created using the site authoring interface provided by Elmo. The information base that accompanies the application will be populated with enough information to facilitate testing. 2.2.1 Software and Hardware Environment All user interaction with the LAN designers' application will be through Netscape Navigator version 2.0 or later. The end user is not required to have any other software and no specific hardware platform is required. 2.2.2 Functionality The application will support at least three different document types. These might include such types as problem and solution tuples, specifications on hardware, work plans, glossaries, network diagrams, trouble queue entries and histories, wire maps, host tables, localization information, LAN design rationale statements, etc. Specific types of documents to implement will be selected at design time. The application will be designed specifically for the needs of a small community (4-12) of LAN designers. Ideally, the application will be used by a group of subjects willing to provide feedback. Although the functionality in the Elmo substrate will be very broadly applicable, the LAN designers' application should be as specific to the LAN designers' domain as possible. Based on constraints placed on the application by the site author, end users will be able to edit, comment or extend information on the site. The web site will function as a communication medium for the community of end users. The Center for LifeLong Learning and Design is interested in human-computer interaction on each of the levels described in this document (end user, site author, and substrate developer/researcher). Because the goal of the group's research is to gain a better understanding of the interactions on each of these levels, a user-driven approach to design (top down) as opposed to a developer driven approach to design (bottom up) must be taken. In order to facilitate the integration of top down, user-driven methods, feedback produced by testing will be an important part of the project. Evaluation of feedback will be an integral part of the project and may inform further design decisions in both the substrate and the LAN designers application during the course project.
The following section describes three basic types of documentation that are required. All documentation for the project will be made available through web pages. 3.1 End User Documentation It is assumed that end users understand how to use the Netscape Navigator web browser in order to access documentation. Because the Elmo concept is designed to be easily usable, the end user documentation will not need to be elaborate. However, in the instances where documentation is required, it should not assume that the user has any explicit knowledge beyond domain knowledge (LAN design) and browser familiarity. Documentation will be provided to explain the site author's interface to Elmo. This documentation will allow a web site designer to build web sites which utilize the functionality of the Elmo substrate. A short tutorial will be provided to demonstrate how a web site can be built to support a specific domain of information. 3.3 Substrate Developer Documentation Future research will utilize the Elmo substrate. To support this research, documentation will be provided which will allow developers to understand Elmo's structure and extended it. The following sections describe the major features of this documentation. These include the database interface, the web server interface, the site authoring interface, and the code architecture guide. 3.3.1 Database Interface Documents will be provided that explain Elmo's database interface. This interface may lie on top of a standard database protocol. In this case, the documentation will describe how Elmo utilizes this protocol and how other components of WebNet can access information in the database. Documentation will be provided which describes how Elmo interacts with the web server, including how Elmo is activated by the server and how information is passed to the server. 3.3.3 Site Authoring Interface Specification Documentation will be provided for developers which will facilitate the construction of improved site authoring tools. This documentation will include a detailed description of the control interface to Elmo's features. In the interest of supporting continuing research using Elmo, an overview of the code structure will be provided. Code will be commented in order to make it extensible by future developers.
The following components will be delivered to the Center for LifeLong Learning and design at the end of the project:
Delivery of these items will not preclude public release of portions of Elmo's code,
binaries or documentation.
|