Location fuzzing

Avoiding surprises
Probably the most important thing is to avoid surprises with the location support. The browser prompts the user for an opt-in (except Chromium and Epiphany), but this is currently done with no context about the site's use of your location. You aren't sure what's going to be done with your location, or how exact it's going to be, until after you post and see a map to your house.

If we give people an explicit chance to opt-in to browser geolocation lookups in their preferences, and show them exactly how accurate the lookups are going to be before they post, they have the chance to agree that that's ok or turn it off again.

Fuzzing accuracy
Some users of Identi.ca have responded negatively to the high level of accuracy of their geolocation. These users may be comfortable with showing accuracy to the neighborhood or city level. (Say 5km or 10km +/- from where you really are.)

However, we also don't want to make assumptions about user's requirements for location privacy. There's a lot of value in giving very precise coordinates for a cafe or restaurant the user's in, if they say, "Love the coffee here in Foobar Cafe!". Deliberately setting that notice to have a location 45km away is not useful. Other users could use geographical search later to find out who's said what about the location they're in. Not everyone posts from home, and many of us can be found easily with their name and the name of their city.

Often people are tempted to do this by adding a random offset from the real location -- this is totally unsafe, as multiple posts over time will accumulate a nice bulls-eye with your house at the center.

Truncating the last few digits off the coordinates is probably safer here, and also will give more consistent points on the map. Another value might be the lat/long provided by a geographical naming service (e.g. Geonames) for the nearest city.

If we want to keep multiple people in an area from showing on top of each other, we might do something like add a per-user fixed random offset onto the truncated coordinates.

Saving uncertainty
It may also be nice to record the uncertainty level, whether it comes from our explicit fuzzing, limited GPS accuracy, or having only a place name to look up. Eventually we may find better ways to show approximate locations on the map (showing me as at SF City Hall on a zoomed-in map because my location is "San Francisco" is confusing.)

Preferences mockup



 * Show what the map would show while you're poking at prefs
 * picking up either the browser-fetched location or the text you gave
 * avoid surprises: if it shows my house, I want to know *BEFORE* I post and can't remove it
 * Make it possible to switch off browser-location checking
 * if I don't like it, this keeps it from bugging me on every page view
 * if I change my mind, now I actually can disable it!
 * consider leaving off by default
 * Include an option to fuzz the machine-borne location lookups
 * should be on by default

Discussion
All of the systems that we use for getting locations are already opt-in, on the client side. If people don't want to share their location with us, they can clearly do that either with their Firefox or Chrome options or with the options in their desktop or mobile client. Adding extra switches in the circuit means we'll have more ways for people to fail to get the behaviour they want. "Turn this on, then turn this on, then turn that on, then verify this, then turn that on over there..."

I think that there's a tendency to want to add lots more switches to StatusNet to get microscopically-controlled behaviour. I don't want lots of switches in the StatusNet interface. Every single switch we have is a documentation and support problem. --Evan 15:45, 23 December 2009 (UTC)

Also, all our input systems allow fuzzing location. Double-fuzzing would again make it difficult for people to control how things work. --Evan 15:48, 23 December 2009 (UTC)


 * I'm unable to find a location fuzzing option in Firefox 3.5's preferences, can you provide a link? (It is at least possible to opt-out again after opting in but it's not very obvious -- you have to go in through 'Page Info' -> 'Permissions' which I never even realized existed, whereas I tried looking places like 'Preferneces' -> 'Privacy'. But the only options are "Always ask" and "Allow" or "Block", I see nothing about specifying an acceptable accuracy level.)


 * I can't find a fuzz option in iPhone/Mobile Safari either; the only options presented to me are "Share" or "Don't Share" when the site asks, and a global 'Location Services' on or off. --brion 19:35, 23 December 2009 (UTC)


 * As you pointed out above, Firefox gives an accuracy level as part of the JS geolocation tool. --Evan 16:32, 24 December 2009 (UTC)

As far as avoiding surprises: I'm continually surprised how cool this feature is, and many other users are, too. I don't want to avoid that surprise. --Evan 23:29, 24 December 2009 (UTC)