Technology

Real-time location tracking with near-zero battery impact

The HyperTrack SDK is active on thousands of devices through 100+ apps across the globe. Users represent all 6 inhabited continents, 2 major smartphone Operating Systems, several tracking use cases and markets, and a variety of network and GPS conditions. We implemented a way for the SDK to record overall battery consumption on the device during the time it was active. This is our first battery benchmarking exercise at a reasonable scale. This goes beyond small scale tests we had done with dozens of users in controlled setups. Turns out, we are able to deliver real-time location tracking with near-zero battery drain.

In this post we share the data that implies that HyperTrack delivers real-time location tracking with near-zero battery drain. We go on to list the battery optimization techniques we used in order to get there.

Continue reading

Standard
Technology

Are stops important in the world of location tracking?

We had trips on our mind when we first built HyperTrack. We assumed that developers would start tracking a user when they expected the user to be on their way to get some place and stop when they had reached. The assumption failed. Obvious in hindsight, developers expected us to tell them (and not the other way around) when the user was on the way and when they had stopped. All they wanted to do was switch us on or off, and hand over control to HyperTrack to automatically figure out trips and stops in the life of the user. They would keep HyperTrack on through the day, through the week, or just switch it on and leave it on forever. HyperTrack was expected to notify developers about the start and end of these trips and stops, besides other useful events along the way. This led to a re-architecture of our stack that we rolled out with HyperTrack v3 in March. Continue reading

Standard
Tutorial

Why we created heatmap views for our customers

Our customers use HyperTrack to track live location of their app users, often in the context of actions they perform in the app. For example, how far has my delivery reached, did my service professional reach the customer on time, how far is my friend from the restaurant where we are meeting up, where is the place I am supposed to meet the merchant, and so on.

As HyperTrack started generating location data for thousands of users, customers started asking more aggregate questions. Can you show me the live location of my users on a map right now? Can you show me the places where my users have been this month? Can you show me the clusters where my customers are located? Can you show me the places where my users stop and spend most time?

Now, the answer to all of these questions is yes.

Continue reading

Standard
live location tracking features
Technology

Why building live location features requires more than maps APIs

The next generation of location-based services uses live location to make assignments, track orders, track miles, personalize experiences and power great product experiences. A fleeting glimpse by product managers and developers might lead to a false view that maps platforms are sufficient to build these features. This post covers what maps do and don’t.

Say you want to build an in-app tracking view of an order. It needs to be a smooth experience (think animated icons) with accurate location (route polylines maybe), live ETA (that updates every minute), user/order information (a drawer to reference) and trip status (why is it stuck there). To build this, what can developers count on maps for and not? Read on for the answers.

Continue reading

Standard
streaming live location data
Technology

The pitfalls of using location streams as an interface for building live location features

Developers build live location features in their product because it is core to their business. In the process, they end up having to build infrastructure. Developers who have built and operated this underlying infrastructure on their own have a deeper experience of the pains involved. Often, this is the first time they start questioning if that part of the stack is core to their business and if there is an API for that. In the chance that they find HyperTrack as that API they were dreaming of, a new problem arises.

In many in-house location stacks, the de facto interface at which the infrastructure stops and the feature begins is the location stream. You generate the location stream on the device, log/store it on the server, and then consume it in the product. For enterprises using vehicle tracking systems (VTS) and GPS chips, there is a legacy reason to go down this path. When other teams and software modules in the stack are consuming this stream, it is hard to imagine ripping it out and replacing it with HyperTrack SDKs and APIs.

And then begins: “But it does solve a bunch of things we are dealing with”, “Hey they seem obsessed with it and we are not, they must know something we don’t”, “Let’s deploy it on that new feature or new set of users in that new project”, “Let’s run this in parallel with our stack and compare the results before phasing it in”, etc.

It is then that one of the two questions comes up:

  1. “Can we provide our location stream as input to your API and get your location stream as output?”
  2. “Can we use your location stream as input to our API and everything upstream will start working better?”

Tl;dr – Bad idea. Using location streams as the interface is architecture debt. Pay it off.

Continue reading

Standard
Technology

Trip Replay Using Leaflet.js and Mapbox

Replaying an action is one of the more popular use cases HyperTrack developers have. It unlocks a new dimension (literally) of visibility that static polylines and markers fail to provide. Continue reading

Standard