Supporting Ably deliver asset information in real-time
Ably is a pub/sub platform that supports numerous industries in delivering information in real-time. We worked with Ably to build an open-source SDK for asset tracking.
Ably is the global network that provides APIs and SDKs to power live and collaborative applications at any scale. We worked with Ably to build an open-source SDK that powers live asset tracking for last-mile logistics, food delivery applications, and urban mobility services.
Founded in 2016, Ably provides a PaaS to offload the engineering complexity and DevOps burden of powering live and collaborative applications at a global scale. Ably’s range of SDKs provides the building blocks to use cases like group chat, realtime financial updates, and live collaboration.
Because Ably powers business-critical use cases, it offers a 99.999% uptime SLA, meaning its services can be unavailable for only 5 minutes per year. In reality, uptime has been 100% for the past 18 months.
In June 2021, Ably received $70 million in Series B funding to continue building the global network to power live and collaborative experiences for one billion devices by 2024.
Ably is growing fast. One avenue of growth for the company is developing new SDKs that solve more of the real-time problem space for a specific use case. Asset tracking was one potential use case to explore. The asset tracking SDK would be integrated into an application for couriers to help track their live location more efficiently.
Partnering with Mapbox, Ably developed a proof of concept to check how the solution worked with the core of its real-time platform. When the core functionality was confirmed, Ably looked for a reliable partner to make a full version of the SDK.
The key for this SDK was its reliability and high battery performance that would match Ably’s rigorous commitment to reliability and uptime.
Ably chose nomtek after talking with our developers and confirming our experience in writing a similar SDK. Since the team at Ably is building globally distributed cloud infrastructure, they appreciated our expertise. It took only a week from that initial meeting to project kick-off.
The Asset Tracking SDK takes location data from Mapbox. The SDK has two functions: publisher and subscriber.
- Publishers (couriers) send their location for processing via Ably’s global network.
- Subscribers receive the location of the courier but they can also send requests to set the frequency with which the location of the courier is transmitted.
Mapbox does location calculations offline to increase the availability and accuracy of the service, and more importantly, to not clog the network. Mapbox also improves the accuracy of a courier’s location by snapping the location to the nearest road.
The publishing side of the SDK has a resolution policy, which defines the frequency with which the location data is sent to the network. The subscribers influence the resolution policy by sending their location update frequency requests.
Decreasing the intervals between location uploads can potentially optimize a device’s battery and let it run for longer.
Scope of Work
The scope involved working on the SDK in native languages for iOS and Android.
SDK Integration and Optimization
Developing and integrating the Asset Tracking SDK while ensuring seamless interaction with Mapbox for accurate location data processing. Putting special focus on optimizing the SDK for battery efficiency and reliability to align with Ably's high uptime standards.
Publisher and Subscriber Functionality Development
Implementing dual functionalities within the SDK, enabling publishers (couriers) to send location data and subscribers to receive and request location update frequencies, thereby enhancing the real-time tracking experience.
Resolution Policy and Network Efficiency
Establishing a resolution policy within the publishing side of the SDK to define location data transmission frequency. Work on network efficiency to support prolonged device operation and optimize the GPS signal processing for accuracy, even under challenging conditions.
Scope of Work
The scope involved working on the SDK in native languages for iOS and Android.
SDK Integration and Optimization
Developing and integrating the Asset Tracking SDK while ensuring seamless interaction with Mapbox for accurate location data processing. Putting special focus on optimizing the SDK for battery efficiency and reliability to align with Ably's high uptime standards.
Publisher and Subscriber Functionality Development
Implementing dual functionalities within the SDK, enabling publishers (couriers) to send location data and subscribers to receive and request location update frequencies, thereby enhancing the real-time tracking experience.
Resolution Policy and Network Efficiency
Establishing a resolution policy within the publishing side of the SDK to define location data transmission frequency. Work on network efficiency to support prolonged device operation and optimize the GPS signal processing for accuracy, even under challenging conditions.
Solution
A solid and reliable SDK for tracking assets in real time with high position accuracy, low latency, and high service availability. The SDK is capable of filtering GPS signals and extrapolating the location even with a poor GPS signal. Asset tracking helps companies provide a better user experience, improve operational efficiency, and gain valuable insight.
By working with nomtek, Ably was able to get a beta version of the SDK into the hands of their customers in only a few months, much faster than if they’d taken this on in-house. This means their product and engineering teams have been able to better iterate on the asset tracking SDK and deliver more customer value with fewer resources.
Asset Tracking is an open-source project. The solution can be implemented into applications that need a location pub/sub feature.
Our cooperation is ongoing, and we’re currently working on client SDKs support for Ably.
Read more about Asset Tracking SDK on Ably.