Subscribe for FREE - Win a FREE T-shirt

Discussion Area

VRML by the Pound

People Linking to Us
Tell a Friend

We'll Link to You!!

Aereal, Inc.
   Instant VRML World
   Proteinman's Top 10 Worlds

view me!

VRML Book Reviews
by Tiby Kantrowitz

Rewriting the story of the birth of VRML as analogous to a Creation myth is a serpentine task, even though there are so many myths from which to choose. But you could say instead that, despite VRML's youth, a body of techno-religous literature, authored by its Creators no less, has begun to ooze from the primordial ether, complete with commentary and discussion.

This is a good thing, because not only is VRML, the fabric of the Universe as we know it, expanding quickly but, except for a few gaps, the Authors' cosmogonies fit more or less snugly. And since there are still so few of them, it makes the choice of which one to bring home relatively painless for VRML acolytes.

Java for 3D and VRML Worlds and The Annotated VRML 2.0 Reference Manual are two new books that just may become the two new books that will surely form the basis VRML study from now on.

Java for 3D and VRML Worlds

Java for 3D and VRML Worlds, by Rodger Lea, Kouichi Matsuda, and Ken Miyashita published by New Riders, is already on the market. Lea is responsible for the multi-user architecture of Sony's VRML 2.0 browser, Community Place. Matsuda was lead author of the Java binding appendix of VRML 2.0 and is responsible for the team developing Sony's VRML 2.0 browser. Miyashita is also a member of the development team.

The book is primarily targeted towards experienced users already comfortable with Java programming and presumably familiar with either VRML or 3D design. However, it is suited for advanced beginners, as well. Careful study of the Chapter Introductions and Chapter Roundups provided will enable beginners to catch on quickly.

Catching on is important, because the authors waste no time travelling from the basics to advanced material. The book explains the behavioural and scripting aspects of VRML 2.0 well, but it is not a beginner's guide to either VRML 2.0 or Java. That said, reading through Appendix A, "VRML and 3D Principles" written by Janet MacAndless, John DeCuir, Christopher Janney, Joseph Munkeby, Jai Natarajan, Nick Bali and Karen Eppinger, should give most beginners the idea of what they need to know in order to get started.

The book covers the range of issues pertinent to using Java in VRML worlds, from why the behavioural capacities of the specification are inadequate for building multi-user systems to dynamically writing VRML. As the authors observe, VRML was intentionally designed without support for such features as decision logic, user-defined types, flexible data management, and file I/O. The idea was to create a scene description language the capabilities of which could be augmented using scripting languages such as Java. Given the authors' areas of expertise, you would expect them to discuss these aforementioned features in detail, and they do. If there were not so much enticing code to try out, the book would make a decent read in itself. Clear language, plenty of charts showing the flow of events in and out of the various fields, plus occasional screenshots make it easy to get the logic in the can.

One laudable thing the authors of this book did that I have not seen in other VRML 2.0 books so far, is devote an entire chapter to techniques which improve the efficiency of VRML worlds, regardless of whether or not they include Java. Also, the authors provide brief descriptions of the proposals that competed to become VRML 2.0, and explain how the specification evolved into its present incarnation. The concluding chapter talks about the future of VRML and provides background on topics such as external authoring interfaces and scripting languages, which appear in vrml mailing list discussions. While it hardly teaches enough to begin participating in the Java/VRML rows, with this book, neophytes will at least learn enough to keep to the bread trail. It's not "Barney Presents Computer Fun," but it's easier than Prospero's Books.

The CD-ROM also includes the 1.02 Java SDK, Community Place, and extensive HTML tutorials on how to use and design worlds for it. Not surprisingly, the examples on the CD perform well in it. But, in a test, CosmoPlayer choked on some of the very same files. Even if authors choose neither to provide files for multiple browsers, nor to make their files work cross-platform, I think they ought least inform their readers that they are aware glitches may occur. Along the same vein, considering how few VRML-related books there are, I do not understand why Appendix C includes only one VRML 2.0 book in its list of recommended reading. Yet, they include URLs to other sites and to the competing proposals. It seems to me that it is in everyone's interest to make it as simple and attractive as possible to learn and begin producing VRML.

