Strawman Proposal: Wireless Access Point Geolocation, and Location-Linked Behaviours

Andrew Coles andrew_coles at
Tue Apr 14 15:26:51 CEST 2009

Two-point summary:

1) Exploit geolocation based on visible wireless access points with known locations.  Works indoors, works without GPS.
2) An abstraction layer over this information into named zones, with zone-linked system behaviour - e.g. when I go into lecture theatre zone, switch the power management settings onto 'Presentation', get ready for an external display to be plugged in, and disable all system-tray notifications.

I suppose I should probably preface this with a little background.  By day, I'm a research fellow in AI (at the University of Strathclyde, where the Glasgow aKademy was held a few year ago), and I'm a few offices away from researchers into mobile human--computer interaction.  Through them, I find out about some really cool stuff to do with location-aware computing, and it's this which led me to think about using location-aware computing in slightly-less-mobile devices; i.e. laptops rather than palmtops.

So, to begin.  Wireless access points are everywhere, and one can make some pretty basic location deductions from them.  For instance:
- if I can see 'Hello' with MAC x:y:z, I'm at home;
- if I can see my parents'/in-laws' neighbours' AP, I'm visiting them;
- if I can see CIS-WLAN, I'm in the office;
- if I can see Strathclyde but not CIS-WLAN I'm elsewhere on campus.

So at the very least, this sort of information can be used to do ad-hoc geolocation with a bit of user-provided data - rough location markers, linked to MACs and/or connection names.

Moving one step beyond this, the PlaceLab toolkit combined with the WiGLE database allows rough triangulation of location based on a database of fixed-position APs and their current signal strengths.  If memory serves, on the streets in Glasgow the resolution is somewhere within the 50-100m mark.  That's not bad - not as good as GPS, but for ad-hoc, is pretty good going.  Indoors, where GPS falls down, one can do much better.  I could add to WiGLE the details of where the access points around the four floors of my department are - latitude, longitude, altitude.  With this, it can differentiate between my office and the meeting room along the building and three floors down.

So, what can one do with this?  With a my bulleted rules, I could tell where I am to the level of 'home/parents'/in-laws/office'.  I could tie the weather into that, for instance, and that would be useful.  With WiGLE, one could cross fingers and hope for 100m accuracy and do something with that; or even with 2000m accuracy, it would give a city and country name.  All of this is likely more accurate than IP geolocation - which thinks I'm 200 miles away.

What excites me the most, though, is the room-level wireless AP geolocation.  Obviously, the weather won't change when I move around the building - the UK has unpredictable weather, but it's not /that/ unpredictable.  What does change, certainly in my case, is my intention.  Using my laptop in my office typically means I'm sat doing work; if I go to the meeting room or a lecture theatre, and have my laptop switched on, I'm usually about to give a presentation; and so on.  For this, I envisage defining `zones' with geolocation-based triggers (GPS, wireless AP, or otherwise), and attaching effects to these.  My running example on giving a lecture or talk, for instance:

- Zone is active if either:
  * Lat/Long/Altitude points towards me being in in one of the departmental meeting rooms;
  * Can see Strathclyde but cannot see CIS-WLAN (i.e. somewhere else on campus).
- On entering the zone:
  * Battery Monitor to 'Presentation'
  * krandr to 1024x768, --output VGA --same-as LVDS
  * Turn off all non-critical notifications (so I don't get MSN messages during talks ;) )
- On leaving:
  * Restore settings to previous values

Even without room-level geolocation, it would be neat to do something things as simple as:
- Zone is active if either:
  * Country Code = GB
  * Reverse Geocoding on Lat/Long gives GB
- On entering the zone:
  * Set Time Zone to London
- On leaving:
  * Restore Time Zone

PlaceLab exists, WiGLE has data, and it's trivial to add extra or even have an offline cache.  The pie-in-the-sky is the glue to hook that in as a Data Engine, and then being able to set behaviours triggered by location.

So, now to flame, praise, or be fairly ambivalent - over to you :).



More information about the Plasma-devel mailing list