The Next Frontier for Web Development: AR
With the release of Pokemon GO, the already prevalent technology of augmented reality was brought forward to the public as the next frontier for gaming. Augmented reality, the technology that allows us to impose computer-generated images and 3D models into our view of the real world, has been used consistently previously in Snapchat as well as other mobile apps. Currently, the possible billion dollar industry, has been focused entirely around mobile devices but to limit this form of immersion to a mobile device would be a disservice to the unbelievable possibilities of this technology.
But to understand where we can and should take augmented reality, we must first discuss where it currently is in its current state. There’s currently two main forms of AR: location based and image based. Geo location based AR are more commonly seen as AR with games like Pokemon Go allowing you to render 3D models in certain locations. Meanwhile image based AR requires your camera to read an image it can render 3D images. While both these technologies have currently been limited to mobile cameras for the general public, transferring it to something similar to a VR headset isn’t impossible. In fact, it’s already been done.
“Virtual and augmented reality headsets and glasses will reach sales of 22 million units this year and will grow fivefold to 121 million in 2022, according to CCS Insight.” — Andrew Mcdonald¹
AR headsets are the key to the next level of immersion between AR and web development. Removing unnatural apparatuses like mouses, keyboards, and the like and replacing them with head/hand movement and speech would create an immersive experience once only imaginable by movies like Ghost in the Shell and the like.
Great, so now that we have a picture of what AR web development could be, how close are we to implementing it? We’re close but like I said, the industry is mainly focused on mobile. There exists APIs like AR.js and Mozilla’s WebXR, an experimental extension of their powerful WebVR API, that are designed to bring another level of immersion to web development. While AR.js is designed specifically for AR, XR refers to extended reality, meaning its being designed for all forms of image rendering “realities”. The “X” is intended to be a placeholder or variable to that can includes VR (virtual reality), AR (augmented reality), and MR (mixed reality, a combination of both VR and AR). The project is small but represents how close we are to using AR headsets to render images that would once be limited to a computer screen. With machine learning technologies combined, the possibilities are endless.
Let’s look at a small example from AR.js. Pull out your mobile device and open this link in your phone’s browser. It will ask you permission to allow the application to use your camera. Point your camera to the image below and you’ll witness a 3D model rendered onto your phone screen.
This is a taste of the future of web development. Interested? Below is a list of more resources to further explore the different alternate realities for web development:
Windows Dev Center for Mixed Reality