AR/VR: VoIP Application to Make Calls, Take Photos, and Draw On the Go
The developed application allows for making VoIP calls and taking pictures during the call. The pictures can be shared with the team, enabling users to mark up via a drawing tool and making comments in real time.
- Technologies used:Java, Objective C, Sinch, Parse, Sashido, Firebase Dynamic Links, Crashlytics, webRTC
The company is a provider of innovative solutions that help to establish better communication and deliver customer-oriented experience within civil engineering and real estate industries. The company’s portfolio features 3D visualizations of buildings under construction, with projects involving usage of virtual and augmented reality technologies, too.
Partnering with HQSoftware, the customer wanted to enhance performance of its existing Android application, improve usability, and extend its functionality. Initially targeted at field workers of the real estate domain, but not limited to this type of users, the application allows for making VoIP calls and taking pictures of the construction site during the call. The pictures can be shared with the office team, enabling users to mark up via a drawing tool and making comments in real time.
The customer was going to demonstrate the solution at the upcoming trade expo, so it turned to HQSoftware to improve the application’s performance and introduce new features under tight deadlines.
In the course of the project, the development team at HQSoftware had to address the following issues:
- if the Internet connection broke during a VoIP call, the system would just close down not informing a user about the nature of an error or further actions to take;
- the underlying server—Parse—responsible for sharing pictures was to be shut down. So, our engineers had to ensure migration to a new service, while the application was already in production and available for downloads in Android PlayMarket;
- the initialization of VoIP services employed a lot of the application’s resources, which badly affected overall performance and marred user experience.
To provide better user experience and guarantee appropriate behaviour of the system in case of the Internet connection breakdown, developers at HQSoftware tested all the possible scenarios, ensured appropriate error processing, and alerting with further instructions to follow.
To avoid downtime of the application in production, our engineers migrated the system to a new server—Sashido—while the legacy Parser server was still up and running. Then, the updated version of the application was re-uploaded to Android PlayMarket.
By optimizing the initialization processes on starting VoIP calls, experts at HQSoftware significantly enhanced the solution’s performance. Using the Crashlytics service, our specialists timely detected any bottlenecks emerging to immediately fix them.
To understand a behaviour model and improve user experience, developers at HQSoftware integrated an analysis module, which helped to figure out that most users make no VoIP calls after downloading the application. So, our team decided to change the model and suggest users to first take a picture and draw before making a call. In addition, sharing on social media or via e-mail was introduced. What is more, experts at HQSoftware made it possible to save pictures with drawings and comments applied at any moment of the VoIP call.
Our developers enabled the system to recognize if contacts on a user’s smartphone have the delivered application to immediately start a call. Employing Firebase Dynamic Links, specialists at HQSoftware ensured that the solution will send an invitation SMS with a link to automatically download the app (no registration needed) and call back the sender.
Collaborating with HQSoftware, the customer enhanced performance and improved user experience of its application that facilitates communication workflows of field and office workers in real estate industry. Meeting tight deadlines, our company helped the customer to move to a new technology stack—with no downtime while the solution was already in production—and demonstrate it at a startup expo to potential clients.
By changing the behavior scenario and introducing new functionality, the customer increased the number of the application downloads in Android PlayMarket by 4x.
The delivered system is a white-label solution that can be integrated into any enterprise ecosystem, providing the customer with an additional revenue channel.
At the moment, our team is working on enabling real-time video streaming with augmented reality glasses and simultaneous drawing/commenting.