Web3D RoundUp:†Looking Backwards and Forwards

Vol.34 No.2 May 2000
ACM SIGGRAPH

3D Visualization Development at NOAA Forecast Systems Laboratory

Aaron E. WalshMantis Development

Figure 1:†Universal Media is a standard suite of professional media elements (textures, sounds, 3D objects and dynamic media filters) that resides on the end userís local system, bypassing entirely the need for network downloads. These media-rich, multi-megabyte VRML worlds load in seconds, even over slow dial-up modem connections, and are 100 percent backwards compatible with any standard†VRML browser.†The system is entirely transparent to the end user.
Figure 2: Because Universal Media instantly delivers multi-megabyte media-rich worlds over dial-up connections, Universal Media Working Group Chairman and dead man walking Aaron E. Walsh had the luxury of meditating for two out of his three minutes of allotted demonstration time. Repeated rumors that heíll appear on stage with the surviving members of Led Zeppelin to rock the SIGGRAPH 2000 Web3D RoundUP have been denied. (Photo courtesy of Sandy Ressler, Focus on Web3D Guide, http://web3d.about.com/).

Overview

Universal Media is a Web3D consortium working group solution that increases the realism of on-line Web3D worlds (VRML, Java 3D and other on-line 3D technologies). It also decreases network downloads by defining a small, cross-platform library of locally resident media elements (textures, sounds, 3D objects and filters) and a uniform resource name (URN) mechanism by which Web3D content creators can incorporate these media elements into their worlds. Universal Media allows content authors to create media-rich worlds that can be instantly loaded over even the slowest dial-up modem Internet connections. Fully compatible with standard VRML browsers, Universal Media conforms to the VRML97 specification, allowing media-rich worlds to load 20 to 50 times faster on average without deviating from industry standards.

Because Universal Media is stored on the userís hard drive (or other local storage), content authors can use Universal Media just as they do local resources, without concern for downloading each media element over a network connection. This simple but powerful concept allows multi-megabyte, media-rich worlds such as the one illustrated in Figure 1 to load almost instantly over even the slowest network connections.

In this respect, Universal Media can be thought of as a locally resident suite of 3D media primitives, or media building blocks, that enable Web3D content developers to construct realistic looking and sounding worlds without the penalty of network transfers typically associated with media-rich worlds. And, since the media elements that ultimately make up the Universal Media library are expected to be of extremely high quality, Web3D content developers will be able to build compelling worlds in considerably less time and at an overall lower cost than if they were to create such media themselves.

Specifically, the Web3D Consortiumís Universal Media Working Group (www.web3d.org/WorkingGroups/media/mirrored at www.web3dmedia.com/) is defining cross-platform media libraries comprised of textures, sounds and 3D objects that reside on the client (end-user) computer systems. In addition, the Universal Media Working Group is defining a standard media filter mechanism that allows such content to be dynamically transformed using predefined, yet customizable, filters (a morph filter might dynamically morph the geometry of a 3D cat object into a lion, for example, while a ripple filter might animate a grass texture so that it appears to ripple in the wind).

Universal Media is distributed freely through the Web3D Consortium. At the time of this writing, version 1.0 of the Textures library (Textures 1.0) has been released, while sounds and 3D objects are scheduled for release in mid-2000. Universal Media filters are currently under development, and the first library of pre-made filters is expected to ship in late 2000.

Rocking the Web3D RoundUP

As best performance winner at the Web3D RoundUP (Web3D/VRML 2000 Symposia), Universal Media is clearly up to the challenge of delivering a rock solid performance even in extremely hostile environments. With over 20 media-rich VRML worlds to present in only three minutes (a barbaric condition that merits congressional intervention), the Universal Media path to success was clear: meditation.

Facing certain death-by-ping-pong-balls, Universal Media Working Group Chairman Aaron E. Walsh spent the first two of his three allotted demonstration minutes meditating cross-legged at center stage while a giant four-wicked candle burned in his lap (Figure 2). Baffled aggressors were unwittingly subdued by the tranquility of the scene, and the once bubbling room of meat eaters settled into calm and silence. As his meditation unfolded, Aaronís private and personal internal dialog played aloud while his subconscious thoughts flashed on the jumbo screens behind him for all to see...

"Relaaaaax... thereís no need to be afraid... youíre among friends here," his calm inner voice filled the room, only to be undermined by the on-screen reality check "Who are you kidding? These people are animals; they can smell fear! Youíre as good as dead. Who in Godís name set the time limit to three minutes?!" Editorís Note: Timothy did. No, Don did. Naah, so what, it seems like an eternity anyway!

As the seconds ticked by, the mediation quickly turned into a self-assuring mantra that escalated into a pre-show rock chant:

With less than a minute to spare this dead man walking burst from his meditation chair, bolted across the stage to his slot in the beheading queue while Queenís We Will Rock You anthem blared at full volume, and gave a blistering media-rich VRML demonstration that would have taken hours to download over the Internet if it werenít for Universal Media. Cow bells were silenced as he emerged 60 seconds later, greeted by a hail of adrenaline induced ping-pong-ball fire and wild cheers from the same crowd that voted this the best performance of the Web3D RoundUP. The nVidia GeFORCE 256 video card that he won for the suffering has gone a long way towards healing the quarter-inch wounds inflicted by the blood-thirsty Web3D RoundUP crowd, while the smell of victory is rumored to be tempting his meditative spirit once again as SIGGRAPH 2000 in New Orleans draws near.

Transparent to End Users

End users can tap into the full power of Universal Media seamlessly assuming they are using a "Universal Media savvy" Web3D content viewer such as the freely available blaxxun Contact VRML browser (www.blaxxun.com/), while those without such a product will simply have to wait while the media is downloaded over the web. In any case, the system is entirely transparent to the end user; they donít have to do anything special to view Universal Media content.

Version 4.3 of blaxxun Contact, for example, understands how to deal with Universal Media URNs, and as a result will instantly load Universal Media from the userís local hard drive rather than attempt to download it from the web. Contact 4.3 will also incrementally install Universal Media elements as it comes upon references to them in VRML worlds, eliminating entirely the need for a stand-alone Universal Media installer. VRML browsers that donít understand how to deal with Universal Media, on the other hand, simply download the media from the web as usual (see the following "How It Works" for details).

Because Universal Media is 100 percent backwards compatible with all standard VRML browsers, content authors can harness the power of this dynamic media system without concern for end user configurations. Even in cases where an end user does not have a Universal Media savvy product such as blaxxun Contact, they will still be able to see Universal Media content (although the content will take longer to download from the web than it would if fetched from the local hard drive, just as it does with any traditional Web3D content). As such, all Web3D users can appreciate the professional quality textures, sounds and 3D objects found in the library without concern; the system is completely transparent to the end user.

How It Works

Content developers can incorporate Universal Media into their worlds using a visual authoring tool (such as Spazz3D version 2.0 or higher; www.spazz3d.com/), or manually. In either case, all thatís needed is a simple Uniform Resource Name (URN), which can be followed by one or more optional "fallback" Uniform Resource Locators (URL) in cases where authors desire scalable and highly available Web3D worlds (up to nine optional "fallback" URLs can be provided in cases where massively scalability and high availability is desired; such URLs point to official Universal Media mirror sites as described at the Universal Media home page). URNs are a sibling to the more commonly used URL, both of which are standard mechanisms for referencing web content (visit the Universal Media home page for details; see "Resources" below).

By referencing Universal Media with URLs in addition to the required URN, authors can ensure that their worlds are viewable by all specification-compliant browsers (while simultaneously gaining massive scalability, as media can be fetched from a number of mirror sites as explained below). Browsers that understand how to handle the Universal Media URN will fetch the media element from the userís hard drive (or CD-ROM, DVD, etc.), bypassing the network entirely. If a media element canít be found locally, or if the browser doesnít support URNs, the fallback URL will be used.

Figure 3:†Browsers that understand Universal Media will fetch media elements (such as this texture) from the userís hard drive, while those that do not simply fetch them from the web as usual.

A Simple Example: URN and Fallback URL

The following VRML ImageTexture node specifies a Universal Media texture element using a URN and a single fallback URL. Browsers that understand the URN, such as blaxxun Contact (version 4.3 or higher), will fetch the texture (seen in Figure 3) from the userís hard drive. If the texture is unavailable, or the browser doesnít understand URNs, the fallback URL will be used instead:

All Universal Media URNs begin with "urn:web3d:media:", which is, in essence, a variable that is dynamically mapped at runtime to the folder on the userís hard drive that contains Universal Media textures, sounds and 3D objects. In other words, at runtime the VRML browser converts the name "urn:web3d:media:" into an actual folder path where the media elements can be found. This is necessary because Universal Media is a cross-platform system, and so hard-coded references to media are not practical or even possible: every end user configuration offers a potentially unique path leading to Universal Media, which the browser must resolve at runtime. URNs solve this problem, as explained in the Universal Media Working Groupís "VRML, URNs, and Universal Media" Recommended Practice document (visit the Universal Media home page to learn more about URNs).

Although browser and tool vendors will find the "VRML, URNs, and Universal Media" Recommended Practice essential to constructing a Universal-Media-savvy product, content authors only have to understand the basic principles described in this section. Namely:

†Universal Media elements are reference by a URN, which always begin with "urn:web3d:media:"

†Following the required URN, one or more optional fallback URLs may be specified

When a browser tries to resolve a URN, it will attempt to determine where a library is installed, looking for the file there. In order to do this, the browser must first find associated URN configuration information for an initial sub-string match (see "Browser and Tool Vendors: Implementation Details" below for details). For example, with the URN above the browser is typically looking for a place that all or parts of the library "urn:web3d:media:" is installed.

When the browser determines the location of the library, it will replace the initial substring of the URN with the actual location of the library, and find the specified file relative to that location. For instance, if the browser determines that the library "urn:web3d:media:" is installed at "C:\Program Files\UniversalMedia" it will then look for the file above at "C:\Program Files\UniversalMedia\textures\nature\grass_1.jpg". If this fails, the browser will then try to resolve the first fallback URL it finds, continuing in this fashion until it is successful or exhausts all options.

Visit the Universal Media home page for more details and to learn how to create massively scalable and highly available Web3D content using this freely available system provided by the Web3D Consortium (see "Resources" below).

Note: Universal Media URNs are always lowercase. No uppercase characters are found in a valid Universal Media URN.

Figure 4: Every Universal Media element has a corresponding HTML documentation page, which includes sample VRML code (URN and fallback URLs) that the author can simply copy and paste into their own worlds. Universal Media elements and their associated documentation can be viewed locally, or on the web (see ďResourcesĒ for links).

Content Authors: Using Universal Media

Web3D content authors donít have to hand-code Universal Media URNs and fallback URLs unless they want to (but honestly, who would?). Instead, authors can use a Universal Media savvy authoring tool such as Spazz3D (see "Resources" later in this article for details). Alternately, content authors can simply copy a fully constructed VRML url field entry from the Universal Media documentation, and paste it into their world. As shown in Figure 4, each media element in the Universal Media system comes with an associated HTML documentation page, which describes the element in detail: dimensions, size (in bytes), copyright holder, keywords and other vital information. In addition, each page of documentation contains a fully scalable VRML url field (a URN and fallback URLs) that the content author can simply copy/paste into their own world.

Universal Media documentation can be browsed locally, on your hard drive (itís installed alongside the media elements). Alternately, you can browse this documentation on-line at any official Universal Media mirror site (visit the Universal Media home page for details).

Content authors can also browse the OfficeTowers.com mirror of Universal Media, which features a URN and fallback URL generation system that dynamically constructs a complete VRML url field for desired textures. The OfficeTowers.com mirror can be found at www.officetowers.com/UniversalMedia/, while the dynamic URN/URL generation system is available at www.officetowers.com/umel/.

Compared to Fonts

Universal Media is to Web3D worlds what fonts are to plain text documents: authors can greatly enhance their work with very little effort by using professionally developed elements designed to increase the appeal of their documents. Similar to fonts, Universal Media resides locally on end-user systems, eliminating the need for media to be distributed along with the 3D world. As a result, authors can incorporate any number of textures, sounds and 3D objects into their worlds without increasing the time it takes the world to download ó only the world definition itself (.wrl files) is sent over the wire, while media is retrieved from the userís local hard drive.

The Universal Media system works in a similar fashion to that of fonts. A library of standard, commonly used textures, sounds and 3D objects is installed on end user systems, allowing authors to reference any number of these elements in their worlds without concern for file sizes and download restrictions. Dynamic filters can be applied to media elements (such as animation, morph, pitch shift and so forth), enabling an infinite set of variations with a finite set of media elements.

Using Your Favorite Tools with Universal Media

Universal Media is new. As a result, chances are pretty high that your favorite Web3D authoring tool (or browser) does not yet support Universal Media. Because Universal Media is a freely available technology, for which open-source implementation code is available, the barriers to entry are low (vendors report that it takes only one or two days of development effort to add Universal Media support to an existing product).

Simply contact your tool or browser vendor and ask that they add support for Universal Media, and be sure to point them to the Web3D Consortiumís Universal Media Working Group site: www.web3d.org/WorkingGroups/media/

Hand-Coding Not Required

Content authors do not have to manually construct Universal Media URNs and fallback URLs (doing so is a tedious, error-prone process). See the "Content Authors: Using Universal Media" section for details.

This behavior is consistent with Annex F.2 URNs of the VRML97 Specification (ISO/IEC 14772). Annex F.2 URNs recommends a non-normative extension to VRML whereby browsers are required to skip over URNs in the event that they donít know how to handle them (i.e., graceful exit to a fallback URL, assuming one is specified). Following is a small excerpt from VRML97 Specification Annex F.2:

"URNs are location-independent pointers to a file or to different representations of the same content. In most ways, URNs can be used like URLs except that, when fetched, a smart browser should fetch them from the closest source. URN resolution over the Internet has not yet been standardized. However, URNs may be used now as persistent unique identifiers for referenced entities such as files, EXTERNPROTOs, and textures..."

The concept of Universal Media fallback URLs are also consistent with the VRML97 Specification, as specification compliant browsers are required to accommodate multiple URLs in all url fields. Up to 10 URLs may be specified in any VRML url field. Browsers are required to skip those URLs that can not resolved. The following excerpt is condensed from VRML97 Specification section 4.5.2, URLs:

"A URL (Uniform Resource Locator) specifies a file located on a particular server and accessed through a specified protocol (e.g., http). In ISO/IEC 14772, the upper-case term URL refers to a Uniform Resource Locator, while the italicized lower-case version url refers to a field which may contain URLs or in-line encoded data.

All url fields are of type MFString. The strings in these fields indicate multiple locations to search for data in decreasing order of preference. If the browser cannot locate or interpret the data specified by the first location, it shall try the second and subsequent locations in order until a URL containing interpretable data is encountered. If no interpretable URLs are located, the node type defines the resultant default behavior. The url field entries are delimited by double quotation marks..."

To learn more about URNs and URLs in relation to the VRML97 Specification visit the Web3D Consortium (www.web3d.org/).

Get Involved: Working Group Information

As a Web3D Consortium Working Group, the Universal Media Working Group is open to the general public. Our community is growing. Join one, or both, of our mailing lists and get involved! This information is also available online at www.web3d.org/WorkingGroups/media/

Mailing List Information

-†Universal Media Working Group mailing list address:

†media@web3d.org

Primarily for tool and browser vendors, the Universal Media list is where technical decisions regarding the system are made.

To subscribe to the Universal Media list, send an email message to majordomo@web3d.org with "subscribe media" as the message body.

-†Universal Media Content Review mailing list address:

†media-content@web3d.org

Primarily for Web3D content authors, the Universal Media Content Review list decides which textures, sounds and 3D objects are accepted into the library. Universal Media content development issues are also discussed here.

To subscribe to the Universal Media Content Review list, send an email message to majordomo@web3d.org with "subscribe media-content" as the message body.