Strawman Proposal: Wireless Access Point Geolocation, and Location-Linked Behaviours
Andrew Coles
andrew_coles at yahoo.co.uk
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 :).
Andrew
More information about the Plasma-devel
mailing list