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. Read more WebAR

Experimenting with AR at world scale

Since the release of ios11 beta most of my free dev time has been spent exploring ARkit. I’ve recently taken some assets from an earlier VR project for Dunkin and optimized those for mobile AR. I started out displaying the asset at dollhouse size. This was more of an experiment just to see where I might start to get some performance limitations, and I thought it might be a great way of displaying some of the heat map data from our VR gaze tracking tests.

Then I got thinking, why not see what this looks like at world scale? So I re-exported at 1:1 and dropped a full-size Dunkin in my back yard!

The video here looks a little choppy. On the device, a 6s+, the frame rate was actually decent, but the addition of screen recording really hurt performance. There are also some interesting observations for AR at world scale. I was pretty careful when recording this to prevent issues that would lead to poor tracking, but it’s definitely a consideration when dealing with larger scale AR objects. Often the camera is pointed up more towards the sky and without any nearby objects to create parallax, ARkit appears to have more difficulty tracking. In this situation, I believe is relying solely only on inertial data for tracking which can lead to some slippage in the anchored object. This is also compounded by the distances of world scale. A small error in tracking ends up as a larger error in positioning the further away an object is placed.

Still, this is pretty cool, and it turns out to be a useful way to explore a larger virtual environment without the need for strapping on a clunky VR headset.