Facilitating Data Reading From An External Device Through Time-Efficient Measures
Considerable reduction of time taken to read survey data from a Bluetooth device through retries and removal of dependency on the Blue-Falcon library.
A global leader in the management of critical infrastructure and utilities providing the best in class equipment and solutions designed to prevent damage, manage assets, and protect lives.
The purpose is to develop an application to communicate with an external Bluetooth device to read survey data. The external Bluetooth device must be implemented with the Blue-Falcon library that supports Android and iOS.
Data interruption has been observed while implementing the Blue-Falcon library with an external Bluetooth device. The application can only read the data partially if the device contains huge amounts of data. ANR (Android Not Responding) error is thrown when reading some data in low-end devices. And the device becomes unresponsive, and the user cannot perform any action.
- Avoid data interruption while reading huge amounts of data from an external Bluetooth device with Blue-Falcon Library.
- Resolve Application Not Responding (ANR) errors while reading data, especially in low-end devices.
- Reduce the Data Reading Time considerably.
- Retrying: At any moment, if the application doesn’t succeed in reading the data, we retry with a time-lapse of 10 seconds.
- Multiple Tries: Multiple tries helped to read the data without memory-related issues.
- Addition of Delay: Re-initiating the data transfer with a time-lapse of 10 seconds resolved ANR-related issues. It also reduced the overload on the mobile device.
- Worked on the Blue-Falcon library: External device has 10 minutes of data which takes more than 70 seconds to read. We removed the Blue-Falcon library as a dependency to reduce the time to read the data. Instead, we added it to the application code. Reading the data and processing is done within the source code before sending it to the application level. Thus, the time to read data of 10 minutes is reduced from 70 seconds to 10 seconds.
- Regression Testing: Regression testing is done subsequently to check the impact of these changes on the application. The results are consistent.
- Improved Data Accuracy: With the new solution in place, acquiring more precise data readings from Bluetooth devices during surveys was feasible, significantly boosting the company’s overall surveying capabilities.
- Reduced Time and Effort: The client was able to perform surveys more quickly and efficiently as the seek time was reduced. This enabled the organization to save time and resources while increasing overall production.
- Enhanced Customer Satisfaction: The client was able to offer more accurate results in a shorter time, thanks to better accuracy and faster surveying capabilities. This aided the organization in improving client happiness and loyalty, both of which are critical for long-term success.
The duration of reading the survey data has been considerably reduced after the changes were made, as indicated in the solution section.
Below are the steps followed to reduce the time taken to read the survey data:
- Continuous monitoring: Monitoring the system constantly with different data durations and logging the time before and after changes.
- Regression Testing: Checking for the outcomes of the system after modifications are made.
- Checking for Consistency: Checking if the results are consistent after continuous retries.