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.
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.
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.
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.
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.
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.
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 OGC, Khronos Group and ARStandards.org.”
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.
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.
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.
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.
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 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.