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



      
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to