WWW2012 Workshop:
Tuesday, April 17th, 2012
Lyon, France

Declarative 3D for the Web Architecture

The Web evolved from a text‐based system to the current rich and interactive medium that supports images, 2D graphics, audio and video. These types of new media have made the Web experience richer, more attractive to users, etc, than ever before, and opened up possibilities for new types of applications and usage. The major media type that is still missing is 3D: synthetic, possibly photorealistic images in 3D with animation, as smoothly integrated in the everyday Web experience as images or video. Just as the appearance of images or video could open new application possibilities, access to the 3D on a Web site would make it possible to include realistic models of 3D objects (from models of buildings to representation of the human body or the sceneries for computer games). As of today, such applications require separate applications or the installation of browser plugins; however the goal would be to achieve the same smooth inclusion of 3D content in a Web page like we experience today with images or SVG based 2D graphics.

Although some of these goals could also be achieved by imperative means (e.g., through the usage of WebGL), developments of 3D models have a long tradition of using declarative approaches, which is also in line with some of the fundamental principles of Web development. It is therefore important to explore how the experiences accumulated in two different communities, namely the Web Development and Computer Graphics communities, can be capitalized upon to achieve the long term goal of using 3D on the Web the same way as we do with 2D graphics and video today.

The Declarative 3D for the Web Architecture W3C Community Group has been formed to create methods to add interactive high-level declarative 3D objects to the HTML-DOM, so users can easily create, share and experience interactive 3D graphics. The core mission of this Community Group is to determine the requirements, options, and use cases for the declarative integration of interactive 3D graphics capabilities into the Web technology stack which will provide a foundation for future standardization.

Declarative 3D is being developed to significantly lower the barrier for authoring 3D content for Web sites. It aims to lower the barrier by duplicating the key features that enabled the growth of the early Web:

  • No installation, configuration, or maintenance: Anyone could "join the Web" simply by putting an HTML file on a web server. Similarly with Declarative 3D, we envision people only need to put an HTML file on a standard web server and their audience immediately experiences that data through a rich browsing user interface.
  • Separation of structure from content: Underlying the Web from its earliest days was the separation of structure from content. The concept of a paragraph specified by the <p> tag was separate from the content in the paragraph. Declarative 3D is attempting to bring the same separation of structure from content to 3D graphics inside of web pages.
  • Separation of content from style: One of the principles of the current Web is also the separation of content and style, most notably through CSS. The successful integration of SVG with HTML was made much easier due to the fact that SVG was already following this principle.
  • A "simple as possible" user interface: 3D navigation techniques, even simple ones, can be very difficult to understand in the context of the Internet hypertext environment. We work on new ways for designing interactive 3D web applications that marry advantages of 3D experience with the advantages of narrative structure of hypertext.

We are absolutely aware that our goal is ambitious and it will take some time to implement these features. In the Declarative 3D for the Web Architecture W3C Community Group we direct our research at evaluating a new declarative way of incorporating 3D into the Web.

Why is the workshop topic important?

3D computer graphics has managed to find its way into the lives of all of us. Expressing information through 3D visualization is bringing huge benefits for a variety of applications ranging from video games (e.g., World of Warcraft) through the latest special effects in movies (e.g., Avatar), virtual environments (e.g., Second Life) to serious applications (e.g., engineering or medical visualizations, cultural heritage preservation). Computer graphics technology has reached the point where 3D models can be rendered, often in real time on commodity desktop and mobile devices, at a fidelity that is almost indistinguishable from the real thing. It should be possible to use 3D models rather than 2D images to represent various objects on the World Wide Web.

Enabling 3D graphics on the Web provides us with an opportunity to have experiences that would otherwise be impossible. For instance, it would allow a web user to enter digital recreations of places that are too dangerous to visit physically, or historical sites that no longer exist (e.g., Gardens of Babylon), or other interesting places that are simply inaccessible for an average Internet user. It would allow for architecture walkthroughs, simple product configuration, or even augmented reality experiences. It would open up countless other interesting application scenarios in various areas.

There are upcoming open (e.g. WebGL by Khronos) and proprietary (e.g. Molehill by Adobe) proposals for imperative graphics APIs in the Web context but we are missing an easy way to add interactive high-level declarative 3D objects to the HTML-DOM to allow anyone to easily create, share, and experience interactive 3D graphics – with possibly wide ranging effects similar to those caused by the broad availability of video on the Web. Moreover, the latest CSS3 3D Transforms allow to manipulate 2D objects in 3D space. With the advent of Filter Effects and CSS Shaders, complex and even programmable shading of HTML and SVG elements arrived in the browser. All these proposals use 3D techniques, are fundamental for 3D graphics and leverage 3D hardware for calculation. It now becomes apparent that an alignment with these efforts is needed in order to come to a consistent and comprehensive approach for the web architecture.