Sensewhere and InLocoMedia get around the initial mapping problem by crowdsourcing the survey information. They use GPS fixes at the entrances of buildings as the starting points for their dead-reckoning calculations, gradually refining the accuracy and coverage of their databases using observed Wi-Fi signals from hundreds of visits, until the locations of nearby access points are determined sufficiently accurately that they too can be used as jumping-off points for further indoor exploration.
There's little impact on battery life, the companies say.
Gomes reckons InLocoMedia's system consumes an extra 0.5 to 1 percent of a phone's battery capacity per day, as the operating system is already gathering most of the sensor data on which it relies. "If you activate the GPS for five minutes, it's going to drain more than that," he said.
As for Sensewhere, its SDK uses 50 percent less power than Android's own location service, and is more accurate, according to Bullock. To reduce power consumption and data costs, a phone running Sensewhere's SDK doesn't contact the server on each step. "We send down a small snapshot of the database so it knows the location of Wi-Fi access points in the vicinity. If you walk 10 minutes, it might not need an update," Bullock said.
But what about the privacy implications of tracking a phone's position all day?
Sensewhere only stores the Wi-Fi signal measurements and associated locations on its servers, and does not record identifying information from the phone, Bullock said. The company's business model is simply to provide app developers with the location SDK and service, and any further association between the phone's location and its owner's identity is up to them. Its first customer, Tencent invested millions in the company in return for a royalty-free license to use Sensewhere's SDK in its mapping service.
InLocoMedia's business model of delivering location-based advertising might raise doubts about privacy, but app developers don't get to track users, Gomes said. The mapping database associates no identifying information with the location fingerprints, he said. As for the apps that share in the revenue from InLocoMedia's location-based advertising, they only know that a messaging event has been triggered, he said.
Advertisers may be able to infer a little more: "They might want to target ads at people who have recently been in a particular aisle in a grocery store," Gomes said. That's something InLocoMedia can help with but, he said, the company won't let advertisers target clusters of fewer than 5,000 users, to avoid the risk that messaging becomes too personal.
In addition, phone users can opt out of ad tracking altogether using their mobile operating system's existing settings, he said.
Sign up for CIO Asia eNewsletters.