The Annotated VRML 2.0 Reference Manual

The Annotated VRML 2.0 Reference Manual sets out to become the VRML 2.0 manual sine qua non, and it comes close. As of press time, this book's projected release date was the beginning of May. Considering the discussion on the www-vrml list of specification revisions to be released soon, it seems strange to be so close to finishing the publication of a book which perhaps could be even more timely if production were held off just a bit longer. In any event, Rikk Carey and Gavin Bell are two of the principle architects who wrote the VRML 2.0 specification, so it makes sense they would write the specification's Cliff Notes, too.

Handle this book gently, because whether a new user or an experienced world builder, you are going to thumb through its pages constantly in search of answers. The all-around usefulness of this book sets it apart - something like a VRML Leatherman. This is a book for the hard-core VRML adventurer, or someone who wants to become one. Chapter Two, for example, descriptively entitled "Key Concepts," is best attacked first by the technically well-accoutered. What the section on "Node References" does not explain, Chapter Two does. Here the authors cover anything related to the "definition and use" of the Specification. This is not really the kind of book with which to relax over a decaf double latte. This is a book to use. But I have to admit; it's dry. Martini extra dry.

In Chapter Three the authors detail in alphabetical order, every node in the specification, each accompanied by examples in the form of whole VRML 2.0 files. Each one moves from simple examples of how to use a given node to advanced ones. Consequently, the book gives readers a huge library of pre-written VRML bricks with which to engineer their own, more complex worlds. If the .wrls prove insufficient to get a reader started, Appendix B contains more examples to prove how easy it can be to construct interesting, dynamic worlds. According to the publisher, most of these examples should appear on the CD-ROM.

While the true audience for this book is highly experienced and technically acute, this book should be a wonderful resource for world builders of all levels. Even people who want to author their own browsers will find what they need explained in detail. Chapter Three's node descriptions also contain pointers to the appropriate sections in Chapter Two where the discussion is more technical. The authors point out sensitive issues, include design notes, tips and give the history behind some of the nodes, as well. Although Chapter Two can, of course, be read straight through, it seems that it would be more appropriate to start with Chapter Three, since one points to the other.

Appendix C and D are respectively, a Java Scripting Reference and a JavaScript Scripting Reference. They both use the same style of Chapter Two. They include includes which are just as effective, and the commentary is equally precise. In a Design Note, the authors comment that the appendix was initially spearheaded by Chris Marrin, and enhanced and evolved by Kouichi Matsuda, Hiroyuki Sugino, Ben Wing and others.

As a final note, I must say I appreciate that the authors provide and explain both Java and Javascript scripting information in the text of the book. While Javascript is less powerful, as they observe, some users will choose it over Java. And, it is much easier to refer to the book, rather than having to look things up on a CD-ROM.

As stated, the chapter on "Conformance & Minimum Support Requirements" targets browser authors. It specifies the smallest set of features that all VRML applications must support. It is just as important for content authors, however since content providers need to understand which features may be peculiar to their favorite browsers. Then, they can choose whether or not they want to provide alternative versions. Better sites lead to more users, and a strengthened VRML industry. And that should make everyone - browser authors, content providers, and users happy.

Tiby Kantrowitz (tiby@opus1.com)is the writer/director of Brave New Films' _Not_It_, shown in the 1995 International Arizona Film Festival and at (not in) the 1996 Sundance Film Festival. After the fall of the USSR and the end of the Cold War made her research position redundant, the search for professional stability led Tiby to the independent film industry. Currently, she is producing an interactive multimedia comic book incorporating 3d animation and VRML.

Back Contents Next
LinkExchange Member

Have you tried out our new Discussion Area yet?

Need sponsorship or advertiser information? E-mail adrian@aereal.com.

Have an idea for an article? Thought of a way we can improve VRMLSite? E-mail suggest@vrmlsite.com.

Please Tell a Friend about VRMLSite!

© 1997 Aereal, Inc. All rights reserved. VRMLSite is a trademark of Aereal Inc.