Re: TECH Survey comments

Mark Waks (justin@dsd.camb.inmet.com)
Mon, 1 Aug 94 11:25:16 EDT


John argues in favor of object caching, but only of the exact object
possessed by the scene designer. Essentially, each object would need
to be fetched at least once, although it could be locally cached after
that.

I still disagree. I concur that the scene designer should be *able* to
say, "Use *this* refrigerator instead of any default". I think it's
short-sighted to limit ourselves to that option, though. Heaven knows,
if *I* design a scene, I don't care nearly that much about the little
details -- I'm perfectly content to let the user's defaults make some
of them up. It's faster for them, and less bandwidth for my machine. I
might have four chairs in my scene, and really not give a damn about
whether the user sees *exactly* the same chairs I do. Getting the
scene exactly probably does matter for some applications (eg, the
VR MUDs that I expect to start seeing in about three years), but not
for others (eg, the carpeting in my "home room").

The question is, how do we support both of these models? The answer,
I believe, is keywords.

When we specify an object to be fetched in VRML, we may specify one or
two related lists of keywords. One would be a list of keywords that an
object *must* satisfy if it is to be considered acceptable for this
use: "We need a six-foot, left-handed fridge". Another would be a list
of optional keywords, in priority order; the user's Browser would be
responsible for deciding whether to fetch the exact object from the
scene's machine, or to use a close local approximation.

Obviously, the description of an object would include a similar list
of keywords that this object satisfies.

This method is extremely flexible. It requires no central control, and
produces a clear human-readable way of determining which objects to
use. It allows the scene designer to create a scene that uses anything
from the simplest of default (by specifying no keywords besides the
object type) to requiring exactly the object on his machine (by
requiring, say, a keyword that includes the designer's Net address
plus a disambiguator). It gains us many of the benefits of a class
structure without needing to actually *do* very much to the language.
I believe it would satisfy both John's desire to specify precisely the
object he means, and my desire to keep bandwidth low if the scene
designers want to.

Critique?

-- Justin

Random Quote du Jour:

"People don't kill guns -- outlaws kill guns. Or something like that."
-- stevelee