Determining indoor location based on Wi-Fi signal strength is easy enough if you know precisely where the access points are located, but gathering that information across a wide area is time-consuming.
What, though, if you could offer an indoor location service while crowdsourcing the information needed to provide it? Two companies exhibiting at Mobile World Congress, InLocoMedia and Sensewhere, are doing just that — but with quite different business models.
InLocoMedia, from Recife, Brazil, provides a proximity-based messaging service to local app developers and advertisers in return for expanding its mapping database, while Edinburgh-based Sensewhere provides its indoor location service royalty-free to its first client and major investor, Chinese Internet portal Tencent.
They offer their services through SDKs that app developers can integrate into their apps, and take a similar technical approach to the process of determining location.
It's easy enough for apps to determine a phone's location outdoors using GPS signals, but those signals are lost the moment a phone enters a building.
At that point, an app built with an SDK from InLocoMedia or Sensewhere can start using the phone's gyroscope and accelerometer to calculate its position based on how far and in which direction the phone has moved since the last known GPS fix, a navigation process known as dead reckoning. As it does so, it also notes the identity and signal strength of nearby Wi-Fi access points, and transmits that information, along with its calculated position, to a server for logging in a database.
InLocoMedia's SDK "fingerprints" the Wi-Fi signals and also the magnetic field strength registered by the phone's compass sensor with every step the accelerometers detect, said COO Alan Gomes.
Dead reckoning only works for a few minutes at a time, said Sensewhere's vice-president of business development J. Blake Bullock: The real and calculated positions gradually diverge as the output of the cheap sensors used in phones drifts.
If an area has already been surveyed at least once, though, an app using one of the SDKs doesn't need to rely on dead reckoning alone: It can compare the strength of the Wi-Fi signals it detects with those previously observed, and refine the calculation of the phone's position by a process similar to triangulation.
Calculating location from Wi-Fi signals is nothing new: Mobile operating systems can already determine their location to within tens of meters using databases of Wi-Fi access points maintained by Google and Skyhook.
More precise location services based on Wi-Fi triangulation have been around for years, too. One such was Stanford-based startup WiFiSlam, which demonstrated its system in 2011 and was then acquired by Apple in 2013.
The limitation of earlier approaches, though, is that they required someone to map all the Wi-Fi access points with some precision before they can be used. Those using Bluetooth beacons have a similar drawback, with the added disadvantage that people need to activate Bluetooth on their phones in order to use them, while they probably already have Wi-Fi on to reduce cellular data costs whenever possible.
Sign up for CIO Asia eNewsletters.