HyTime and VRML

Eliot Kimber (kimber@passage.com)
Wed, 15 Jun 1994 00:02:06 -0500


I would like to urge the list to give the HyTime standard some consideration
as an architecture that can inform the the VRML design. HyTime (ISO
Standard 10744) is an enabling standard that addresses the issues of
addressing, hyperlinking, and the description of coordinate spaces and the
use of those spaces to position and synchronize objects in time and space.
HyTime is an SGML application, meaning that it is defined in terms of SGML
and some minimal part of a HyTime-based system must be an SGML document (but
not that (*all* the information management must be in SGML or anything like
that).

HyTime in no way addresses all the parts of a problem like VRML, far from
it. Also, HyTime in now way constrains the functionality, behavior, or
organization of any system. HyTime simply provides a common language for
expressing constructs that are common to all hypermedia applications, namely
the names and addresses of things, the basic structure by which hyperlinks
are expressed, and the way that coordinate spaces are described.

HyTime is a complex standard (because it addresses a complex problem), and
certainly there's more to HyTime than I can explain in a post (in fact, I'm
writing a book on the subject, to be published by Prentice-Hall this
summer), but I can show how HyTime could be applied to the VRML problem,
with goal being to define a descriptive language that allows the description
of arbitrary virtual spaces with arbitrary content, potentially linked to
any other addressible thing (e.g., any network resource, including, but not
limited to other VRML spaces, WWW documents, FTP sites, local network
resources (e.g., stuff on your LAN), etc.)

The HTML language enables hyperlinks by defining an addressing mechanism
that lets you locate other documents and locations within them (URLs, or
universal resource locators). This is the basic, minimal level of
addressing needed for newtworked hypertext, e.g., the ability to locate
across with arbitrary precision. HyTime takes this concept of addressing
and standardizes its syntax using constructs defined by SGML, as well as new
constructs unique to HyTime (such as structural locations (e.g., locating
nodes in trees) and "semantic" locations (e.g., queries based on the
properties of objects). HyTime's addressing schemes provide a complete set
of addressing mechanisms (including an "escape" that allows the use of any
application-specific addressing mechanism within a HyTime framework). This
addressing ability then forms the base for more complex functionality,
including hyperlinking and positioning objects in space and time (and
relating them together).

HTML is limited in several ways. First, its addressing model is weak,
limited to either single documents or single locations within documents
(HyTime has a concept of multiple locations and aggregate anchors of
hyperlinks). Second, it only provides simple binary links (what HyTime
calls "two-anchor hyperlinks". In a VR environment, links may have multiple
anchors (imagine a hyperlink as a hallway where each door in the hallway
opens onto an anchor--clearly you may have more than two doors in a hallway).

Thus, to HTML, a VRML language would need to provide more complete
addressing, the ability to locate multiple locations, and the ability to
create n-ary hyperlinks. HyTime defines, as a completely non-proprietary,
international standard, the architecture for building such a language
(HyTime is an "application architecture", defined as a set of "architectural
forms" which you then use as the model for your application's specific elements.

(Post continued in separate message--mailer problems--)