[TECH] Sun's Java and VRML

Suresh Krishnajois (sujo@netcom.com)
Mon, 27 Mar 1995 15:02:13 -0800 (PST)


I've been a lurker so far. Brief self intro: I'm currently architecting
a "Virtual Shopping Environment" at Internet Shopping Network (which is
a subsidiary of the Home Shopping Network Inc.). I'm pursuing three
design/architecture options to construct our Virtual Mall -
geometry oriented, like VRML, bitmap oriented (ugh), and now, _behaviour_
oriented like Sun's Java.

When I first saw Sun's HotJava (nee Webrunner) 6 months ago when I was
at Sun, it was like being in a seance =:). I saw tons of things it could
do for networked VR, but unfortunately couldnt talk about it outside
of Sun :( But now that it's been released for the masses, I wanted to
get a thread going here on the HotJava browser and Java language/technology,
(URL: http://java.sun.com) and its relevance to VRML, especially in
context of the discussion we recently had about implementing behaviour,
and also the discussion a long while ago on procedural vs. declarative

If someone ports something like OpenGL or OpenInventor to Java, then
will the VRML effort be moot ?

As I understand it (I may be wrong) the current VRML application model
is that the application state will be stored in the server, which will
generate the geometry and send this across as an ASCII file to the browser.
But with HotJava (which can store and execute arbitrary code), only
application state transitions need to be propagated across the network.
Geometry can be completely the browser's lookout. Since application state
is a higher level abstraction compared to geometry, the HotJava model
will be less bandwidth intensive than the VRML model.

Also, if mere application state is what is going across the pipe, and
geometry is entirely upto the browser, then I can extremely easily
implement scenarious involving what could be called "camouflage/facemask"
transformations - kind of like a visual analog of anonymous remailers.
As Cyberspace becomes more visual and interactive, this capability
is going to be _extremely_ important. I cannot easily do this if I'm
constrained to communicate at the level of application geometry.

Please feedback, flame, throwup, whatever on this and related issues.

- Suresh