WebVR expands to WebXR

Lots of news at the end of the year, as the original WebVR initiative moves to include Augmented Reality and Mixed Reality applications. Most notably, the various groups working with each other and W3C on WebVR have decided to rename it as WebXR to include this. The new spec will be based off of WebVR 2.0, while the old WebVR API will continue to work until deprecated.

Mozilla proposes combined WebXR standard for virtual and mixed reality in the browser

Mozilla Mixed Reality or WebXR


Draft proposal:


This builds on previous work using Ar.js, see WebXR.io

Mozilla has already released an iOS library (using ARKit) which allows experimenting with WebXR.



Mozilla has created an app using ARKit for iOS embodying the new standard.


NOTE: at present, the app is needed to do the test – no browser works with it (yet).

And here’s the download link for the WebXR Polyfill, which will work on the downloaded iOS app:


The WebXR is going to be a standard, and within a year we can expect all the browser manufacturers (except, ironically, Apple) to have WebXR working in their desktop and mobile versions.

Unlike Apple, Microsoft, like Mozilla has been pushing open standards for VR and AR on the web (Apple would like you to remain in closed native apps). A good example is the recent announcement of Simplygon, a cloud-based optimizing service for 3D models.


Now, this is really important for WebVR and AR sustainability. 3D models are very large, and a future VR / AR web will need massive optimization, even more than we do for images and libraries today. Optimization is a complex process, and this service moves things a bit closer to ordinary designers and developers creating 3D worlds, then optimizing them for “streaming VR” delivery.

Since we’re in a new world, time to re-think our use of libraries. Currently, WebVR is typically built with a combo of THREE.js + Aframe.io – a really monster glob of JavaScript. The new frameworks don’t require this massive code. It’s times to make new, compact JS. Not only is download of big libraries (esp. smooshed together by unthinking use of Webpack) but execution. In particular, low-end mobile devices are impacted very strongly by lots of execution code.


I wrote a sample library on my Github site = http://github.com/pindiespace/webvr-mini. Without any real attempt to optimize, I got the file size for all the WebGL + WebVR under 300k minified. There are LOTS of developers who could do better. So, as you begin to use these tools, consider how to make them sustainable for the web.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.