The Ghost of Christmas Future
Do Java3D and Direct Animation
Pose a Threat to VRML?


By Mark Pesce
ZDNet

There is a specter haunting VRML -- the specter of Java3D.

You wont hear it dicussed publicly; the conversation takes place away from the media and outside the earshot of VRML's growing and loyal user-base. But truth be told, many of the movers and shakers in VRML-land are quivering in their boots, entirely frightened by Java3D, a product thats nine-tenths vapor.

Java3D and VRML: Roots of Conflict
I blame myself. You see, this is all about personalities. Strong intellectual personalities often come into conflict, and I cant say that my relationship with Michael Deering at Sun Microsystems has been anything but coldly cordial. To his credit, Michael has a brain the size of a planet, and has designed more of Suns hardware than is often acknowledged. However, early in the process of creating VRML 2.0, he got a snub that he has never recovered from or forgiven.

In August 1995, during the first meeting of the VRML Architecture Group, I was informed that Sun was unhappy they hadnt been invited to attend. This surprised me. After all, Sun had ignored VRML for 18 months while Microsoft, Silicon Graphics, Intervista, and Autodesk (all of whom had sent representatives to the meeting) had been involved in VRML to differing degrees. Why should Sun attend, I asked, if they had not contributed anything thus far? With that the die was cast, and an enmity formed between Deering and myself that persists to this day.

I imagine Michael said, "Fine, Ill take my toys and go home," --- and he certainly had an outstanding selection of toys. Michael had the advantage of a superior mind and the development resources of Sun. He was playing with "Oak" - later renamed Java - long before any of us heard of it, and used it to build an extensible library for interactive 3D applications. In a demo at VRML 95, Michael demonstrated the power and flexibility of the programming environment, and repeatedly took the audiences breath away. Unfortunately for Deering, the VRML community had already begun to accept that "Moving Worlds" would become the specification for VRML 2.0, closing the door on his work.

But that didnt stop Michael, or even even slow him down. Deering submitted a proposal to the VAG for VRML 2.0. Presented to the VRML community, Deerings proposal garnered third place - after Microsofts Active VRML (which well come to in just a moment) and winner Silicon Graphics. At this point, Deering retired from the field, but kept working, coding and refining, eventually unveiling a Java graphics library that would be named Java3D.

Opposite Strengths and Weaknesses
Java3D is everything VRML isnt. First and foremost, its a set of Application Programming Interfaces (APIs) for Java. At its base level, Java3D is a programming language and software library; the browsing environment is a Java applet; its file format is a stream of Java byte codes. All of the things that VRML makes easy, Java3D makes hard, and all of the things VRML makes hard, Java3D makes easy.

Critics of both Java3D and VRML have made much of this difference. At SIGGRAPH 97, a Java3D "birds-of-a-feather" meeting erupted riotously when Mitra (one of the main authors of Moving Worlds) displayed a VRML file that created a cube, using six lines of code. Mitra then showed an identical Java3D implementation that required four pages.

Meanwhile, on VRML and Java3D mailing lists, people complain about the level of integration between the VRML browser and the Web browser, tenuously maintained with the External Application Interface (EAI), which has neither the performance nor the flexibility that most 3D programmers need in their work. Integrating Java3D into an applet environment is entirely straightforward, while integrating VRML in any meaningful way is, at best, cumbersome, and sometimes nearly impossible. Hence the specter haunting VRML.

Nobody's Perfect
Neither VRML nor Java3D is perfect. Each has its own strengths and weaknesses. VRML 2.0 has been out there for nearly two years, while Java3D hasnt even reached the beta stages. VRML is included in the Netscape Communicator download; the Java3D class libraries probably wont be integrated with Netscape until release 6.0 - at the earliest. And its unlikely that Microsoft, with its antipathy to all Java APIs not created in Redmond - will adopt them quickly, if at all. Ubiquity - the great strength of VRML - is still far off for Java3D. Tools for VRML creation and export are commonplace now; while Java3D can read in several file types - including VRML 2.0 (most of the nodes, anyway) - writing a modeling tool which exports to a programming language is a notoriously difficult task, and will slow software support for Java3D.

