[Updated 9:20 p.m. EDT 7/10/09 with responses from Google; see the sections marked “Update” below]
Yesterday Google announced that the “My Location” feature familiar to anyone who’s used Google Maps on a mobile device—the little blue button that shows you your position on a map—is now available to people accessing Google Maps from their laptop or desktop computers as well (as long as they’re using the latest versions of the Firefox or Chrome browsers). But there’s a problem: Users are reporting in large numbers today that the My Location feature is erratic, placing them in the wrong city and occasionally on the wrong continent.
Behind this phenomenon, it turns out, is a story about competing ideas on the best way to endow Web-based applications like mapping programs with an awareness of their location—and about the race between companies like Google, Microsoft, and Boston’s Skyhook Wireless to control the way location information is fed to these applications. Skyhook’s CEO, Ted Morgan, gave me his perspective on the Google Maps development in an interview this morning. (See below for our Q&A.)
You might think that all browsers would handle location-finding in the same way. And that’s the ideal—the Cambridge, MA-based World Wide Web Consortium (W3C) has a draft Geolocation API (application programming interface) specification that spells out how browsers should pass the details about a computer’s location from the computer itself to the Web applications running inside the browser. But as Morgan explains, the W3C standard doesn’t specify where or how the browser should get this information from the computer—which leaves room open for competing approaches, and potentially for back-room deals.
Several years ago, Skyhook developed a browser plugin called Loki that taps into a computer’s Wi-Fi chip, takes a reading of all nearby Wi-Fi access points, and uses Skyhook’s proprietary database of access point locations around the world to triangulate the device’s location. The Apple iPhone uses this Skyhook technology whenever its Safari browser or its built-in Google Maps application request location data.
But when Google rolled out the “My Location” feature for laptop and desktop computers, the company decided to use its own geolocation algorithms rather than Skyhook’s. That was possible because the Mozilla Foundation built Google’s algorithms into the latest version of its open-source browser, Firefox 3.5, which was released on June 30. (Google also built the algorithms, not surprisingly, into its own Chrome browser.)
Google’s geolocation technology is similar in principle to Skyhook’s—it also depends largely on information about nearby Wi-Fi access points—but the accuracy of the locations actually produced by the new “My Location” feature seems to vary wildly, as users have been discovering over the last day and half. Judging from posts on Twitter, the Google system is placing some people thousands of miles away from their actual locations.
An unusual number of people, for example, report that the My Location feature shows them as being in downtown Austin, TX, even if they’re half a continent away. “Google Maps’ new ‘Show My Location’ feature puts me in the middle of Austin, TX. I’m actually downtown Manhattan,’ PhoneTag.com co-founder Mark Dillon tweeted today.
While Austin may be the center of the tech world for some South by Southwest addicts, it clearly hasn’t experienced any actual jump in population since Thursday. The problem, according to Skyhook CEO Ted Morgan, lies in the way Google collects the data behind its Wi-Fi-based positioning system. For information about the locations of access points, Google relies on crowdsourcing—it quietly gathers local readings every time someone uses a Google app on an iPhone or a Blackberry, or some other mobile device.
Crowdsourcing is an inherently sloppy approach, according to Morgan. Skyhook’s own approach is to send Wi-Fi-sensing vehicles down every highway, street, and alley, methodically establishing the position and strength of every access point they pass (most are broadband routers owned by local businesses and residents). Morgan says Skyhook has also developed ways of correcting for the fact that access points sometimes move—for example, when someone relocates their home from Austin to Manhattan.
[UPDATE: Google offers a different reason for the inaccuracies. Reached by e-mail this evening, Google communications officer Elaine Filadelfo said users having issues with accuracy “are likely users who are not using Wi-Fi, for which we can generally provide a more accurate location. Without Wi-Fi, we base location on IP address, which can be inaccurate depending on your ISP and its location.”]
Morgan would like to give every developer working on location-aware Web applications the opportunity to tap into Skyhook’s more accurate database through Loki. The problem is that