Saturday, February 02, 2008

Skyhook sends me to Kansas

I've been playing a bit with Skyhook's system for locating you based on nearby Wi-Fi networks. It's quite funky and comes built into new iPhones and the latest iPod Touch firmware. They've mapped a lot of the US and the top 50 European cities, including Dublin.

The way it works apparently is that the do a wardrive and log the MAC addresses of all the APs, along with the GPS co-ords of where they're visible. When you run their location service it scans for nearby APs and sends the list to Skyhook; they send back their best guesstimate of where you are. Works great around town.

They also have a neat "self-healing" feature: each time you query for your location, they add any unknown APs to their DB, so their coverage area slowly expands as people use the service, at no cost to them. Neat, right?

Well, almost. I tried the service in my apartment last week, and Skyhook didn't know where I was. Fair enough, since I'm in a block of apartments surrounded by more blocks and the Google Europe HQ. Then, tonight I fire up the client again, and Skyhook happily pinpoints my location... to here. About 4000 miles away from where I am. Wha?

It took me a while to figure out what's going on (at least, what I think is going on...). There's a new AP visible from my apartment, with an SSID that looks like it's a PS3. Best I can tell, someone went home for a vacation (loads of American
googlites here) and brought back their PS3... which Skyhook thinks is still in Kansas.

The interesting thing is going to be what happens with the "self-healing" algorithm... I imagine that now Skyhook thinks that all the previously unknown APs I can see are in Kansas too, and that bit of Dublin that they think is in Kansas will grow steadily as more people do lookups. Eventually it'll collide with something they think is in Dublin, and then who knows....