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