Dynamic Hypermedia Engine (DHE)

Michael Bieber
New Jersey Institute of Technology
CIS Department
Newark, NJ 07102-1982
email: bieber@njit.edu
URL: http://www-ec.njit.edu/~bieber

 

Motivation

As the World Wide Web and its programming tools mature, we increasingly find analytical applications with Web interfaces and other Web sites with content generated instead of hand-created. This includes the large class of legacy systems which organizations are rushing to convert to Web interfaces. Yet developers, more likely than not rushed and without appropriate tools, often endow these systems with a paucity of links instead of embellishing them with the rich layer of linking and navigational opportunities which the Web could support [Bieber & Vitali, 1997].

Furthermore, developers of these analytical applications often struggle with the need to present complicated information in a way users can best understand it. Often the developers will rely on insightful visualization techniques and good user interface design. These approaches are not trivial, and for some applications cannot convey information simply enough for all users, especially students, novices and those unfamiliar with the low-level details of the application domain (such as a non- technical manager who must make decisions based on a developer's work). Even for applications with straightforward information displays, users may still have questions about what a particular item means or how it was determined. Logically each element within a Web application might be considered a potential starting point for information exploration. The ability to explore a piece of information in more detail could help users resolve doubts about or simply better understand both that item, as well as the analysis or display of which it is a part. Users may wish to dig deeper around data values and symbols they see, labels on graphs or user input forms, options in pop-up lists, information users enter as input (before actually submitting it), or even on the menu commands and other controls they can invoke.

To complicate the developer's job, users often have different mental models of an application (and its underlying domain) than the developer (application analyst or software engineer). Even when developers work closely with users, the end result might not be equally intuitive for all users or serve each user's individual tasks equally well. A user may wish to access a particular display, function or piece of information which he or she believes is immediately relevant to the task at hand, but which the system does not make accessible from the current screen or immediate vicinity.

 

Overview

The dynamic hypermedia engine (DHE) automatically generates links that represent application relationships, as well as metadata at run-time. DHE also constructs sophisticated navigation techniques not often found on the Web and other application platforms (e.g., guided tours, overviews, structural query) on top of these links [Bieber et al., 1997]. The links and navigation, as well as annotation features, supplement the application's primary functionality [Bieber, 1999; Bieber et al. 2000].

In this project link generation does not result from any type of lexical analysis. Our focus is not on the display content of the link anchor, rather on the application elements underlying each link anchor. A "mapping rule" encodes each relationship found between two elements of interest at the "class level". For example, suppose an application display shows the name of a university department. Departments generally have a Web page, an annual budget (within the accounting system), hires-in-progress (within the personnel system), a location on a map (within a geographic information system), professors and courses taught (based on the standard entity-relationship diagram within a database system), etc. Individual mapping rules would contain an algorithm (set of commands) leading to the appropriate component in these respective systems. When the user selects a particular department, DHE constructs these commands with the actual instance selected and sends them to the appropriate destination system which then retrieves&emdash;or more often generates&emdash;the resulting page. For example, one mapping rule would state that an element of type "department" would be related to an element of type "annual budget" through a relationship with the semantic type "annual budget for" and with the skeleton of the command to retrieve annual budgets from the accounting system.

DHE would execute concurrently with these applications such as the accounting system, providing automated link generation and other hypermedia functionality without altering them, by means of independent application "wrappers" written for each. Note that once a wrapper is written and the mapping rules are specified for each type of application (geographic information system, relational database management system, accounting package, etc.), DHE will support all instances of that application in the future (new maps, database contents, budget sheets, etc.).

Contribution

DHE is the only general tool that provides automated linking or metadata services in a generic manner, based on the application structure (as opposed to search or lexical analysis), without altering applications. Thus it is uniquely suited to support analytical and technical applications on the Web that generate the contents of their displays dynamically.

Description

Once we have identified the relationships for an application, the Dynamic Hypermedia Engine (DHE) can generate anchors and links for them in the screens and documents the application produces, along with additional hypermedia navigational, structural and annotation functionality.

The DHE hypermedia engine executes separately from the application it supplements. We write a wrapper program for each application to integrate it into our engine architecture. Applications and user interfaces connect to DHE through wrappers and messages. The User Interface Wrapper for Web browsers, which handles the communication between the client Web browser and DHE, has been implemented as a Java servlet. DHE intercepts all screens and documents passing between the application and the user interface, and uses mapping rules or "bridge laws" to map each appropriate element of the message to a hypermedia node or anchor. Our Web browser wrapper integrates these anchors into the document being displayed. When the user selects an anchor, the browser wrapper passes it to DHE, which returns a list of possible links (one for each appropriate relationship as determined by the mapping rules). If the user selects a link controlled by a DHE module (e.g., to add an annotation or new stage in a guided tour), DHE processes it entirely. If the user selects a relationship with a destination in a known application, DHE infers and instantiates the appropriate application commands from the relationship's mapping rules and passes them to the appropriate application for processing. If the user selects a user-created annotation or tour, etc., DHE retrieves it.

Figure 1 shows a screen shot from our current preliminary Web prototype. The mainframe contains the result of a database query. Each element is marked as an anchor. Selecting any anchor (such as "Counseling Center - department") generates a set of metadata displayed in the lower middle frame and a list of links displayed in the lower right-hand frame. (The asterisks in front of any link will recursively display metadata and a list of links for that link's underlying relationship.) The bottom left-hand frame contains menus for any system component or application wishing to use display these.

Figure 1: Screen from our Preliminary Web DHE Prototype

 

For our current Web prototype, we are programming all modules in Java. We use XML as our message format. While the browser wrapper currently produces HTML documents for display, we intend to migrate to XML documents, which take advantage of the Web's new XLink, and XPointer standards to handle anchors and links. We use RMI for inter-module communications. We intend to keep up with Web standards as they become available, whenever practical for our environment.

 

Requiring Dynamic Regeneration

We are planning to implement a series of other service modules over the next few years. Most will implement various kinds of hypermedia structuring, navigation and annotation functionality (Bieber et al. 1997; Conklin 1987; Nielsen 1995). Hypermedia structuring functionality includes local and global information overviews; node, link and anchor typing; as well as keywords, attributes and metadata on all of these. Navigation functionality include structure-based query, sophisticated history-based navigation and bi-directional linking. Annotation functionality includes adding user-declared links, comments and bookmarks to dynamically-generated documents and displays.

What distinguishes DHE from systems that provide similar features in other Web applications and other non-Web hypermedia systems is the dynamic nature of our applications. Our target applications generate documents and screens in response to user queries and other dynamic prompts. Therefore the screens and documents are not static, but "virtual"; they must be generated every time they are needed, and regenerated upon demand within each of these modules. Thus documents on a guided tour, pointed to by a bookmark or link, or found during structural search may not exist until the user actually selects the anchor representing it [Bieber & Kacmar 1995]. We shall do this by maintaining sufficient parameters about each document or screen to create the commands to regenerate them. These commands are not always the same as the original command that generated the document in the first place. [Bieber 1990] and [Bieber 1995] discuss this regeneration in more detail.

DHE should be able to streamline an organization's software development efforts in several ways. It automatically supplements the organization's applications with hypermedia links, structuring, navigation and annotative functionality, and metainformation. It also implements inter-application linking, as the university department example in the first section of this proposal shows. Mapping rules can point to any accessible application. DHE also can speed the development of applications. Developers can offload link management, navigational structures (such as guided tours), user preference management and other features to DHE.

Other Research Aspects

- Metadata Support

Currently we generate links for applications. Links represent relationships, and could be considered a subset of metadata. We intend to extend mapping rules to also generate metadata about elements of interest based on their element (or class) type. Thus the mapping rule module would map an anchor to any element of interest with either a link or metadata available, and selecting an anchor would retrieve both metadata and a list of links for its element [Galnares 2000].

- Evaluation Support within DHE

We plan to add user tracking features, both in the User Interface Wrapper and in the Message Passing Module, in order to track all user activities for experiments and field study logs. (This also will be useful for system debugging.)

- Multiuser Support

We plan to add user log-on and access permission features. We intend to support public, private and workgroup access permissions to all hypermedia features, including links, annotations and guided tours, etc. For example, a user may have permission to edit the links and comments on a document, but not the document's content [Bieber et al., 1997].

- Regeneration of Documents and Screens

Analytical applications present the special challenge of dynamic regeneration. As an example, suppose an analyst wants to determine the changes in projected profits for different sales levels. He (or she) performs the analysis within a decision support system, and makes comments on each resulting profit calculation. A few days later, when preparing his final report, he needs the calculation results and comments. He wishes to return to them without having to remember the parameter values and then manually re-performing each calculation. Luckily he created a bookmark to each calculation result before discarding them. A bookmark is a one-way link from a globally-accessible menu to something the user wishes to find again-in this case the calculation result. Invoking each bookmark causes the Applications to re-execute its calculation(s) automatically, and to locate its comment automatically. Bieber and Kacmar [1995] present additional examples of dynamic regeneration for geographic information systems. As noted earlier, regenerating documents is especially complex when the user had specified input parameters or was operating within a particular context originally. Regeneration automatically has to mediate the context and supply the parameters on the user's behalf [Bieber 1990, 1992, 1999; Galnares 2000].

- Link Filtering Based on User Task Modeling

RNA results in links for several different stakeholders, and a comprehensive set of mapping rules could generate dozens or even hundreds of links for a particular anchor, resulting in the well-known hypermedia problem of cognitive overload [Conklin 1987; Halasz 1988; Thuering et al., 1995]. DHE currently has hooks for placing filtering conditions on mapping rules. We intend to design and implement filtering based on the user's task and preferences so that all sets of links generated can be rank ordered and pruned to a manageable size.

- Enhance Mapping Rules

The current mapping rules which generate links are relatively simple. We wish to conditional situations, filtering based on user tasks and preferences (as noted above), relationships that lead recursively to additional relationships, among others. Mapping rules should allow logical inference to model complex relationships. We hope to reimplement a new Mapping Rule Module written in Prolog or an AI language facilitating logical inference [Bieber 1990, 1992, 1999].

- Support for Hypermedia Functionality

As decribed earlier, we plan for DHE to supplement Web applications with a full range of hypermedia structuring, annotation and navigational features [Bieber et al. 1997], tailored for analytical applications. We also intend DHE to provide a means for integrating related applications. One of our major contributions is developing these features over virtual links within generated documents and screens.

- Support for Collaborative and Other Additional Applications

Murray Turoff and Roxanne Hiltz currently are developing a toolkit for collaborative group support systems. We plan to ensure that all modules within this toolkit are compatible with DHE so we can add automated link generation and other hypermedia support to group support systems. Also we plan on building wrappers for additional applications each year, including full spreadsheet support, data warehouses, geographic information systems, CAD systems, and enterprise information systems.

 

Related Research

Several approaches exist for integrating hypermedia functionality into primarily non-hypermedia information systems. These include employing hypermedia data models [Campbell and Goodman 1988; Halasz and Schwartz 1994], hypermedia toolkits [Put-tress and Guimaraes 1990; Sherman et al. 1990; Anderson 1996], link services (Pearl 1989; Schütt and Streitz 1990; Davis et al. 1992; Rizk and Sauter 1992; Kacmar and Leggett 1991; Leggett and Schnase 1994; Anderson et al. 1994; Anderson 1997], hyperbases [Leggett and Schnase 1994], hypermedia development environments [Nanard and Nanard 1995a; Marshall et al. 1994; Marshall and Shipman 1995; Akscyn et al. 1988], open hypermedia systems [Whitehead 1997; Wiil 1997; Wiil and Demeyer 1996; Grønbæk et al. 1994; Wiil and Leggett 1996], and independently executing hypermedia engines, such as DHE.

Hypermedia engines execute independently of an application with minimal modifications to it, and provide the application's users with hypermedia support. Few approaches provide transparent hypermedia integration as our engine does. Notable projects include Microcosm's Universal Viewer [Davis et al. 1994], Freckles [Kacmar 1993, 1995] and the OO-Navigator [Garrido and Rossi 1996; Rossi et al. 1996] and SFX [Van der Stemple, 1999a,b,c].

Microcosm's Universal Viewer and Freckles seamlessly support an application's other functionality but provide only manual linking. OO-Navigator comes the closest to our approach, providing a seamless hypermedia support for computational systems that execute within a single Smalltalk environment [Garrido and Rossi 1996]. This approach meets our goal of supplementing Smalltalk applications with hypermedia support without altering them. Our approach applies to both object-oriented and non object-oriented applications.

SFX's engine is very similar to DHE, but it only serves one specific environment. SFX dynamically generates anchors within the reference section of academic papers being displayed on the Web. Selecting these will lead to the original work within bibliographic databases. DHE, in contrast, provides a generalized approach for linking and additional hypermedia functionality for most analytical applications.

Lastly we note the difference between hypermedia and general Web development environments. Much Web development involves manual link specification. Several sites automate linking for database applications. For example, electronic shopping applications will fill a template such as a catalog page, adding specific links for whichever product appears there. DHE supports such link generation, but through a generalized approach that will function beyond database applications. Also, anchors within these applications tend to have a single link, while anchors within DHE-enhanced applications often produce a list of relevant links, each representing a different relationship on the anchor's element of interest.

Evaluating DHE

DHE evaluation focuses on showing that supplemental linking and hypermedia features indeed are useful, and that users are not overwhelmed by the additional options. We shall do this through experiments contrasting various levels of DHE support for applications. Some of these experiments would be longer-term to judge whether such support is useful only at first, or whether people continue to find it useful over time. Subjects will include both university students and employees of the universities, and later at a field study site.

The field study will investigate whether:

- RNA results in more efficient (time) and more effective (quality) system design than their current methods

- the system design with RNA is easier to implement

- RNA helps analysts better understand the problem domain than their current methods

- DHE improves an application implementation in terms of time/effort required

- DHE improves quality of an application in terms of usability and effectiveness


last updated: 8/21/2000

This page: http://www.cis.njit.edu/~bieber/dhe-overview.html