AR Experience App AR application for Android
-
Client:Software development agency, Austria
-
Request:Develop an app for Android with AR functionality to introduce changes to the company key software product.
-
Result:Sales growth, technical debt decrease, and optimization of product scaling.
-
Technologies:
- Java
- Kotlin
- JavaScript
- CI/CD
- Wikitude SDK
- WebView
- Retrofit
- Google Cloud VisionAPI
- Dagger 2
- RxJava 2
Challenge
The customer was an Austrian digital agency specializing in creating AR and VR solutions for businesses from different spheres.
The Android app that we developed was intended for one of our client’s customers. This company produces and sells hub terminals for different organizations. The main goal of the app was to promote these products with the help of AR capabilities.
Another task for us was related to the key product of the company. Our specialists had to develop and integrate new functionality, fix legacy issues and strengthen the entire technical infrastructure.
Cogniteq was selected as the supplier because they were looking for seasoned Android specialists for their projects. The tasks were technically challenging and there was only one week to deliver the solution.
Solution
-
-
Start of the projectThe first challenge was to understand the infrastructure of the client. Cogniteq specialists studied the SDK of the Product and the new application requirements.
-
MethodologyWe worked in the office of the client and communicated with their team directly. We chose Extreme programming methodology for the project. We had a very short cycle of feedback and a continuous development process with the everyday releases.
-
-
The functionality of the app
-
Taking screenshots of AR contentWe used several Android API for working with Bitmap, applied third-party solutions and conducted integration with the server-side.
-
QR code readingThis function was developed based on its integration with third-party solutions by means of an intermediate plugin written with C++.
-
ToolsWe created this feature to present the app to different target groups and ensure flexibility in providing access to specific functionality.
-
-
Peculiarities of the development process
-
CI/CD (Continuous Integration and Continuous Delivery) implementationThese practices and tools help minimize errors, reduce the time needed for building an app and increase app quality.
-
App templateWe created a template for the AR Experience app to facilitate its further support and provide the client’s team with the possibility to re-use the code in similar projects easily.
-
Test scenariosTesting was a crucial part of the project. Our specialists created unit tests and integration tests for content.
-
The creation of 3D models was a complicated solution from the technical perspective. Our specialists built the backend that stores the entire content. This can be seen in the AR as well as a part of the app’s business logic.
For content management we opted for Wikitude SDK that is written with C++. It turned out to be the most appropriate solution as it offers Java API and several integrations with other tools. Since AR content is shown in WebView we didn’t need to write any additional code.
However, despite the benefits of the Wikitude SDK it also has some limitations. Due to the fact that the technical support team needs a lot of time for reaction to the requests of users our specialists had to examine the entire functionality on their own. As a result they also had to conduct numerous tests to determine whether they made the right decisions.
The work with AR content requires a good understanding of how WebView functions. To ensure the stable work of all the features, our developers wrote the code in JavaScript for Android. It’s vital to keep in mind that if you work with WebView that knowledge in Maths is essential to build matrices and optimize rendering.
We also had to refactor the code of the Product - the company’s primary application. We developed new features, fixed bugs, conducted refactoring and strengthened the entire technical infrastructure.
The main challenge for us was to understand the legacy code which had a high level of technical debt.
It was necessary to study the business processes of the company and to adapt to complete this project successfully.
Result
-
The AR Experience app. Thanks to the integration of the AR features into communication with clients the company experienced the sales growth.
-
The Product. Technical debt is now significantly lower. The app performance has increased 3 times compared to the period before we started the work.
-
The results of the reduced technical debt can be already seen - no problems were identified during the last 6 months after the updates were introduced