Bug 68536 - Provide a way to override location
Summary: Provide a way to override location
Status: RESOLVED INVALID
Alias: None
Product: GeoClue
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Geoclue Bugs
QA Contact: Geoclue Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-25 15:39 UTC by Zeeshan Ali
Modified: 2015-03-02 18:35 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Zeeshan Ali 2013-08-25 15:39:53 UTC
IIUC from what Jussi told me, geoclue1 provided an API for apps to override location. We could restrict this API to a handful of whitelisted apps (e.g GNOME Maps) but I think its a must, especially right now when we only have a very unreliable source only.

Bastien, if you agree, I can add this API.
Comment 1 Zeeshan Ali 2013-08-25 15:40:41 UTC
The current exact usecase I've in mind is user be able to say "I'm here!" in Maps.
Comment 2 Zeeshan Ali 2013-08-26 13:04:40 UTC
Forgot to mention an important bit: I was hoping that we can later use
the same API to allow certain apps (GNOME Maps) to submit updates to
geoip and wlan databases. With GPS and 3G modems not available on most
laptops and especially on almost no desktops, we are very much
dependent on these databases and the ones we are using (or going to
use) are either not accurate enough (geoip db is city-level as you
know) or extremely far far away from complete (openwlanmap is mostly
only good in germany).
Comment 3 Bastien Nocera 2013-09-05 19:25:26 UTC
I don't think we want that. If a specific application wants to know the location, but can't, it can ask the user to set it. This would be a fairly similar flow as the user refusing that the app use Geolocation services.

Furthermore, it would make per-app source selection harder (what information do we give out to specific applications with different accuracy requirements, how do we narrow down the accuracy when the GPS gets calibrated, etc.).

I would rather we used something like python-dbusmock to create a fake geoclue service that applications can test themselves against (similarly to how we have mock upower, or gnome-session in gnome-settings-daemon's power tests, in plugins/power/*.py).
Comment 4 Jussi Kukkonen 2013-09-06 07:51:47 UTC
For background: the problem case that needs to be solved is getting plain wrong location data from a data source for a substantial period of time. 

I have personally been IP-located to somewhere in Germany when I was actually in London (using both geoip and by Maxmind, by the way), even though the ISP was local -- using a VPN endpoint in another country is a good way to reproduce the problem.

This is annoying enough for things like Maps startup zooming in on the wrong location but if we're doing things like automatically setting timezone based on this data... there really needs to be a way to say "No, I'm not actually in Germany, please don't ever do this again".
Comment 5 Zeeshan Ali 2013-09-06 13:33:26 UTC
(In reply to comment #4)
> For background: the problem case that needs to be solved is getting plain
> wrong location data from a data source for a substantial period of time. 
> 
> I have personally been IP-located to somewhere in Germany when I was
> actually in London (using both geoip and by Maxmind, by the way), even
> though the ISP was local -- using a VPN endpoint in another country is a
> good way to reproduce the problem.

Well IP-based geoclotion is prone to this, we desperately need wifi- and 3G/GPS sources, especially the former as 3G isn't as common as we'd like it to be.

> This is annoying enough for things like Maps startup zooming in on the wrong
> location but if we're doing things like automatically setting timezone based
> on this data... there really needs to be a way to say "No, I'm not actually
> in Germany, please don't ever do this again".

In Maps, you have the ability now to set your own location and when you do, Maps doesn't try to automatically update your location unless you ask it to.

In case of auto tz change, Kalle tells me that user is presented w/ opportunity to change the tz back and maybe we can make it even more easy for user to revert the tz: https://plus.google.com/u/0/109973678654056732542/posts/HvSWpgL2Lmf

So overriding of location remaining in apps themselves is not really an issue. What I really want to do is for user to be easily able to submit data to geoip/wifi-geolocation server so these open DBs we use can be improved gradually for our users. Seems like geoclue would be the place for that and if not, I guess Maps should do that on its own.

I was thinking something like this in Maps:

1. User clicks on "I'm here" option.
2. Maps updates user's location.
3. User is presented w/ an ignorable notification[1][2] that says something like "Submit network information to server for improved location detection?"
4. User clicks "Yes".
5. We gather info on wifi APs around through NetworkManager and sumit that to openwlanmap.org.


[1] Like this one (i-e not dialog): https://github.com/gnome-design-team/gnome-mockups/raw/master/boxes/boxes-notifications.png
[2] The notification can also have an timeout of a few seconds.
Comment 6 Zeeshan Ali 2013-09-06 13:34:21 UTC
(In reply to comment #5)
> In case of auto tz change, Kalle tells me that user is presented w/

Sorry, I meant Kalev of course. :) Finnish is growing on me..
Comment 7 Bastien Nocera 2013-09-06 17:52:34 UTC
- we can override DBs from MaxMind with our own data, as we own the location service, which should help fix Jussi's problem.
- submitting new information to users should only be done when we have verifiable location information (eg. it should come from a real GPS, not from the user as the user's accuracy might not be up to scratch).
Comment 8 Zeeshan Ali 2013-09-06 20:44:13 UTC
(In reply to comment #7)
> - we can override DBs from MaxMind with our own data, as we own the location
> service, which should help fix Jussi's problem.
> - submitting new information to users should only be done when we have
> verifiable location information (eg. it should come from a real GPS, not
> from the user as the user's accuracy might not be up to scratch).

How many people have GPS on their laptops and especially desktops? If even 40% of our users would have GPS, I'd agree but I seriously doubt that is the case. I'd say we're better off advertising the android app from openwlanmap instead then:

http://www.openwlanmap.org/owlmapatandroid.php?lang=en
Comment 9 Zeeshan Ali 2015-03-02 18:35:55 UTC
With us now depending on Mozilla Location Services and them providing a nice android app to harvest data, I think we can close this.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.