Introduction

In a relatively short period of time the World Wide Web has become a prominent vehicle for disseminating information. The reason for its popularity is not so much its functionality per se, but rather the convenience with which it provides access to a variety of information sources. In fact, the functionality of the Web, especially with respect to multimedia, is rather disappointing with regard to the research in this area  [AHM]. Another point of criticism is that the HTML document encoding language provides a poor vehicle for structuring information, since it is primarily geared towards defining the (graphical) layout of small documents.

Clearly there is a need to enhance the Web with dynamic capabilities (for example to display multimedia and to allow for interaction with the user) and with facilities for structuring information, as advocated by the SGML standard  [SGML]. Our research is meant to provide an answer to both problems. We allow for extending a browser with dynamic capabilities by support for client-side computing, that is ``active documents''. New document structures are supported by allowing for arbitrary SGML-based document types, including extensions to HTML.

Another point of concern in the Web community is that with the increasing number of document formats, traditional monolithic browsers (such as Netscape) become too large and too inflexible to adapt to the needs of an individual user. In this respect our project takes a radically different approach, by allowing for a close integration between application-functionality and Web-functionality.

The DejaVu framework offers access to the Web as one of the facilities in a collection of software components for developing multimedia user interfaces and hypermedia applications. It provides a vehicle for experimenting with true hypermedia extensions to the Web. Our approach, which is essentially object-oriented, allows for integrating the Web in applications and vice versa, for composing a Web browser with support for sound synthesis, digital video, 3D graphics and virtual reality  [Eliens95]. On a software level this is realized by extending HTML to allow for embedded scripts, written in a script language that is extensible with application-defined functionality. However, in addition to this rather low-level provision for active documents, our Web browser component allows for SGML-defined document types capturing the syntax and semantics of multimedia extensions.

Related work

With the announcement of Java  [Java], and the realization of the HotJava browser, client-side computing has been accepted as a powerful and flexible means to enhance the dynamic capabilities of Web-browsers. Another example of such an approach is realized by the Python-based Grail browser  [Python]. SGML-based browsers are offered by a number of commercial browser vendors  [DynaText,Panorama], some stemming from long-standing academic research in electronic document processing  [Grif]. We believe our approach to be unique in the sense that it realizes a software engineering framework that allows for a component-based approach to integrating application-functionality and Web-functionality.

Structure

We will first give an overview of the various components constituting the DejaVu framework and discuss briefly the architectural notions underlying our framework. Then, we will show how to employ these components to develop a Web browser with (client-side) support for animation, multimedia and virtual reality. Next, we will describe the concepts of encoding documents with SGML, and by giving some examples, we will illustrate our solution to defining the (browsing) semantics of arbitrary document types by means of script-based style sheets. And finally, we will discuss the requirements that must be met for developing a HyTime compliant browser for the Web.