On the notion of links -- active documents

Hypermedia documents are often referred to as hyperdocuments, because of their associative structure imposed by (hyper) links. Links, in general, may be characterized as a possibly conditional connection between a source anchor and destination anchor. There has been an ongoing discussion as to whether links must lead from byte to byte or whether they must be defined at some higher level. On closer inspection, there appear to be a number of choices with respect to the kind of links that may be supported. See, for example, Halasz (1988, 1991).

Links

-- anchors

World Wide Web -- distributed hypermedia

Active documents


slide: Links and activation

Perhaps the most important distinction is that between hard-wired links that act as a goto in programming languages and what may be called virtual links, the destination of which is computed when activating the source anchor. This distinction is exemplified in the World Wide Web (WWW) distributed hypermedia system, which was initiated by CERN (Switzerland). The World Wide Web supports HTML (HyperText Markup Language), a semi-official hypermedia markup language in the SGML tradition. The World Wide Web allows the user to locate and retrieve documents worldwide across the Internet. However, a document may either be stored physically somewhere on a node in the network or may be generated on the fly by some information retrieval server producing HTML output. The production of HTML documents by some external program as the result of accessing a link somehow blurs the distinction between programs and documents. One step further in this direction is to allow documents, whether stored or generated, to contain embedded code that is executed when the document is viewed. Such documents may be characterized as active documents. Active documents are, for example, proposed as an extension to the MIME (Multipurpose Internet Mail) standard, to allow for `live mail'. Embedding code in documents would allow for synchronization facilities that are currently beyond the scope of HTML and MIME. However, a standard (in development) that provides features for synchronization is the HyTime markup language, which is another offspring of the SGML family. Summarizing, active documents are documents that result in programmed actions by being displayed. From a systems programming point of view, we may regard active documents as program scripts that are executed by a (hypermedia) interpreter. (A well-know example of a script-based hypermedia programming language is HyperTalk.) Hypermedia programming, using scripts, relies intrinsically on an event-driven control mechanism. In the following section, we will explore how we may combine script-based (event-driven) programming with (more traditional) object-oriented development (in C++).