5 ms·
I always felt that if I was going to provide a location that every time the query returns the result it would add randomness... but even then, with enough queri
by coding123 6y ago
I always felt that if I was going to provide a location that every time the query returns the result it would add randomness... but even then, with enough queries you'd be painting a circle over the user's actual location. So the real way to do this correctly is to lump people into the nearest intersection (like in the middle of a road intersection). And all queries related to that user would move them there. Then again, what about extremely rural people that have 1 intersection that pinpoints just them?
There's no good way to return location data about other people.
- datfrojo 6y agoHere’s an interesting article on Tinder’s solution to this problem: https://robertheaton.com/2018/07/09/how-tinder-keeps-your-location-a-bit-private/ https://robertheaton.com/2018/07/09/how-tinder-keeps-your-lo...
- petre 6y agoIt can be easier. One could geohash the location with a certain precision, say 5 = ±2.4 km and only display people in that geohash and the neigbouring geohashes. https://en.m.wikipedia.org/wiki/Geohash https://en.m.wikipedia.org/wiki/Geohash
- deleted 6y ago[deleted]
- ericpauley 6y agoThe functional component of this technique is still just quantization (as in the parent). One might argue that this is actually more complicated.
- randyrand 6y agoThe article asks why they don’t just use grid snapping only. If you lived on a boundary it would be very clear because your location would change very often, perhaps just by walking to the kitchen.
- ape4 6y agoIt could use neighborhood. Use GPS to locate your neighborhood then give your location as the townhall or central park or whatever in that area.
- tharkun__ 6y agoChanging what you use as the boundary doesn't change the fact that if you're close enough to the actual boundary, you will jump a lot. So you have to go quite large with the boundary for it to limit the pinpointing. Having larger areas within your boundaries makes the feature much less 'useful' though. Which granularity: Harlem/Hell's Kitchen etc? West Harlem/East Harlem etc? Manhattan/Long Island? New York/New Jersey etc.? Feature wise you would probably want at least something like Harlem/Hell's kitchen granularity and there are unfortunately enough people living on the borders of all of these that you could pinpoint those just from GPS inaccuracies.
- shawnz 6y agoPerhaps you could add some sort of hysteresis such that it continues to report you as being in the previous grid square unless you go >1/2 a grid square distance away from it
- pbhjpbhj 6y agoNaively, for democratic countries, I'd imagine you could piggyback off existing political divisions, in the UK that would be electoral wards or shire/city districts. Such divisions should span a reasonable range of people, rather than a geography. In Scotland it would be "council areas". Though maybe some places have political divisions with only one or two people in that would seem strange?
- exporectomy 6y agoThe service itself will know how many users are where and can make its own boundaries. "Same city" would often be pretty useless for finding people to meet immediately in real life.
- eigenvalue 6y agoI suppose instead of adding Gaussian random noise to the coordinates, you could draw the random perturbations from a power law distribution with long tails so it’s less clear what the “center of the circle” is from many random draws.
- throwaway2245 6y agoOr you could add a 'salt' to the location, before adding randomness, so there is an unknown offset.
- Closi 6y agoThat’s a good idea, although if you were able to poll often enough and the location was always updated, you might be able to work out the offset by looking at positions when travelling (e.g. if travelling down a desert road). Probably an extreme attack vector thoughZ
- rzzzt 6y agoYou need to lump people into higher and higher level "intersections" (district, city center, region, state, continent, planet) along with other identifying data, until at least "k" people are in each group and can not be told apart: https://en.wikipedia.org/wiki/K-anonymity https://en.wikipedia.org/wiki/K-anonymity