But Java is the flavor of the month - or, more precisely - the flavor of the decade. Just as C++ swept the 80s for programming language chic, Java has captivated programmers around the world. Just say the word, "Java," and most geeks will smile with satisfaction. VRML - which had a ill-deserved reputation for being both slow and fat - still suffers from a bad rap in many programming communities. The features that make it so easy to use earn it scorn in the hard-core, high-speed graphics communities of gamers.

Will Content Save VRML?
By this time next year, programmers will be able to make a free and open choice between the two Web 3D formats; the only hope VRML has against the Java onslaught is its installed base of browsers, applications, and content. The Dilbert 3D site has been getting hundreds of thousands of hits a day, and the Mars panorama got well over a million hits a day when it first went up. Weve changed gears in VRML, from pushing browsers to pulling viewers in with outstanding content - content thats much easier to create in VRML than Java3D. Its the only real advantage VRML has, and without a continuing stockpile of incredible content, VRML will begin to fade before Java3D.

Which is why - if you listen closely - youll hear whispers about the "threat" of Java3D behind the closed doors of the VRML companies. Most are very worried. The content creators are philosophical. We care about 3D on the Web; if Java3D wins the battle, well begin the migration. Itll probably make things more difficult for us, but if Java3D represents the only path to our audience, its the road well travel.

Direct Animation Another Threat
Theres another specter wandering the winter wastes --- the --> --specter of Active VRML. Originally a SUN research project called TBAG, it migrated to Microsoft after SUN killed funding for the project. A year later, Microsoft proposed it as their choice for VRML 2.0; it came in second, behind Moving Worlds. The engineers refocused their efforts, and it has now re-emerged as Microsofts Direct Animation, included in Internet Explorer 4.0.

Theres no doubt about it, Direct Animation is very cool. It, like Java3D, is a programming language, but - unlike Java - its not procedural programming. Its an entirely different approach, which requires that developers rethink their designs, and rework them to the execution model that Direct Animation presents. This is not an easy switch to make - and most probably the reason that Active VRML failed as a VRML 2.0 proposal. (Lots of folks looked at it and said, "This is too weird.")

Within the last few weeks, Microsoft has begun a disinformation campaign downplaying the importance of VRML and promoting the importance of Direct Animation. One Microsoft executive - who will remain unnamed - has been visiting developers and telling them, "VRML is dead," then offering to support them in Direct Animation efforts. This is a curious assertion, because VRML - as near as anyone can tell - is more widely deployed and used than any time in its history. There are probably around 12 million VRML browsers installed on desktops around the world, and countless VRML sites. Conversely, there are but a handful (literally) of Direct Animation sites, and no authoring tools to speak of.

Fear of Microsoft
Is this another Microsoft attempt to derail a public standards process? (I allow myself anti-Microsoft paranoia only on Tuesdays and Thursdays, and Im writing this on a Monday, so Ill stay away from the darker implications of my question.) Theres no question that it is scaring the developer community. Its clearly a case of F.U.D. (fear, uncertainty, doubt), which - if VRML stumbles - could lead to the dominance of yet another Microsoft technology.

Campaign to Undermine VRML?
Microsoft, which has publicly committed to VRML several times in the past two years, is privately doing its best to weaken support within its core community of developers and content creators. And even if this campaign doesnt succeed in winning developers over to Direct Animation, it could clear the way for the rise of Java3D. That eventuality would be a blunder of almost unheard-of dimensions for Microsoft. 3D is the future of computing, and the group which controls that future - Microsoft or SUN or the base of developers that compose the VRML Consortium - all know this. In some ways, the VRML Consortium - composed of a few large companies and many smaller ones - is at a disadvantage. Its far more difficult for the Consortium to reach the consumer with a single, unified message. But its constituent companies can do what neither of the giants can - create, create, create.

Like Ebenezer Scrooges spiritual guide, the specter haunting VRML shows us not what must be, but what may be. The issue will remain undecided for some time to come. But VRML has an enormous head-start, and we all know - from examples like Netscape and PointCast and Marimba - that a head-start, properly leveraged, is enough to ensure eventual success. When we awaken from this dream of the future, well see what we always knew: VRML is here, now, and it works. Its up to us to work it.

Happy Holidays, and an Abundant New Year!