I’ve gotten a few reports since the launch today that geolocation is failing for some Stikki users. Instead of getting their precise location, Stikki retrieves another location entirely — usually somewhere a few miles away. I kept running into this during alpha testing, and the good news is I think I know where the problem lies. The bad news is, I can’t fix it.
To get your location, Stikki uses the geolocation tool that’s built into most modern browsers (with the exception of Internet Explorer 8 or earlier). This lets you use Javascript to retrieve a user’s current latitude and longitude. It does this by trying three methods:
- GPS, if your device has it, which returns extremely precise coordinates;
- Wifi hotspot triangulation, which uses Google’s database of wifi hotspot locations (gathered via their Street View program, presumably) to figure out where you are based on the hotspot you’re using and nearby hotspots; this returns relatively precise coordinates, usually within about a hundred meters of your actual location in my experience;
- IP address location mapping, which only returns the city you’re in, and often even that’s wrong.
So what’s happening when Stikki gets the wrong location for you is that the first two methods are failing for some reason. If you have a laptop, you probably don’t have GPS, and if you’re using the wifi triangulation, your wifi hotspot probably isn’t in Google’s database for some reason. Instead it’s just getting your city — or rather, the city that your IP address is associated with. In my case, when this happens, Stikki thinks I’m at the corner of Flamingo and Las Vegas Boulevard, because presumably that’s the geographic center of Paradise, Nevada, the suburb of Las Vegas where I live. In my friend Shea’s case, Stikki was reporting his location as being at City Hall in his town…which is what Google apparently thinks is the official “location” of his city.
Unfortunately, I can’t do anything about this. The geolocation API is basically a black box — you can ask it to give you coordinates, but you can’t control how it does this (aside from enabling high precision on coordinate retrieval, which Stikki does…if that precision is available). Nor does it tell you how accurate the returned coordinates are, so Stikki has no way of knowing whether or not you’re actually at those coordinates or even near them.
In my experience, sometimes refreshing your browser works. Moving to another wifi hotspot works too, though that’s obviously a really irritating way to make Stikki work. If anybody knows of any other way to fix this, please let me know. It’s lame, I know…but this is part of what happens when you build tools that use bleeding-edge technology.
Personally? I’m old enough to still be excited that it works at all.