Re: WWWlogical idea

Lew Hitchner (hitchner@netcom.com)
Wed, 7 Dec 1994 09:22:16 -0800


On Tue Dec 6 16:38:38 1994 Al Globus and Creon Levit wrote:

>> This is work in progress and much of it is pretty fuzzy.
>> Comments are welcome.
>>
>> Consider:
>> * html does not specify what a document looks like.
>> html specifies the structure of a document.
>> The browser decides the fonts, colors, line breaks,
>> inter-paragraph spacing etc.
>> * images specify appearance exactly -- although
>> hardware issues such as pixel size, available colors,
>> etc. will make the picture look a bit different on different
>> platforms.
>>
>> This difference between html and images (or postscript) is
>> fundamental and is one of the reasons I like html so much.
>>
>> Now consider VRML. VRML specifies the exact appearance of
>> a 3D scene (within hardware limitations). This is much like
>> an image -- not much like html.
>>
>> Question: can VRML be modified to specify the sturcture
>> of a world? I.e., can we express the
>> logical groupings of information in a 3D environment without
>> giving x,y,z, color, normal, etc. type information and leave
>> these details to the browser?
>>
>> I think its possible. I have a proposal for a Inventor node
>> that does this. Specifically,
>>
>> WWWlogical {
>> hints "" # a SFstring
>> }
>>
>> WWWlogical is a subclass of SoGroup so it can have children.
>> Semantics: the child nodes are
>> logically grouped and the browser should display them in a
>> appropriate manner.
>>
>> The hints string is a list of attribute/value pairs that
>> gives the browser ***suggestions***. Some examples:
>> topology R3 # a three dimensional world - probably pretty common
>> topology S3 viewpoint inside # a world inside a sphere
>> standard-type room # a standard kind of thing corresponding to a room
>> Obviously, coming up with a good set of hint attributes is
>> a challenge. I haven't done this yet.
>>
>> The browser is not required to follow the suggestions. Also,
>> the browser may allow the user to resize things and move them
>> around, much as a window manager does. I could go on for quite
>> a while about stange and wonderful things a browser could do,
>> but that must wait.

>> Al Globus (CSC) and Creon Levit
>> NASA Ames Research Center

I think these are excellent suggestions, and I like their analogy with
HTML specifying structure and the browser implementing appearance and
their analogy with a window manager using hints to handle X window
client requests. Note that there already is some flavor of this in
current HTML. The 'Logical Styles' category of operators, e.g., <em>
emphasis, <strong> stronger emphasis, <cite> display a citation, etc.
specify an intended appearance, but leave the actual appearance up to
the browser.

The specification of 2D visuals supported by HTML and displayable by an
HTML browser are probably an order or magnitude simpler than what a 3D
specification language and 3D browser will be expected to do. Use of
logical descriptors as guidelines for how they are actually implemented
by the browser seems to be a useful and important feature of 2D HTML.
Therefore, I'd say that Al and Creon's suggestion for supporting
logical specifications with hints for their implementation is really
insightful. The example of how we can customize the appearance of an X
client on our local workstation depending upon what window manager and
WM hints we use, should serve as motivation for accepting their
suggestion.

Another related capability in X11 is the use of X Resources whereby the
developer of a client application has the option to give the person (or
system admin) who runs that client on his server extensive control over
the client's appearance on his screen. E.g., the client app developer
might specify the topological relationship between windows and
sub-windows, but leave the appearance -- colors, sizes, shape, etc. --
up to the resources currently in use by the server.

To carry this to an extreme, the Widget Creation Language (WCL)
developed at JPL and elsewhere even lets the user of a client specify
behavior as well as appearance via X Resources by allowing resource
symbols to reference widget callback functions.

Shouldn't those who are developing VRML and we members of this mail
list be at least as clever as have been the designers of X Windows and
the various window managers? By the way, I presume the people who are
actually doing VRML design (as opposed to thos of who just sit back and
take pot shots) are intimately familiar with 3D window system protocols
and have incorporated principles that overlap between those
client/server systems and the 3D client/server proprosed with VRML.

Lew Hitchner
Virtual Reality and Visual Simulation Consultant
Mountain View, CA
Voice: 415-964-9425
FAX: 800-825-7689 (USA)
FAX: 510-472-6951 (international)
email: hitchner@netcom.com
URL: ftp://ftp.netcom.com/pub/hi/hitchner/hitchner.html