Adding Precise Location to Any Device Just Got Easier With Skyhook's Lite Client

Apr 2, 2015   

Posted by Angela Diaco

Lat. 42.351994 Long. -71.047663

Millions of devices around the world trust Skyhook's Precision Location to deliver precise positioning. Our Precision Location SDK intelligently combines all available sensor data in a way that's proven to deliver highly accurate mobile location. But as new segments of lightweight devices enter the market, we've found that many have hardware limitations that prevent them from implementing this full spectrum solution. header_world

Introducing The Precision Location Lite Client: an open-source library that's easily ported to any platform or device. This C++ library with a C API exposed to applications provides Skyhook's highly accurate location technology, in a more lightweight package. This solves a major problem for smaller wearable, asset tracking or IoT devices that want to log user location. 

With this new offering available on Github, we're looking for developers who want to get their hands dirty, and showcase the problems they’re solving with our location technology. Our Precision Location Product Manager Nick Knellinger directed this launch, and wants developers to know what to expect with our latest release:

What's included in the Precision Location Lite Client?

  • Source code examples and implementation guide (Linux Platform) of how to implement a location-based solution using Skyhook positioning

  • A pluggable architecture that can be ported by the development community to many new platforms or devices

Who should use the Lite Client? What pain points does this solve?PL_LiteClient_Branch

Any small device that may not have available storage or memory space for our full SDK, but needs a basic location library to make calls and enable periodic location updates, is a candidate for the Precision Location Lite Client. 

It can also serve as a resource for developers writing their own code to collect radio frequency (RF) signal data to send to our API. Our hybrid positioning engine doesn't take location signals at face value - Precision Location factors in the nuances of signal data in order to accurately pinpoint devices, delivering the most accurate and fastest location.

In order for devices to request location from Skyhook, developers need to package nearby access points and cell towers (and their respective signal strength in dBm with the relative age of each reading in milliseconds) along with - if available - GPS data. The Lite Client packages up available signal data into properly formatted location requests as a reference code base, taking out a few extra steps for developers looking to leverage the Precision Location API directly. 

While there is immediate benefit for small devices, The Lite Client also provides a framework for developers of all types of applications and devices to port our remote location functionality to various operating systems. I think we’ll be surprised with the number of applications the Lite Client may fulfill.

How does it work?

The Precision Location Lite Client performs location requests and handles responses from our servers. It performs signal scans across Wi-Fi, cell tower and GPS (optional), packages those signals up, sends it to our server as a location request, parses and interprets the location response returned. The source tree is also distinctly split into two layers with the SPI layer providing a set of primitives dependent on platform specifics. This is the layer that can be ported to any OS, while still leveraging the generic platform independent Skyhook Location API logic.

What are you hoping developers can do / accomplish with this?

We want to open the conversation for developers to submit requests for how this project can further evolve our location solution. We also hope that developers create new branches of source code, and we see the software proliferate into new applications.

Overall, this is a great first step in providing new tools for the development community and small devices. We see this as an incremental step in making lighter and lighter packages for our customers and developers to enable location for all new kinds of devices and custom operating systems.

Ready to get started?

  VIEW ON GITHUB

 

Topics: Product Updates, Wearables, Iot