Thanks to the amazing advances in adoption of mobile platforms, this dream has more or less become true, especially in the more widespread Apple and Android ecosystems. All these devices know where they are, and developers are coming up with different smart applications to utilize this information.
The free software world has been at risk of getting left behind. GeoClue, the location framework designed for these environments was in a state of flux for a long time with very little happening to it. But now we have GeoClue2, a rewritten implementation of the original idea.
Zeeshan Ali spoke about GNOME’s geo-awareness, which is undergoing a rewrite. Geo-awareness consists of four major pieces, he said. The first is geolocation, or the “where am I?” question. The second is the opposite; the user wants to find a different location: a particular address, a nearby restaurant or gas station, or other points of interest. The third issue is routing, finding the best way to get between locations. Finally, there is the user interface topic: locations, points of interest, and routes all need to be presented to the user on a map.
GeoClue2 can determine location from four different sources: coordinates from GPS devices (the most accurate), the location of nearby WiFi access points (which is accurate to just a few hundred meters), the location of 3G cellular towers (which are accurate only to a few kilometers), and IP addresses (which are accurate only down to the city level).
A major shortcoming that the new service addresses is privacy:
GeoClue2 also offers better privacy controls; the previous version of the library would provide the current location to any application; with GeoClue2, GNOME will require the user to confirm location requests from each application.
Kudos to Zeeshan and the others involved for keeping the location-aware dream alive!
I haven’t personally been involved much in the free desktop world lately. This is mainly because I’ve been busy trying to change the worlds of web publishing and software development, but also because I don’t really have a desktop at the moment. Instead, I do my work with an Android tablet and a web browser with an attached keyboard. But despite that, I hope this will be picked up not only by GNOME, but by the other Linux ecosystems as well.