AR-wearable-device-for-field-workers-header

Software for an AR Wearable Device for Field Workers

Software overhaul for a wearable AR-driven prototype that connects field technicians with remote experts
nda-logo-white

An international electronics company and one of the leaders in manufacturing information and imaging-related equipment.

Case Highlights

  • Maintains the system’s stability when the number of requests increases
  • Excludes system errors and server reboots
  • Guarantees successful calls, even with growing back-end loads
  • Consistently replicates the data across all connected back ends
Project Information
Engagement model

T&M (time and materials)

Methodology

Scrum

Team
5

Software Developers

1

Project Manager

2

Business Analysts

1

UI Designer

1

Graphical Designer

More Details

Problem

The client had a wearable AR device prototype for connecting field technicians with remote experts.

The customer’s solution is a distributed system, meaning it should support large volumes of user data requests and back-end responses. The mobile client failed to process the increasing number of requests—the app considered them to be a DDoS attack and crashed. That issue also caused other working bugs:

  • The back end failed once the number of requests started to increase
  • Not all back ends shared the same data
  • The system failed to support the request-response pattern
  • Not all data from the client was transferred to the server
  • The WebSocket connection, which supports real-time communication among all clients connected to the server, was unstable
  • Frequent system errors

Those issues prevented the client from proceeding with mass producing the device. So they turned to Softeq to fix the software problem. Our task was to make the system constantly available, enabling 100% of all successful calls.

Solution

Software-for-an-AR-Wearable-Device-for-Field-Workers
Integrating Redis Database

To make the connection stable, we started with the implementation of the Redis Backplane service.

It was intended to process any amount of requests and replicate data on all back ends.

The system was integrated with Azure Cloud Services. As the number of requests increased, Azure duplicated the back ends to evenly distribute the workload. This was done using a load balancer. However, it didn’t maintain system stability.

The Redis database turned out to have some limitations that caused frequent errors, such as:

  • Failure to allow data to be replicated on all back ends
  • Inability to support the request-response pattern

As the problem was still unsolved, our software engineers had to reject the Redis service and look for another option.

Providing Stability with Azure SignalR

As an alternative to the Redis service, we decided to integrate the Azure SignalR.

This service was designed for large-scale solutions and addressed our two major issues:

  • System availability
  • Data consistency

Azure SignalR enables the system to transfer relevant data from the client to the servers and vice versa in real time.

This integration allowed us to transfer the load of storing client information and keeping the WebSocket connection from the back end to Azure SignalR.

We ran several load-testing sessions to make sure no connection loss was detected.

Upgrading Mobile Video Calls

The client’s solution initially used a P2P connection.

We replaced P2P with a group connection, which forwards the WebRTC video stream to the Twilio server. Thus, we ensured the mobile client was stable during a video call.

Reaching a Smooth AR-based Communication Process

Following our improvements, the app allows a field technician (FT) to organize a group call with the required number of remote experts (RE).

Implementing Report Generation

We incorporated a report-generation algorithm that tracks:

  • Service performance
  • Failures
  • Bugs, etc.

The reporting system ensures important statistics are constantly delivered on time.

Improving Security

We updated the solution’s security.

All the data consumed and produced by the solution is transferred via HTTPS protocol. Authorization is implemented in accordance with the OAUTH 2.0 protocol.

Navigating the Challenges of Digital Transformation?

Explore how our custom app development can transform your ideas into unique mobile, web, and desktop solutions See how
Joel-Carter-cta-banner-transparent-back
Joel CMO

Result

The device is ready for mass production

Softeq overhauled the software to solve connection and stability issues. As a result:

  • All calls reach end customers
  • Each client connection is live
  • The system is always available and works flawlessly
  • The data is consistent and all back ends keep the same data
  • A WebSocket connection is always live
  • The product is currently on the market

The client will continue working with Softeq to upgrade the solution with new features, e.g., developing a remote assistance app for Google Play and adapting the solution to new glasses models.