AR technology for Android — Part 1
If by mistake, browsing the internet, you typed AR and came across this article, consider yourself lucky. Here you will find everything that you need to know about AR technology from an Android developer’s perspective. The purpose of this article is to present the best AR SDKs for Android. In the end, you will be able to choose the best tools for building a great AR Android app. Hope you will enjoy it!
This is the first part of an article about Augmented Reality technology and it is specifically designed for Android developers who want to learn this technology. Depending on the knowledge level you might possess, three questions that might be asked:
- What Augmented Reality actually means?
- How many AR SDK’s are there that can be used to develop Android apps?
- What AR SDK should I use to create the next big augmented reality app or game?
Augmented Reality technology
Augmented reality is the result of using technology to superimpose information — sounds, images, and text — on the world we see. Lately, Augmented Reality has grown more and more and its goal is to overlay digital content on top of real things using something like a map, a camera, or sometimes the sky. Smartphones brought AR into the mainstream in 2016. AR existed on your phone before then, but that was the year it really became popular. Snapchat took off. Pokémon Go came out, and suddenly kids were chasing Pokémon in the real world. These apps had great success in mobile marketplaces. This success greatly boosted people’s interest in AR and since then AR kept on improving at a fast rate.
Where should I start with AR technology and how many AR SDKs are there that can be used to develop AR Android apps?
As an Android developer, it is not that hard to work with AR technology thanks to the many tools that help you develop the next big augmented reality app or game. This article presents the main Android AR tools in terms of ease of use, benefits, and costs.
The best-augmented reality SDK’s for Android development are:
- Google ArCore
- Wikitude
- Vuforia
- ARToolKIt+
- Kudan
- Easy AR
- VisionLib etc.
Which one should I choose?
With so many augmented reality tools out there, it’ s hard to know which one to use. First of all, you need to define your objectives by answering the following three fundamental questions: “What, Where and How to display?”.
Within the AR applications, Augmented Reality SDK facilitates many components. These are AR recognition, AR tracking, and AR content rendering.
1. Wikitude
Wikitude is one of the Augmented Reality SDK’s which combines 3D Markerless Tracking technology (SLAM), Object Recognition and Tracking, Image Recognition and Tracking and Geo-location AR for apps.
Wikitude provides two android SDK solutions, one is for JavaScript and another is Native API. Here, you can see the Wikitude official SDK API comparison. Feel free to choose which one you will use in your own application.
Regarding the price, Wikitude SDK is a commercial solution, but it is also available as a trial version with some limitations like Wikitude logo in the camera view. The free license is suited for developers seeking to try out the whole spectrum of augmented reality experiences currently available. If you think this SDK suits the requirements of the app you plan to develop, see the next part of this article: AR technology for Android (Part 2 — Wikitude SDK).
Official site: www.wikitude.com
2. Google ARCore
ArCore is a platform powered by Google with the goal to build augmented reality experiences. It is available across Android phones without having to add any additional hardware. To understand how ARCore works, it is necessary to understand three basic concepts:
- Motion Tracking: allows virtual objects to be placed in a way that physically connects with the real world.
- Environmental understanding: allows users to walk around and interact with virtual content that is rendered in the 3D world.
- Light estimation — create realistic looking objects by having its own light change dynamically according to the environment lighting.
All these concepts are detailed inside the third part of this article — AR technology for Android (Part 3 — ARCore SDK), where you will learn step by step how to create your first Android app using Google ArCore. I will be pretty straightforward, you’ll see!
Regarding the price, ArCore is a built-in API and is free to download as a part of Android SDK 7.0 and above.
Official site: www.developers.google.com/ar/
3. Vuforia
Vuforia is one of the most popular platforms that help you develop augmented reality apps as a mobile developer. The main features of this SDK appear with Vuforia 7 and they are Ground Plane Detection, Next-Generation Object Recognition, and Support for Apple’s ARKit and Google’s ARCore. Vuforia allows users to scan objects from the real world using its own Object Scanner, but also provides support for recognition processes using database (cloud or local storage).
As an Android developer, you must know that the Vuforia Engine requires the Android SDK and the NDK. Being an extension of the Android SDK, the Android NDK allows Android developers to build performance-critical parts of their application in native code (C++). The Java Native Interface(JNI) is responsible for communication between Android SDK and NDK.
You can use Vuforia for free to develop and test your application, but you also have 3 options if you want it for commercial purpose:
- Starter: access to the full Vuforia platform so you can build, demo and deploy your app at no charge with a watermark.
- Classic — unlimited device-based recognition for a single, flat fee per app.
- Cloud — Cloud Recognition Service is for apps that use many targets or targets that need to be updated frequently.
Official website: www.vuforia.com
4. ARToolKit+
ArToolKit is an open-source tracking library for augmented reality and its code is hosted on Github along with the compiled SDKs for Android platform and with the ARToolKit plugin for Unity 3D. ARToolKit -6 provides support for three general categories of tracker: Natural Feature Tracking(NFT), traditional template square marker and 2D barcode markers.
Regarding the price, ARToolKit version 5.2 and later are made available freely under the GNU Library General Public License version 3.
Official website: www.arreverie.com
5. Kudan
Through a combination of the Internet of Things and Artificial Intelligence, Kudan enables the concept of “network intelligent vision”. The main advantage of this Augmented Reality SDK is given by its very robust single-camera (SLAM). It supports Visual Simultaneous Localization and Mapping(SLAM) tracking technology. Because of this SDK, the AR development is easier and because it supports marker tracking and location requirements, Kudan is considered the main rival of Vuforia.
Regarding the price, Kudan offers multiple license versions, including a free version license: AR Indie, AR Business, and AR Enterprise.
Official website: www.kudan.eu
6. EasyAR
Developed by VisionStar Information Technology, Easy SDK provides a number of cutting-edge features, such as SLAM, 3D tracking, screen recording. If you opt for this AR SDK, you need to register the account and generate the plugin’s key of your Bundle ID.
Concerning the price, EasyAR SDK provides both free license and a pro license. The free version only supports up to 100 users/day.
Official website: www.easyar.com
7. VisionLib
VisionLib is a multi-platform library for enterprise augmented reality. This SDK enables painless 3D object tracking for high class augmented reality apps because it comprises multiple computer vision tracking methods. It not only solves typical AR problems, like bad light conditions, dynamic scenes, or low-textured objects but it also makes the setup for tracking configurations much simpler, because no prior knowledge or pre-registration steps are needed.
Regarding the price, the VisionLib SDK is in development and its Beta version is available free upon request.
Official website: www.visionlib.com
Thanks for reading! Hopefully, now have a better idea of what AR SDKs are available for Android development and you can choose the best one for your particular needs. Happy learning!
Zipper Studios is a group of passionate engineers helping startups and well-established companies build their mobile products. Our clients are leaders in the fields of health and fitness, AI, and Machine Learning. We love to talk to likeminded people who want to innovate in the world of mobile so drop us a line here.