Perhaps Steve Jobs’ mock location demo wasn’t so mock after all. Tuesday at his keynote at MacWorld, the Apple CEO showed off the iPhone’s ability to pinpoint his location in Moscone West using information from the wireless networks the phone was linked to. Google has had this rather useful feature enabled for several months on all of its stand-alone versions of Google Maps , so the demo seemed to be old news as well as far-fetched, since cellular location isn’t that accurate.
But it turns out there was more to the demo than met the eye. The iPhone wasn’t just triangulating location from cell towers, but tapping into location data from the dozens of Wi-Fi routers that litter Moscone. Apple has contracted out with Skyhook Wireless to provide Wi-Fi location. Shyhook is one of several companies that have wandered around major metro areas with a signal sniffer, mapping the Media Application Control (MAC) addresses of every access point it can find. It doesn’t matter if a Wi-Fi network is private, the access point still reveals its address to the public, giving Skyhook hundreds of thousands of quasi-unique identifiers which it then maps to GPS coordinates. When the iPhone detects a signal, Skyhook knows where its owner is within the radius of the Wi-Fi router, and if it detects more than one signal, additonal software can pinpoint an approximate location.
According to Skyhook, cellular location can put as much as 1000 meters off from your location–not good for vehicle navigation–while Wi-Fi positioning is accurate to within 50 meters most of the time. The problem is, Wi-Fi may seem like it’s everywhere, but it’s not everywhere. Being in the middle of a convention center that is crammed with Wi-Fi, Jobs had no problems, but try getting it on the freeway or on a train or outside of a dense residential area. All it needs is a weak signal, but in some cases a weak signal is hard to come by. The other issue is that access points, unlike base stations, are fairly portable. They go online and offline, people move them about in a house or they just plain move. A MAC address registering in New York one week can wind up in Cleveland the next.
Skyhook adjusts its maps accordingly when a displaced MAC address is detected, but Jobs doesn’t appear to be taking any chances. The iPhone is using both Google’s cellular-location and Skyhook’s Wi-Fi positioning simultaneously. Not bad, but wouldn’t it have just been easier to embed GPS in the thing?