Forget about “Share my location”, how do they get my location?

Posted by on Jul 16, 2010 in Blog, Uncategorized | 2 comments

I was in the airport a month or so ago, reading about the new location API’s in modern browsers.  Interesting I though, that’ll change the way web sites can provide services.  Then a couple of weeks ago, a new version of Opera was released, which, you guessed it, included this new location API.  After the installation and restart, the what’s new page opened, with an invitation to see where all the other Opera users were, by letting the browser automagically add my location to the map too.  Fantastic I thought, let’s see how I go, as being based in Tassie, these services are normally so far off, it’s funny, or depressing, depending on my mood at the time.  Sure enough, a permission bar pops up at the top of the window, requesting permission to “Share my location” it asks.  I dutifully click the Yes button and go on with something else (you can see I’m not expecting much at this point).  I notice the page has finished loading, glance at the result, and WHOA, nearly fall off my chair, that’s when the silly nervous giggle sets in.
This thing had somehow pin pointed my location to within one street of my address, in a semi rural location (I glance up and see sheep and cows through the window).  Now I should qualify, I’m using a standard 2010 MapBook Pro, with WiFi and Bluetooth as the only receivers.  No mobile phone, WiMax, or GPS, just a standard laptop.

If ever there was a cause to dig a little deeper, this was it, my thirst for new knowledge was pounding.  So let’s look at all the different currently at play to determine our location.  I think we’ll limit it to automated methods, lest I have someone ask me about paper maps and a compass.

GPS
No need to go into too much detail here at this stage.  It involves satellites orbiting the earth, transmitting their location and timings down to us.  Any receiver that can pick up the signals, then uses a process of triangulation to determine the current position.  There are a whole lot of smarts that go into making positions more accurate, but I’ll leave them for another post.

Dead Reckoning
I like this one for it’s mechanical rawness.  Think back to any orienteering you did in cubs/scouts, or perhaps at school, if you didn’t do any of these, as a last resort, try and remember pirate treasure stories from your youth.  By starting in a known position, and knowing how far you’ve moved in a given direction you can calculate your new position.  Change direction to a prescribed angle and continue.  As long as all of the changes are measured, you can determine your new position. The modern equivalent are devices which can accurately record changes in direction and speed, to work out where you are.  This used to be the standard way for submarine torpedo’s to be directed, relative to the launching sub.  More recently seen on higher end car navigation devices, to continue providing location whilst in tunnels, or other locations where no GPS position is possible.  The downside, is that the longer (in time) you go from a known position, and the more complex your path, the less accurate your new position is.

IP Address Mapping
Until recently, this was the primary way of identifying the location of on line computers.  It involves databases of IP address pools, and the geographic location they’re normally distributed too.   It was a simple matter of cross referencing your IP address with this database, to find your current location.  As you can imagine it is a highly generalised location.  Useful for determining country of origin, or even city in some cases, but as a general rule, you wouldn’t want to use it to find the closest coffee shop.

Mobile Phone Towers
By knowing the position of each mobile phone (cell) tower, we can use any device capable of communicating with them to get the tower ID, look up the location and triangulate based on signal strength.  It’s nice because it’s simple, though I was a little skeptical when this was first proposed years ago, in that I didn’t expect phone companies to publish tower ID’s and location information.  As luck would have it however, the government had the details (in Australia at least), and made it publicly available, which was unexpected, yet highly appreciated.  Through numerous aggregators, there are plenty of one stop shops where software developers can retrieve this info from, regardless of country.  The best thing about having access to official data, is that while community driven approaches are great, there are often holes in datasets for regional areas.

WiFi Access Points
This is the new kid on the block, and while the concept has been around for a while, like all community projects, without the critical mass, it just didn’t take off.  Enter the commercial sector.  Remember how Google got wrapped over the knuckles for harvesting WiFi details?  Now while the uproar was about collecting traffic on private networks, you can bet, London to a brick (thanks Paul K for the phrase), that they would have been mapping WiFi access points at the same time.  Anyway, to cut to the chase, using the same technique as the mobile phone tower triangulation, WiFi networks can be used.  And as they’re lower power then phone towers, you have to be closer to pick them up, hence when you do get a signal, your position is much more accurate, though we’re still not talking about digging up a street for a water valve using this technique.  The other advantage is that your device only has to support WiFi.  Anyone with standard iPaq’s now have location services at their disposal.  What did pip my interest however, was that Google’s playing catch up in this respect.  You see there’s already a company, Skyhook Wireless, with a model so simple, it’s staggeringly brilliant. To get it all off the ground, they war-drove the streets of the world mapping WiFi locations.  Now how many cities, and where, I don’t know, but anyone that gets down to my part of the globe deserves kudos.  Once they had this critical mass of information, they provide an API which developers can use in their products to interrogate this database.  That’s the expected part.  The brilliance comes into play by keeping the database up to date.  You see, when you agree to share your location, the local WiFi points are verified, new ones noted, and if you have a GPS installed, accuracy of the data is checked and updated.  This in effect turns the service consumer into the service maintainer.  It’s a brilliant system of using sensors already deployed in mobile devices to collect and verify data.

I think it’s worth pointing out a significant advantage of the phone and WiFi solutions.  You see, even though I have a GPS for development, it’s the other side of the room, next to a window, because I’d get no reception at my desk, needing a clear view of the sky. The phone and WiFi however, have no such limitations.  I can’t wait to see implementations in offices, where you can walk into a meeting room, with it’s own WiFi, and your computer just knows which services are available by location.  Imagine too, your colleagues knowing which room you’re in, when they have to find you, because the corporate presence tool, can publish where you are inside the building (Do you need to see a doctor?  No-one should need to be in the toilet that long!).  The possibilities are endless.

So back to me nearly falling off my chair, and why they were a street out.  Well, seeing as I live in a cul-de-sac, they just drove straight down the connecting street, the only one in a couple of hundred meters, and must have picked up my signal from there.  So no, it’s not perfect, but it’s a whole lot closer than anything I’ve seen to date, for location services where we’re only interested in the vicinity, rather than position.

Relative accuracy chart

Technology Accuracy
GPS 30m to sub decimeter
Dead Reckoning Variable. A good read here though.
IP Address Mapping Normally city based, though I am usually reported to be roughly 1000 km away.
Mobile Phone Towers 1000m or less
WiFi 100m or less

If you can think of any other positioning technologies, I’ve missed, please let me know.

2 Comments

  1. Fascinating. I had to read it twice to really understand, but I guess once we have wifi and mobile towers all over the planet we won't need satellites in the air and GPS? How about a short how to for dummies like me? Your version on Opera is obviously not the screaming match I'm familiar with! The bit about tracking me when I'm in the dunny is too scary, and of course will spawn a new breed of scramblers etc – hey but maybe we should just turn our devices off now and then…

  2. Hi Al,

    The thing to note is that WiFi and mobile technologies are great for vicinity. Where you need a location, GPS (and its variants) is still the best option. Needless to say, I doubt we'll ever see a situation where we have good global mobile coverage on land, let alone sea.

    Regarding tracking in the dunny (toilet for our international visitors), I wonder if a new standard clause in EBA's will refer to the provision of lead lined stalls 😉

Leave a Reply

Your email address will not be published. Required fields are marked *