Battery Efficient Real-Time GPS Tracking

One question we frequently get asked is “How real time is your tracking experience?” When we respond saying it’s near real time (~4 second latency) the follow up is “You must be collecting GPS locations very frequently, what’s the impact on battery life?” The fact is we only consume ~5% of battery per hour of tracking. So your fully charged phone can last full day of tracking without breaking a sweat. This blog is a deep dive on how we achieved close to real time tracking with minimal battery usage – two things that are perpetually in tension with each other in the smartphone tracking world. Continue reading “Battery Efficient Real-Time GPS Tracking”

How we ditched HTTP and transitioned to MQTT!

In the field of location tracking there needs to be lot of back-and-forth communication between devices and the backend. Device transmits location stream and health information (battery level, network strength, etc.). Backend processes this information, applies business logic on top and sends configuration commands back to devices in order to orchestrate tracking. These configuration commands determine when to start/stop tracking, frequency at which to collect GPS data (time and distance), frequency at which to transmit GPS data and so on.

In a world with patchy mobile networks making all this communication robust is quite a task. It is important to choose the right network protocol and design the communication semantics to get maximum benefit of the protocol’s capabilities. We recently switched a large part of our device-backend communication from HTTP to MQTT. This blog is about how we achieved it and our learning from it so far.

Continue reading “How we ditched HTTP and transitioned to MQTT!”

Using Adapter Pattern for Viewing Multiple Tasks

In a previous post, we talked about our end customer tracking experience. HyperTrack’s Android and iOS Consumer SDKs enable developers to implement a smooth real-time location tracking experience in their consumer apps. Until now the SDKs were designed to view only one task at a time on the map. And then developers at echo plans requested a feature to view multiple tasks simultaneously on the same map view. echo plans is an app for groups of friends to plan meetups. Check out their blog post to learn more about echo plans and how they implemented location tracking with HyperTrack.

We redesigned the Consumer SDK to enable the feature for echo plans. In this post, we elaborate on the design pattern we followed. UI elements on the Consumer SDK – map markers, info layouts – can be customized to fit into the theme of the host app. Our goal was to make the new code design extensible and comprehensible, and thus make the Consumer SDK integration easy for the developers.

Continue reading “Using Adapter Pattern for Viewing Multiple Tasks”

Rendering realtime list using Angular2

We have built HyperTrack’s dashboard ground up using angular2. Oh and we released a brand spanking new version yesterday that you should check out if you haven’t already. Our dashboard provides realtime visualization of geospatial data for business users. One of the more popular views is the task page that lets you track all live tasks being performed by the workforce. Continue reading “Rendering realtime list using Angular2”

The all new HyperTrack dashboard

We received a ton of feature requests and feedback on the dashboard that we released along with the HyperTrack public Beta release a couple of months ago. Many iterations, beers, Murphy interventions and comfort food later, we are now announcing the release of HyperTrack dashboard v2. Here is what’s new. Continue reading “The all new HyperTrack dashboard”

How we designed the HyperTrack dashboard

(I am making this post on behalf of an awesome designer who chooses to remain anonymous. This person has designed multiple industry leading products used by tens of millions of users. I have the privilege of taking this design to production for our customers. Hope you like it!)

When we started designing Hypertrack, we got together with some of our key customers to understand what they needed to see. How can we give them a dashboard which is smart? How can we give them the information they need to see without them having to ask? We got them to sketch solutions to ensure we were building the right feature set. Continue reading “How we designed the HyperTrack dashboard”