This October, we delivered meetup talks on WebVR in London and Phoenix on the same day to share our early efforts in exploring WebVR with TypeScript, Dojo 2, Intern, and A-Frame.

What is WebVR?

WebVR is an experimental JavaScript API that provides access to Virtual Reality (VR) devices, such as the Oculus Rift, HTC Vive, Samsung Gear VR, and Google Cardboard. These VR devices are used with your web browser. Native browser support is currently limited to experimental releases of Chrome, Firefox, and Samsung Internet Browser for Gear VR. You can also try it using shims that add support to today’s browsers. WebVR is not another graphics rendering engine, but instead adds APIs that support rendering VR scenes with WebGL in the web browser’s Canvas.

The Mozilla mozvr team is focusing on bringing high-performance VR to the open web. Their A-Frame project is an impressive effort to provide building blocks for VR with an easy-to-use and understood framework. It allows web developers to use familiar concepts like HTML markup and DOM manipulation to create VR experiences that work across desktop, iOS, Android, the Oculus Rift, and the HTC Vive. This is done by wrapping a canvas implementation with non-rendered web components to allow developers to easily introspect the state of an A-Frame object. While WebVR is in its early stages, it is progressing rapidly to make the web a viable platform for providing VR experiences.

Our interest in WebVR

VR has the potential to allow us to explore digital realms in a new way that we haven’t seen since the early web provided us a window to the world. While a website can inform or interact with people, VR has the potential to share a space and an experience. We are interested in seeing how this can add to the web as more devices like the Vive and Google’s Daydream View give us additional ways to interact in 3D spaces.

Currently, WebVR is something that the SitePen team is using for experimentation. As part of our ongoing efforts to create better web architecture solutions, we quickly discovered that A-Frame did not yet have TypeScript typings. In response, we created A-Frame TypeScript typings with an API that has many options and settings as WebVR, includes intelligent code completion, and avoids obvious mistakes, hugely benefiting those creating WebVR examples. SitePen also created an initial TypeScript, Dojo 2 and A-Frame boilerplate.


Members of the SitePen team help organize numerous meetups in their local area. We decided it would be fun to share what we’ve learned to date about WebVR at London Ajax and Phoenix TypeScript this month. In London, several members of the Samsung team attended and shared some of their WebVR experiences. At both events, SitePen provided three VR Box and three EightOnes VR cardboard kits, allowing attendees to test our experiments using their mobile phones. We then gave these devices away as prizes to the attendees.

While it is still very early in the WebVR days, we’ve rarely seen developer groups so excited about a new technology. We expect the adoption of WebVR in the consumer and enterprise spaces to take off significantly over the next few years. For consumers, beyond games, the obvious candidates are shopping and communication. For the enterprise space, we see data visualization and conference calls being early candidates for adopting this technology.