WebAR

There is a small feature included with iOS 11 that may prove to be as important for AR as the more widely promoted release of ARKit. Mobile Safari now supports WebRTC and is the last browser to fully adopt this spec. WebRTC is an open project that offers a standardized API to give browsers real-time communication capabilities. This is significant to AR because it means, finally, we have real-time access to the camera on all mobile browsers. One of the challenges with AR has always been the need to deliver that experience wrapped up in a native app. Now with Web AR it’s as simple as sharing a URL. In fact, it’s even easier than that. Another feature that was added to ios 11 was native camera support for QR codes. So here is a quick demo – Using almost any mobile phone, aim it at this marker and voila – AR on the web.

Of course, for all of my initial enthusiasm surrounding Web AR – it’s still somewhat of a disappointment when compared against native capabilities using libraries such as Vuforia.

On mobile devices the marker tracking is poor and performance suffers from all but the simplest of 3D models. With an audience now used to slick lenses on SnapChat and Facebook the novelty of AR alone is not going to hold much interest. I am sure in time the libraries and browser performance will improve, but at the moment I’m hesitant to recommend mobile web AR for anything but the simplest of executions.

Desktop Web AR, on the other hand, is more promising but much less useful. I did build a quick proof of concept for one of our clients demoing how we could use face feature tracking in web AR – leveraging BRF, one of the better client-side facial feature tracking libraries that was once very popular with Flash. It works on most desktop browsers but despite many efforts to optimize is still too choppy on mobile.

So web AR is definitely something worth keeping an eye on and something I will continue to keep up on with occasional prototypes. I believe with small improvements it will become a more viable platform – and hopefully, someday it will come to support the marker-less SLAM tracking capabilities of ARKit as well. Both demos built with AR.js.