Chatbots have been around since the 60s, but...
How does augmented reality work?The term “augmented reality” refers to the integration of 2D/3D visuals into user environment and live video content. The technology is widely used in advertising, retail, healthcare, education and other industries.
If you’re going to develop AR software, there are a few things to consider:
- Does an AR application add value to your product? Today enterprises tend to craft software for smartphones/wearables/Apple TV just because they can. Such decisions result in unnecessary expenditures (an average custom AR app costs up to $ 30 thousand) and may in fact alienate target audience. Developing an AR application is a great choice if design and aesthetic properties are the key features of your product. L’Oreal, for example, developed a program for iOS and Android which allows users to virtually try on 4.5 thousand cosmetics from the brand’s catalogue. As of March, 2015, the app was downloaded 10 million times;
- Can your customers be labelled as “active mobile users”? In terms of marketing, AR apps share many similarities with mobile software. Before you start looking for augmented reality development companies, conduct a proper marketing research or address a vendor who provides full-cycle development services;
- Do you have a core idea to build an app around? AR software utilizes 3D graphics, animations and other “heavy” visuals which affect apps’ functionality. Numerous features also distract user attention. Choose a single option that will certainly drive your sales and find a technical-savvy vendor who can realize the project. A great example of an AR app is the IKEA catalogue which allows users to virtually furnish their houses (the app’s one and only purpose).
How does the augmented reality software work?
There are two types of AR apps:
- Applications that recognize images and AR markers. The software takes advantage of a smartphone/tablet camera, captures an object, determines its position and places graphic content on top of it. There are several SDKs for such apps, including FLARToolKit, ARToolKit and Total Immersion-D’Fusion Studio;
- Software that utilizes GPS data. The program can access GPS tools, find points of interest in the area and gather relevant data. Such applications are usually developed with the help of Layar, Junaio and Wikitude platforms.
Implementing augmented reality technologyVendors with great expertise in custom application development offer two options: they can either design a totally new app for your business or enhance the already-existing software with AR features. The latter option allows you to cut development costs and launch the app sooner. Normally AR apps are crafted on Flash, Maya and other 3D graphic platforms. Both Maya and Adobe Flash products can be published for Android, iOS and the Web. However, the Android/iOS engine may fail to render Flash-generated images. Since iOS and Android SDKs provide APIs for interaction with digital cameras and support Open Graphic Library, AR apps can be developed natively.
How is augmented reality app technology brought to life?
- Access to camera data. The option to display graphic content through a digital camera is the key feature of AR applications. The necessary APIs come along with the iOS/Android camera package. AR vendors may also utilize the Preview Display method (frame data is required);
- Location determination. In order to determine a user’s whereabouts, developers employ the APIs available with the operating system location package. The AR software detects “live” objects and their position towards the device. Sometimes the OpenCV solutions are implemented instead. In this case, the software analyzes visual content to determine the object’s precise location, while AR markers (usually QR codes) replace GPS data;
- Sensor data analysis. Smartphones and tablets are enhanced with magnetic field and rotation sensors, as well as accelerometers. The sensors help AR developers synchronize images with the camera feed. Again, the native APIs are implemented. The correct analysis is essential for great user experience. However, the function is not used in Google Sky Map and other AR applications which rely on pre-recorded visual content;
- Graphic overlay. Basically, the task is to place an image over the camera feed. In order to achieve the goal, vendors access the iOS/Android graphic frameworks or implement the Surface Holder function (Android) to draw objects on top of the surface;
- Data storage and retrieval. Finally, there must be a place where AR data comes from. Graphic content can be stored locally or in the Cloud; in fact, most businesses tend to outsource data storage to third-party Cloud companies. AR data can be preloaded on portable devices (the SQLite engine) or accessed from the Web (XML and HTTP parsing).
Major pitfalls of augmented reality software development
There are two types of problems associated with AR development.
The challenges of the first type deal with the hardware:
- Inaccurate sensor readings. The accelerometer and compass technologies implemented in smart devices cannot filter electric interference common for vastly populated areas. An experienced vendor can remove the noise with the help of the exponential smoothing technique;
- Poor pattern recognition. Cell phones and tablets are equipped with good digital cameras which allow users to take high-quality 2D images, but aren’t designed for augmented reality visual content (most apps employ 3D graphics). The challenge can be overcome by using 2D QR- and barcodes as augmented reality markers;
- GPS errors. As of now, the GPS readings are only accurate up to 6 meters. It’s more than enough for digital maps and navigation systems, but certainly impacts the AR software performance. If you and your vendor decide to employ the GPS technology, make sure the objects that function as AR markers are big enough (like buildings in WikiTude).
The obstacles of the second type deal with the AR programs:
- Interoperability pitfalls. The current Web application structure does not allow vendors to customize AR browsers and integrate their functions into social media platforms and other multi-media services;
- Security issues. AR software has unlimited access to user information. While people who implement AR solutions share their data on a voluntary basis, nothing prevents hackers from invading their personal reality. Vendors confess they have yet to address the security problem and initiate the development of AR legal frameworks;
- Failure to provide multi-user experience. Current AR solutions are designed for smartphones, tablets and other portable gadgets and, therefore, provide single-user experience. There’s a strong demand for AR software that will smoothly run on a bigger, “off-the-shelf” device, and the solutions are currently being developed. The Invisible Train game (crafted by Graz University of Technology) is designed for 4 players. Although its developers faced certain usability challenges and hardware malfunctions, the game generated positive feedback from both ordinary users and AR experts.