WebXR

Last updated
WebXR
WebXR Device API
AbbreviationWebXR
Status
  • Candidate Recommendation (CR)
    • Device API
    • Augmented Reality Module
  • Working Draft (WD)
    • Layers API
    • Hand Input Module
    • Gamepads Module
  • First Public Working Draft (FPWD)
    • Lighting Estimation API
    • Hit Test Module
    • DOM Overlays Module
    • Depth Sensing Module
  • Editor's Draft (ED)
    • Anchors Module
Organization W3C
Committee
  • Immersive Web Community Group
  • Immersive Web Working Group
Editors
  • Rik Cabanier
  • Manish Goregaokar
  • Brandon Jones
  • Nell Waliczek
Base standards
Domain
Website immersive-web.github.io

WebXR Device API is a Web application programming interface (API) [1] [2] that describes support for accessing augmented reality and virtual reality devices, such as the HTC Vive, Oculus Rift, Meta Quest, Google Cardboard, HoloLens, Apple Vision Pro, Magic Leap or Open Source Virtual Reality (OSVR), in a web browser. [3] [4] The WebXR Device API and related APIs [5] are standards defined by W3C groups, the Immersive Web Community Group [6] and Immersive Web Working Group. [7] [8] While the Community Group works on the proposals in the incubation period, the Working Group defines the final web specifications to be implemented by the browsers. [9] [10] [11]

Contents

WebVR was an experimental Web API that was only capable of representing virtual reality and was superseded by WebXR. [12] [13] [14]

History

WebVR API was first conceived in spring 2014 by Vladimir Vukićević from Mozilla. The API's contributors include Brandon Jones(Google), Boris Smus and others from the Mozilla team. [15] On March 1, 2016, the Mozilla VR team and the Google Chrome team announced the version 1.0 release of the WebVR API proposal. The resulting API refactoring brought many improvements to WebVR. [16]

The latest WebXR Device API Working Draft was last published in February 2022. [4] The editors of the specification currently are from Google and Meta. Other members from Mozilla, Microsoft, Samsung Electronics and Apple, as well as various startups and invited experts have input in the future of the specification. [17] All of the discussions of the specifications are public on GitHub. [18]

Notable updates include enhanced AR capabilities, improved performance, and broader device support. [19] The ongoing efforts focus on standardizing and advancing the WebXR API, providing developers with the necessary tools and resources to create immersive web experiences. [20]

In 2018, the WebXR Device API superseded WebVR, being designed for both augmented reality, virtual reality devices and the possible future realities and devices. [12] [13] [21] WebVR was implemented in Firefox and Chromium-based browsers before being deprecated and removed. On September 24, 2018, the Immersive Web Working Group became official. [22]

Design

The WebXR Device API exposes a few new interfaces (such as XRView, [21] XRPose [23] ) that allow web applications to present content in virtual reality and augmented reality, by using WebGL with the necessary camera settings and device interactions (such as controllers or point of view).

Support

WebXR Device API [24] (Candidate Recommendation Draft) is currently supported in the stable versions of Edge and Chrome 79+, Chrome for Android 79+, Opera 66+, Opera Mobile 64+, Samsung Internet 12+, and Oculus Browser. [25] [26] WebXR is supported in Safari for visionOS on the Apple Vision Pro mixed reality headset. [27]

Similar technologies

Although WebXR is unique as an API, it has similarities to native APIs in the same space such as OpenXR, ARCore, and ARKit.

See also

Related Research Articles

A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages.

<span class="mw-page-title-main">HTML5</span> Fifth and previous version of HyperText Markup Language

HTML5 is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML Living Standard. It is maintained by the Web Hypertext Application Technology Working Group (WHATWG), a consortium of the major browser vendors.

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

Web storage, sometimes known as DOM storage, is a standard JavaScript API provided by web browsers. It enables websites to store persistent data on users' devices similar to cookies, but with much larger capacity and no information sent in HTTP headers. There are two main web storage types: local storage and session storage, behaving similarly to persistent cookies and session cookies respectively. Web Storage is standardized by the World Wide Web Consortium (W3C) and WHATWG, and is supported by all major browsers.

The W3C Geolocation API is an effort by the World Wide Web Consortium (W3C) to standardize an interface to retrieve the geographical location information for a client-side device. It defines a set of objects, ECMAScript standard compliant, that executing in the client application give the client's device location through the consulting of Location Information Servers, which are transparent for the application programming interface (API). The most common sources of location information are IP address, Wi-Fi and Bluetooth MAC address, radio-frequency identification (RFID), Wi-Fi connection location, or device Global Positioning System (GPS) and GSM/CDMA cell IDs. The location is returned with a given accuracy depending on the best location information source available.

The Indexed Database API is a JavaScript application programming interface (API) provided by web browsers for managing a NoSQL database of objects. It is a standard maintained by the World Wide Web Consortium (W3C).

Cross-origin resource sharing (CORS) is a mechanism to safely bypass the same-origin policy, that is, it allows a web page to access restricted resources from a server on a domain different than the domain that served the web page.

Web SQL Database is a deprecated web browser API specification for storing data in databases that can be queried using SQL variant. The technology was only ever implemented in Blink-based browsers like Google Chrome and the new Microsoft Edge, and WebKit-based browsers like Safari. As of February 2024, WebSQL is being phased out in favor of WebStorage and IndexedDB and OPFS, but still available in some contexts under restrictive conditions.

WebRTC is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and streaming to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.

HTML audio is a subject of the HTML specification, incorporating audio input, playback, and synthesis, as well as speech to text, all in the browser.

Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.

