Related Standards

Here is an overview of the key standards that are enabling the Augmented Web.  The standards listed on this page are capable of running inside some version of a standard web browser from one of the mainstream web browser vendors today.

Geolocation
The W3C Geolocation Working Group publishes the Geolocation API which “defines an API that provides scripted access to geographical location information associated with the hosting device” (e.g. mobile phone).  The Geolocation API is now widely supported by almost all mainstream desktop and mobile browsers.

Device Orientation
The W3C Geolocation Working Group also publishes the Device Orientation API that “provides information about the physical orientation of a hosting device“.  The Device Orientation API is now widely supported by almost all the mainstream mobile browsers.

Device Motion
The W3C Geolocation Working Group also publishes the Device Motion API that “provides information about the physical motion of a hosting device“.  The Device Orientation API is now widely supported by almost all the mainstream mobile browsers.

Canvas Element
Section 4.8.10 of the HTML5 specification introduced the Canvas Element which “provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, or other visual images on the fly“.  The Canvas Element is now almost universally supported by both desktop and mobile browsers.

WebGL
The Khronos Group publishes the WebGL specification which “is a cross-platform, royalty-free web standard for a low-level 3D graphics API based on OpenGL ES 2.0, exposed through the HTML5 Canvas element as Document Object Model interfaces“.  WebGL is almost universally supported by desktop browsers with growing support on mobile browsers.

X3D Graphics
The non-profit Web3D Consortium produces Extensible 3D (X3D) Graphics, the international standard for real-time 3D communication on the Web.  “The X3D Working Group is considering and consolidating multiple proposals to add AR extensions to X3D.  The AR Roadmap for X3D is expected to be further harmonized with the fundamentally important work of X3DOM, the Declarative 3D Community Group, and ISO SC 24 Working Group 9 efforts to support an Augmented Reality Continuum Reference Model (ARRM).  The Web3D Consortium is also collaborating on this with the OGCKhronos Group and ARStandards.org.

Web Workers
The W3C Web Application Working Group publishes the Web Worker API which “allows Web application authors to spawn background workers running scripts in parallel to their main page. This allows for thread-like operation with message-passing as the coordination mechanism“.  Web Workers are now very widely supported across both desktop and mobile browsers.

Web Sockets
The W3C Web Application Working Group publishes the Web Socket API which “enables Web pages to use the WebSocket protocol (defined by the IETF) for two-way communication with a remote host“.  Web Sockets are now very widely supported across both desktop and mobile browsers.

Audio Element
The W3C Audio Working Group publishes the Audio Element which “represents a sound or an audio stream“.  It was introduced in section 4.8.7 of the HTML5 specification.  The Audio Element is now almost universally supported by both desktop and mobile browsers.

Video Element
Section 4.8.6 of the HTML5 specification introduced the Video Element which “is used for playing videos or movie“.  The Video Element is now almost universally supported by both desktop and mobile browsers.

Web Audio
The W3C Audio Working Group publishes the Web Audio API which is a “high-level JavaScript API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering. The actual processing will primarily take place in the underlying implementation (typically optimized Assembly / C / C++ code), but direct JavaScript processing and synthesis is also supported“.

Typed Arrays
The Khronos Group publishes the Type Array API which provides “interoperability with native binary data. It defines a generic fixed-length buffer type, as well as accessor types that allow access to the data stored within the buffers“.  Typed Arrays can now be used in a wide range of contexts and have become the universal binary container within the web platform.  Typed Arrays are now very widely supported across both desktop and mobile browsers.

Media Capture and Streams (formerly known as getUserMedia)
The W3C WebRTC Working Group and Device APIs Working Group working together as the Media Capture Task Force jointly publish the Media Capture and Streams API which “defines a set of JavaScript APIs that allow local media, including audio and video, to be requested from a platform“.  Media Capture and Streams has good support in leading edge desktop and mobile web browsers.

WebRTC
The W3C WebRTC Working Group publishes the WebRTC specification which defines a “set of ECMAScript APIs in WebIDL to allow media to be sent over the network to another browser or device implementing the appropriate set of real-time protocols, and media to be received from another browser or device“.  WebRTC is not yet mainstream but is very quickly gaining broad support.  In fact Ericsson have already released a WebRTC Mobile Browser you can download right now.

NOTES:

  • If you are interested in a broader set of Augmented Reality standards then please view the ARStandards.org list.
  • You may also be interested in the OGC’s ARML2 proposal.  It currently does not have any public web or AR browser based implementations but here is a link to a post about a prototype.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Before you comment here, note that this forum is moderated and your IP address is sent to Akismet, the plugin we use to mitigate spam comments.