If you are like most people involved in Augmented Reality, there is no way to escape the announcement of Google Tango and the obvious questions of “What is Tango and why is it so important?”
On the technical side, Tango is an API that includes Motion Tracking, Area Learning and Depth Perception, along with a set of minimum hardware requirements. In non-technical terms, this means being able to track the movements of your smartphone or tablet, to learn and store information regarding the physical area it is active in, and the ability to take relatively precise physical measurements (within about 5 mm), but only running on specially designed devices. For purposes of AR, this gives us the ability to quickly and easily determine the physical attributes of the environment we are in and overlay our experience on top of it.
While it has always been possible to determine some topographical information using images, real time 3D acquisition simply isn’t possible with the typical smartphone or tablet design. With Tango, not only can you get an immediate 3D representation of your environment, the heavy lifting is done by the Android OS and to a large degree, the significant computational overhead required for this is offloaded to hardware. This means that developers can focus more time on making interesting experiences and less time on struggling with machine vision algorithms. I am not going to say that Tango redefines the world, but I will say that Tango delivers functionality that significantly lowers the cost of creating meaningful AR experiences and with that, gives mobile AR a turbo boost at a very affordable price.
A useful AR application that immediately comes to mind is being able to overlay virtual objects accurately in a real world environment. This is something that home furnishing companies have started to do a few years ago, however typically with a problem of not always knowing where the floor was and how the virtual object should be sized in relation to the displayed environment. With Tango, that problem is resolved. You can place a virtual object on the floor, against the wall or anywhere in the environment with the knowledge that the size of the object displayed is proportionally accurate.
Imagine that you are a retailer and would like to have customers enjoy AR experiences in your store. Theoretically, you could have a bluetooth beacon in the store that the Tango enabled device would recognise and then load the physical layout of the store along with AR overlays. That means that instead of having a specific App for every store you are in, a single common App can be used to recognise the beacons and display the AR experience.
If you are a game developer, you can now have game objects interact accurately with the real world environment. A ball can bounce off a wall, a coffee table or TV set. A character can hide behind a sofa. You can have a shooter game in any physical space, integrating the walls, ceilings, doorways and just about everything else that you find in the real world, into the game. There was even a prototype Nerf gun that accepted a Tango tablet and had a target shooting game that required you to move throughout your environment to escape balls that shot back at you once a target was hit.
For purposes of simplification I have been writing AR, but really mean Augmented Reality, Mixed Reality, Diminished Reality, Mediated Reality and Virtual Reality, and Tango benefits all of them. For example, one of the issues with VR is that you have to create “safe environments” and a boundary mechanism in your VR application to ensure that the user doesn’t trip over the coffee table or bump into a wall. With Tango you can recognise the environment and adjust the positioning of walls, steps, doorways, etc. in the application to match the actual surroundings.
Why can’t you run Tango on the smartphone or tablet that you already have? Because Tango requires very specific hardware to deliver the necessary functionality and performance at a price that consumers can afford.
As much as it is important to understand what Tango is, it is helpful to also understand what it is not. Tango takes a lot of the burden off the developers’ shoulders, but not all of it. Tango is not an image or object recognition engine. Although Tango will create a point cloud to represent the environment, it won’t be able to differentiate a coffee table from a coffee cup. So if your AR experience needs to recognise objects, images or tags, this still has to be done by the developer. That said, I could see an an object recognition API as the next logical step for Tango, either through 3rd party plug-ins, or as an inherent function of Tango. Also, Tango is also not a display engine, so programmers will still have to use a different API to display their virtual objects.
Those with some AR experience might say “Hmm… This sounds a lot like what the HoloLens does.” And you would be right. Not only that, the HoloLens sits on your head instead of in your hands and gives in many cases a better experience, but at a price of US $3,000 compared to about US $500 for a Lenovo Phab 2. With new products from Microsoft and others using the HoloLens reference design scheduled to be released in 2017, but now with a price tag of US $300 to US $500, expect to see some pretty challenging competition for the hearts and minds of AR developers and customers. Add to that the anticipated shipment of more Tango enabled devices, as well as AR devices from Apple, and we’ll have a very interesting and competitive landscape.
The biggest challenge I see coming now is that Google, Microsoft and, I expect, Apple will have different APIs and developers once again have to pick and choose what platforms they develop for, just like they already do for smartphones and tablets. With luck, Unity and other development tools will be able to create a common development interface that will allow for a true write-once-run-anywhere experience.