Nine months ago, we reviewed Project Tango using the Tango Dev Kit. Fast forward to today and the Tango ecosystem has grown quite a bit, although it is still very modest compared to other emerging technologies, such as VR.
With that, let us explore how Tango has evolved.
In the old days of using the Tango Dev Kit, users had to manually install the Tango Core in order to fully utilize Tango's features. After which, they had to manually find compatible apps, sometimes even having to go through pages of various research labs to get to prototype Tango apps. With the Lenovo Phab 2 Pro, the Tango Core is built in. On top of that, an experiential app is launched after the user completes initial setup. The app showcases the user the fundamental features of the Tango device, by mapping the user’s surroundings into a point cloud, and then overlaying a virtual world, shaped by the contours of the environment. After which, the app brings the user to Google Play to browse for more Tango apps.
Unlike the old Tango Dev Kit, which used only a 4-megapixel camera, the Phab 2 Pro has a 16-megapixel phase-detection auto-focus rear camera. This allows the Phab 2 Pro to be able to capture the surrounding images in finer detail.
However, having good image quality is useless if the device’s other sensors cannot finely detect and determine the overall 3D structure of its environment - without these, true augmented reality cannot be achieved. Lenovo achieves that by highly optimizing the coordination of the camera, together with the depth and motion sensor. This allows for faster and finer construction of the 3D space of the surrounding area, and thus renders AR faster and of much better quality as well.
Additionally, good hardware coordination between the sensors also ensures that area learning is as accurate as possible. To recap, area learning is how the device learns about an area by the user walking around and scanning the area, so that afterwards, the device can re-orientate itself and determine its position again, just by recognizing landmarks, instead of using GPS. It’s just like navigating a street without using GPS; one uses landmarks to orientate oneself. This has useful applications, such as indoor navigation, as well as placement of AR objects in a corresponding physical location within an enclosed setting. Examples being placing virtual dinosaurs side-by-side a physical dinosaur skeleton in a museum.
The Phab 2 Pro does this better than the Tango Dev Kit by learning the area more accurately, and being able to learn more data without crashing. In the Tango Dev Kit, the Explorer app crashes after learning just half of my office space, while the Lenovo Phab 2 Pro can handle the learning of the whole office level.
It is also able to track motion better. Typically, ordinary phones cannot track the device’s velocity; the accelerometer tracks only acceleration. Tango can, by using visual-inertial odometry techniques. The accuracy of the Phab 2 Pro can be seen by simply doing two twirls on a swivel chair, while holding onto the phone. The motion plot shows the difference in result between the Tango Dev Kit, and the Phab 2 Pro. The closer the lines are, the greater the accuracy.
All the prowess of any Tango device ends at the SDK (or OS) level. They are only as good as the apps leveraging on the Tango modules. Sadly, when it comes to apps, one’s mileage may vary. Performance is inconsistent across different apps. Apps belonging to "Project Tango Experiments" work best, but that’s simply because they belong to Google themselves. Some apps developed by third parties work well, but some were rather flaky.
Amongst those quality apps, there are also a very limited number of Tango apps available to try. Even those that can be tried are very USA-centric, particularly furniture placement apps. A possible reason for this is prior to the Phab 2 Pro, there were no other Tango devices other than the Dev Kit. However, the Dev Kit was positioned as strictly for development, and naturally, a good number of buyers of the Dev Kit are from the research and development industry, developing AR proof-of-concept prototypes. This explains why some Tango apps lacked polish, and you would often experience lag and pauses.
For those that are seriously looking into developing true AR, or those that have moved past the proof-of-concept stage, the problem was that the specifications of the Tango SDK change rather often, with a major shift happening sometime in August last year. That resulted in a quick deprecation of prior software libraries used. As such, the developers may just be waiting until Tango is completely stable before resuming development on Tango apps. Either that, or they have not had enough time to react and change their code to the updated libraries.
There are mainly two ways to develop Tango apps - either the typical Android way (Java and C++ for those technically inclined), or using Unity, a game development software. When the libraries changed, the Tango plugins for Unity were updated, and hence there was less effort required to change their Unity game projects. This also explains why a good number of Tango apps are games.