Designed to be offline-first

“You can’t sacrifice partition tolerance” – is one of the more influential articles that I have read on distributed systems design. It talks about applying the CAP theorem: in any distributed system design, choosing between consistency, availability and partition tolerance is a trilemma – you can only choose two of the three.

Theoretical computer science aside, the point it makes is that any practical distributed system needs to have partition tolerance built in. Remote nodes will die, networks will be flaky, and message packets will get lost – and that is how the world is.

Continue reading “Designed to be offline-first”

Solving true time at HyperTrack

One of the major problems that affects the operation of real-time location tracking is patchy mobile network connectivity. Our users trust our SDKs by plugging them into their apps that are out in the big bad world. We guarantee uninterrupted operation of the app regardless of network connectivity. Our SDKs are built to be offline-first. Collecting and handling location data on the smartphone is resilient against bad network. As a result, it is considered to be the source of truth for all data including time – a crucial dimension for real-time location tracking.

Continue reading “Solving true time at HyperTrack”

The missing dimension in geospatial data formats

Geospatial data forms the core at various data structures in the HyperTrack stack. Historically, geospatial data structures and primitives have been built to service applications that use current location in a point-in-time manner. Geospatial data structures need to be re-imagined as applications of the future start using continuous location tracking. The timestamps of locations become a critical dimension.

Continue reading “The missing dimension in geospatial data formats”

Our new API status page

At HyperTrack, we are building the easiest way for developers to implement location tracking in their applications. The performance and reliability of our API services contributes to the performance and reliability of these applications. Therefore, one of our goals is to make this information publicly visible. Expect us to keep you fully informed of any issues with HyperTrack.

With this objective, our services status page is going live today at status.hypertrack.io. The status page will give you instant uptime information for all HyperTrack services. In addition, any performance issues or outages will be reported on it. You can subscribe via email to the updates, in which case you will receive all incident reports in your inbox. Alternatively, you can follow @hypertrackinfo on Twitter. Continue reading “Our new API status page”

Using activity recognition for better ETAs and status events

In one of our previous posts, we showed you the consumer experience for a task that is tracked with HyperTrack. Accurate status events are an important piece for a good user experience. In this post, we take a deeper look into the data model that powers these events, and how you can use them in your application.

status-events-2
Status events

Continue reading “Using activity recognition for better ETAs and status events”

Using Celery at HyperTrack

Our goal in devops at HyperTrack is to reduce the request response lifecycle of API calls and make them super fast. To achieve this goal, our architecture offloads some tasks out of the synchronous request lifecycle of the application. We accomplish this with Celery, which has become a crucial component in our tech stack at HyperTrack, to execute asynchronous tasks. Continue reading “Using Celery at HyperTrack”

Getting accurate location data

One of the basic problems in track and trace for local deliveries is getting live and accurate location data of persons or items. Traditional logistics companies have used RFID or standalone GPS chips for this purpose. With the rise of smartphones, such standalone devices are not required. In the on-demand economy, the ubiquitous smartphone is the source of location data. Let’s see what location data from smartphones looks like, and how it can be used to build a smooth tracking experience. Continue reading “Getting accurate location data”