Augmented Reality: Investigation from the Perspective of a Mobile Developer

appnovation

augmented reality

digital solutions

Mobile

mobile development

April 26
blog author

TaoN

Mobile Applications Developer

About AR

Graced with the performance of nowadays mobile phones, Augmented Reality (AR) is emerging as a hot topic as of late.

But first, what is augmented reality, exactly ?

Augmented reality is the technology that expands our physical world, adding layers of digital information onto it. Unlike Virtual Reality (VR), AR does not create the whole artificial environments to replace real with virtual one. AR appears in direct view of an existing environment and adds sounds, videos, graphics to it. While VR has great potential for gaming, AR feels less invasive. Furthermore, the concept of augmentation finds a clear path to a multitude of applications, not only in the gaming sphere, but also on the productivity world.

An example is information enhancement : let’s imagine a surgeon wearing AR enabled glasses, he could have the patient vitals in front of him at all times, allowing him to make critical decisions faster, or avoid touching certain sensitive areas. Another one would be commercial product visualisation, where you can place the toasted on the kitchen counter and see how it fits before buying it. Or yet another one could be advertising : imagine walking down the street, holding up a device and seeing an entire virtual layer themed after a movie, pro sports team or video game.

Mobile phones are great candidates for an AR experience because those ubiquitous powerhouses have not only camera and fast CPU, but on top of it are often mounted with all kinds of extra capabilities, such as a gyroscope (to know the orientation), a GPS chip (to know the user location), a ML chip (machine learning chip to recognize complex objects), are network enabled etc. It’s the combination of all those capabilities that can allow designing a great experience for the user.

Thus, it is not a surprise to see Apple has recently been investing massively into AR technology, followed by Google so it would not be left in the dust. They have now released native AR frameworks available to iOS and Android developers allowing to quickly craft AR applications.

Like every new technology, AR is trying to find its place in the ecosystem and while some AR apps currently on the app store may feel a bit pointless besides only showcasing the technology (https://www.youtube.com/watch?v=iEGdVljJreA), some more great apps are emerging, such as PeakFinder (https://www.peakfinder.org/mobile/).

Peak Finder.JPG

For instance, if you plan to take a hike in the Rockie Mountains (or any mountain range), the PeakFinder app allows to identify the name of the mountains in front of you! Make sure to check out the “AR Apps” category on the AppStore to find more apps and witness that it is a rapidly growing pool.

Developing AR Apps for Mobile Devices

AR solutions for mobile have actually been around for a little bit of time. As early as 2014, it was possible to use the Unity platform (a game development software) and add some AR capabilities. Nowadays, there exist quite a few solutions to choose from. Third party AR Frameworks like Wikitude (https://www.wikitude.com) and Vuforia (https://www.vuforia.com) are systems that did all the legwork before Apple and Google released their frameworks and provide a almost turnkey solution packed with great features, ranging from object recognition to geolocation features.

Wikitude.JPG

For instance with Wikitude, it is possible to scan the surrounding area and detect a specific image, or a specific object as a trigger and then trigger logic from it, such as adding points of interest when we detect an image of the map of California, or adding a moustache when a face is recognized and get a prototype going in a matter of hours.

Those third party frameworks are mature solutions which will run on the older devices and OS, so from the perspective of being able to cover low end devices, this is a great advantage. On Android particularly, users don't update their operating systems very rapidly, and typically, we can hardly expect the user to update its OS in order to run an app.

Furthermore, Wikitude has a Javascript + Unity SDK, and Vuforia has a Unity SDK. This allows to write cross-platform apps and maintain a single code base for a project that can be deployed on Android, iOS and Windows platforms. The downside of it is the hefty license price tag that comes along with this so a number of free, user supported SDK have appeared in response to that.

With Apple and Google entering the race with ARKit (iOS) and ARCore (Android) frameworks, the landscape (as far as which SDK to use) is shifting dramatically. Free, user supported AR frameworks are loosing steam because it is difficult for small groups of enthusiasts to compete with the Apple and Google behemoths. Regarding commercial platforms like Wikitude the technology gap between is rapidly shrinking.

For instance, on iOS ARKit 1.0 (Sept 2017) allowed to detect simple horizontal planes (tables, floors) on which we could add an object. April 2018, ARKit 1.5 was released and can now detect images, like Wikitude. This is very much in line with Apple’s strategy : if they see something that picks up, they will invest and make companies obsolete in the process. For instance, the level of sophistication attained by the Apple Watch is unmatchable for any other watches (or any Bluetooth device), simply because they have access to low level components for the device they develop, which functions are not accessible to third party companies.

If, for now, 3rd party framework still have the edge of supporting low end devices, being cross platform and have a slightly few more features, however for the long term, experience taught us it would be wise to develop expertise and tools for the native solutions.