Factors to Consider before Building the Augmented Reality (AR) Application
Augmented reality creates virtual environment in the real world. In other words, it generates the composite view, for the user, with the combination of real world, viewed by the user, and virtual scene, generated by the system. Both together, augment the scene with some additional information.
Real Environment + Virtual object (2D/3D) —-> Augmented Reality
AR’s Positioning in the Mixed Reality Spectrum
AR in 3 Steps
• Pick a real world scene
• Identify the target/marker object
• Replace the real world marker objects with the content/virtual objects
• Combines the real and the virtual (digital) world
• Permit real time interaction
• Aligns all the three dimensions
Key AR Terminologies
Target/Marker – They are real world objects or markers (like barcodes or symbols). The targets can be used to track an object and display content over it. The targets can be image targets, cylindrical targets, user-defined targets or word targets, 2D image frames (frame markers), virtual buttons (that can trigger an event) or Cloud targets.
Content – By content, we mean a 2D/3D object or video, which we want to augment on top of a target. For example, displaying an image or video on top of the target.
Types of AR
In a marker-based AR application, the images are provided beforehand. In this case, you know, exactly, what the application should recognize, while obtaining the camera data, and should place the virtual objects on top of the recognized markers. Nowadays, most of the AR apps, dealing with image recognition, are marker-based. The simple reason is that it’s simpler to detect things that are pre-defined in your app. AR marker can be a straight forward black and white (square) image or can be a QR code, also. These are easily recognized and tracked; system doesn’t need a lot of processing power to perform the recognition (and tracking).
On the other hand, a marker-less AR application recognizes the real world objects that are not pre-defined within the application. This makes use of feature recognition. And, this scenario is more complex, because the augmented object scale and position need to be calculated using some mathematical (X, Y axes) logic.
Factors to Consider before Building the AR application
1. Identify and finalize the use case and user flow for the Augmented Reality application.
2. Select appropriate SDKs which suit the business requirement.
3. Create the target/marker objects. And, also, consider cloud recognition approach, if the requirement is to have more number of targets.
4. Create the 2D/3D content (virtual) objects for your augmented content.
From a developer’s perspective, all parameters are equally important to complete the application and create a compelling Augmented Reality user experience. However, the SDK selection is the key task. One should concentrate on certain parameters while choosing AR SDK vendors.
Reliable Target Recognition – All vendors offer this feature to their customers. Target recognition depends on the size of the target, the clarity of the target image and the distance between the target and the camera. We should validate the ideal distance from which the image is getting recognized from the camera device. Because, in some cases, the image will be recognized only when we place the camera too close to it or the image may fluctuate when observing the composite AR view in device from a distance.
Multiple Targets Recognition – AR SDKs should support/recognize multiple marker images, at a time, and must present its unique augmented view, appropriate to each marker.
Wikitude: via TargetAPI Collection
Metaio: via Configuration file
Dynamic Targets Recognition – AR SDKs must support/recognize dynamic markers where users add/change the markers, dynamically, from other end. In this fast moving world, we cannot always rely on some set of pre-loaded static images. So, AR vendors have to offer some system and API to get the images, dynamically, from the system.
Wikitude: TargetAPI (we get upto 1000 images per request, using this API)
Cloud Service Approach – Do give priority to service providers, who propose Cloud service and related API, to store/get marker images. We cannot stock the marker images into the device as the user, always, expects low memory usage app with greater responsiveness.
Platform Support – Choose AR service providers, offering SDKs, to native and cross platforms. Apart from these two, some service providers are offering SDKs for Xamarin, Apppcelarator, Unity, etc. Some service vendors (Metaio, acquired by Apple ) provide native SDKs which involves only native language code, whereas, some other vendors (Wikitude) expect HTML, JS, CSS code on top of the native language code.
Apparatus Support – Some AR SDKs support only mobile devices. And some service providers, also, support smart glasses, etc. and validate the SDKs supported image format. Some SDKs, only, support certain image format, which can be generated from common format, even by the service providers’ own creator tool from the official site. Likewise, different service providers suggest varied approach in image format areas.
Future Roadmap – We should consider this fact, too, while selecting the AR SDKs. Explore the sites of service providers and go through their future roadmap, new features that they are focusing on and what kind of support they are providing. We must check whether the service providers are capable of conducting research in AR field and can work on innovations in the future.
Pricing – Most AR service providers offer trial version SDKs, to users, to explore the presenting features. In some SDKs, we should generate key/token, from their official site, after registration, to execute the sample tutorials. While using the trial version, we would get the logo of the providers enclosed.
Apart from the above factors, we should focus on the features that the solution providers offer to the customers. For example, Visual live search, Visual Simultaneous Localization and Mapping (SLAM) technology, Face Modeling and tracking, GEO and IR, etc. are important.
Most of the AR SDK providers offer cross-platform and native SDKs to develop AR application in all types of devices. Some players provide web-based platform (buildAR.com, Layar) to implement AR features in browser and some offer desktop tool (Metaio) to build dedicated AR app, across all mobile platforms.
Three Popular AR SDKs providers:
In today’s market, many AR SDK providers are present to offer solutions/tool to implement AR designs. However, only few are delivering end-to-end solutions to their customers in the AR field. AR solution providers have their unique qualities which distinguish them from each other. The test is in choosing the right provider, according to your business requirement.
Team Lead and AR Solutions Expert, RapidValue