WebAR, previously known as the Augmented Web, is a web technology that allows for augmented reality functionality within a web browser. It is a combination of HTML, Web Audio, WebGL, and WebRTC. From 2020s more known as web-based Augmented Reality or WebAR, which is about the use of augmented reality elements in browsers.

Web Components are a set of features that provide a standard component model for the web allowing for encapsulation and interoperability of individual HTML elements. Web Components are a popular approach when building microfrontends.

<span class="mw-page-title-main">WebAssembly</span> Cross-platform assembly language and bytecode designed for execution in web browsers

WebAssembly (Wasm) defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating communication between such programs and their host environment.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of web app that can be installed on a device as a standalone application. PWAs are installed using the offline cache of the device's web browser.

<span class="mw-page-title-main">WebGPU</span> Web standard and API

WebGPU is a JavaScript API provided by a web browser that enables webpage scripts to efficiently utilize a device's graphics processing unit (GPU). This is achieved with the underlying Vulkan, Metal, or Direct3D 12 system APIs. On relevant devices, WebGPU is intended to supersede the older WebGL standard.

OpenXR is an open-source, royalty-free standard for access to virtual reality and augmented reality platforms and devices. It is developed by a working group managed by the Khronos Group consortium. OpenXR was announced by the Khronos Group on February 27, 2017, during GDC 2017. A provisional version of the standard was released on March 18, 2019, to enable developers and implementers to provide feedback on it. On July 29, 2019, OpenXR 1.0 was released to the public by Khronos Group at SIGGRAPH 2019 and on April 15, 2024, OpenXR 1.1 was released by Khronos.

<span class="mw-page-title-main">David Baron (computer scientist)</span> American computer scientist

David Baron is an American computer scientist, web browser engineer, open web standards author, technology speaker, and open source contributor. He has written and edits several CSS web standards specifications including CSS Color Module Level 3, CSS Conditional Rules, and several working drafts. He started working on Mozilla in 1998, and was employed by Mozilla in 2003 to help develop and evolve the Gecko rendering engine, eventually as a Distinguished Engineer in 2013. He was Mozilla’s representative on the WHATWG Steering Group from 2017-2020. He has served on the W3C Technical Architecture Group (TAG) continuously since being elected in 2015 and re-elected subsequently, most recently in 2020. In 2021 he joined Google to work on Google Chrome.

Meta Horizon OS, previously known informally as Meta Quest Platform or Meta Quest OS, is an extended reality operating system for the Meta Quest line of devices released by Meta Platforms. Initially developed for the embedded operating system on the Oculus Rift and Oculus Rift S, the platform has been based on the Android operating system since the release of the Oculus Go in 2018. It first supported augmented reality via grayscale camera passthrough upon the release of the Oculus Quest in 2019, and has supported color passthrough since the release of the Meta Quest Pro in 2022.

References

  1. "Web APIs | MDN". developer.mozilla.org. Retrieved 2022-03-01.
  2. "Why You Should Be Paying Attention to WebXR". CrossComm. Retrieved 2022-03-01.
  3. "Fundamentals of WebXR". MDN Web Docs . Retrieved 22 December 2021.
  4. 1 2 "WebXR Device API". www.w3.org. Retrieved 2022-03-01.
  5. "The Immersive Web Working Group/Community Group". immersive-web.github.io. Retrieved 2022-03-01.
  6. "Immersive Web Community Group". www.w3.org. 22 March 2017. Retrieved 2022-03-01.
  7. "Immersive Web Working Group". www.w3.org. Retrieved 2022-03-01.
  8. "WebXR Device API - Web APIs | MDN". developer.mozilla.org. Retrieved 2022-03-01.
  9. Immersive Web Community Group Proposals Repo, Immersive Web at W3C, 2022-02-21, retrieved 2022-03-01
  10. "Community and Business Group Process | Community and Business Groups". www.w3.org. Retrieved 2022-03-01.
  11. "Standards/Participating in a W3C Working Group - MozillaWiki". wiki.mozilla.org. Retrieved 2022-03-01.
  12. 1 2 Vrignaud, Andre (October 20, 2017). "Bringing Mixed Reality to the Web – The Mozilla Blog". The Mozilla Blog. Retrieved December 23, 2021.
  13. 1 2 Medley, Joseph (May 2018). "Welcome to the immersive web". Google Developers. Retrieved December 23, 2021.
  14. "WebVR API". MDN Web Docs . Retrieved 2015-11-04.
  15. "WebVR Deprecated Specification". W3C webvr. 2022-02-28.
  16. Yee, Casey (March 1, 2016). "Introducing the WebVR 1.0 API Proposal". Mozilla Hacks. Retrieved 2021-12-23.
  17. "Immersive Web Working Group - Participants". www.w3.org. Retrieved 2022-03-01.
  18. "Immersive Web at W3C". GitHub. Retrieved 2022-03-01.
  19. "WebXR GitHub repository". github.com. Retrieved 2024-08-02.
  20. "W3C WebXR Device API". w3.org. Retrieved 2024-08-02.
  21. 1 2 "WebXR Device API". immersive-web.github.io. Retrieved 2022-03-01.
  22. "Immersive Web Working Group Charter" . Retrieved December 23, 2021.
  23. "WebXR Device API". immersive-web.github.io. Retrieved 2022-03-01.
  24. "WebXR Device API". W3C . Retrieved 2024-02-17.
  25. ""webxr" | Can I use... Support tables for HTML5, CSS3, etc". caniuse.com. Retrieved 2022-03-01.
  26. "Introduction to Oculus Browser | Oculus Developers". developer.oculus.com. Retrieved 2022-03-01.
  27. "Meet Safari for spatial computing". developer.apple.com. Retrieved 2024-02-17.