How We’re Making it Happen
From the technology point of view, we are working fast and publishing in the open. It took only a few weeks to publish an initial draft of the WebVR API and implement it in experimental builds of Firefox Desktop. The initial work focused on getting orientation sensor input, and abstracting away the device-specific rendering. We decided to focus on enabling WebGL content initially, even though we believe that HTML/CSS content is going to be where the really exciting blending will happen with the Web.
Once we had the initial WebVR+WebGL support, Web developers wrote libraries for the popular Three.js WebGL framework that abstracted communication with the new API, and easy-to-use boilerplate examples popped up that made it easy to create a WebVR site in minutes. All of this activity took place in the open, on mailing lists, GitHub, blog posts and Twitter. We’re also actively collaborating with Brandon Jones, who’s working on implementing WebVR in Chrome. We’re both working from the same draft specification, making sure that WebVR evolves as a multi-browser specification.
From a user experience point of view, the team has been prototyping heavily and building new tools. Creating interactive user experiences for three dimensions is much more complex than two, and Web 3D is relatively young, so we have had to create many of our tools and processes from scratch. We have then used these to develop ‘Hiro‘, a prototype pure VR browsing experience that enables developers to browse from site to site seamlessly in VR, without taking their headsets off. Hiro presents the ‘browser’ as a heads up display that appears and disappears at the user’s command, with movement between sites rendered as teleportation between worlds. The team is currently prototyping new interactions such as navigating via URLs, parsing browsing history, selecting links, etc.
We aim to have support for the WebVR API shipping with our release channel builds of Firefox Desktop by end of this year.
Exciting Challenges Ahead
It is both exciting and enormously challenging to be working in a brand new field. Analogies to being “first ones into the jungle” or in “frontier towns” feel about right. Virtual reality is a radical break from desktop and mobile computing paradigms, challenging us to design for three dimensional space, new input devices, immersive audio, demanding performance requirements, etc. And the industry is still rapidly evolving, with exciting new entrants like the Vive appearing and fundamental platform questions unanswered (e.g. what will be the control scheme for the Oculus Rift?).
The excitement comes in the knowledge that this may be a key piece of the future of computing, and in the giddiness of designing for true 3D space. We are reinventing the Web as a series of realistic worlds that we can step inside, and identifying new jobs-to-be-done that the traditional Web was incapable of. The creative potential is limitless. And bringing the most popular platform in the history of the world into this medium is a once in a lifetime opportunity that we relish.
You can follow Mozilla’s VR research over at MozVR, where the team highlights WebVR projects and shares insightful resources for WebVR design. If you have an Oculus Rift, you can explore WebVR content today.