A key part of the mobile app for the Stepping Into Time project is the augmented reality (AR) feature, giving users a way of exploring the area around them in addition to using map views. This blog post summarises the project’s requirement’s for this app and a review of the different Software Development Kits that we could use.
Augmented Reality software allows applications to overlay additional information on top of an existing view of the landscape to provide contextual information. Typically information will be displayed depending on its geographical location in the landscape (location-based, or geo-based augmented reality), but could also be shown when the software detects a certain object (vision-based augmented reality).
For the Stepping Into Time project, we will only be using location-based AR as we are working with historical geodata in a situation where the landscape may have changed considerably since the bomb damage occurred in World War II.
A number of free software development kits (SDKs) and open source software libraries exist to assist in the development of augmented reality applications, allowing the project to leverage that work in its own mobile app. As part of the selection process, we looked into a number of different options and compared their functionality to the project requirements to see which would best meet our needs.
The main requirements for the AR SDK/library were:
- open source software (or available for use free of charge)
- can be embedded into a native Android app
- presents point information (bombs, anti-invasion, images, witness statements), using mobile symbolisations for different points
- ability to click on points to get more information
- radar view of environment indicating density of bombs
When looking at the various offerings, we looked at the technical features as well as a number of other points about the project, such as the existence of a community, the amount of documentation and support available, and the availability of equivalent functionality for other platforms such as the iPhone (iOS) for possible future expansion.
Vuforia (previously known as Qualcomm QCAR) often crops up when searching for augmented reality options, but is aimed at the vision-based part of the augmented reality spectrum, recognising real world objects (known as trackables) and overlaying 3D models on top of them. They provide an Android and iOS SDK, which are both free for use in commercial and non-commercial projects. This seems like the project to go with if you want to use image recognition in your project, and can even be used as an extension to Wikitude if you want to combine geo- and vision-based AR.
Mixare is an open source project for Android and iOS which provides a geo-based AR application and the code behind it. With some work it should be possible to embed the AR functionality into an existing application, but this isn’t well documented at present.
AR-Kit is a geo-based AR library for Android written by a single developer and available as open source code. There isn’t much documentation available for this project, it is limited to just Android, and it doesn’t provide a radar view of the data in the surrounding area.
ARViewer is an open source geo-based AR library for Android. One of the useful features noted about this library is the ability to use the AR interface to create content that is tagged with a location (lat, long and altitude). To use this library, the end user of the app would need to install the ARViewer app from the Android Market as well as the app we are building, which isn’t an ideal user experience.
Having looked at each of the projects, we think the best match for our requirements is currently the Wikitude SDK.
Although it would be better to find an open source library to ensure the code was always available, we feel the lack of documentation and support in these projects is a limiting factor, and due to time constraints we can’t commit to improving that situation. Wikitude’s non-profit pricing makes their offering an ideal alternative, and because they are actively building a business around their platform, the SDK should be available for some time to come.
It is envisaged that the AR library could be switched to an open source version in the future if necessary, without too much redevelopment work being needed.