provoost on Nostr: I agree exif info should be stripped from photos by default. They were in my ...
I agree exif info should be stripped from photos by default. They were in my Instagram archive, so my Instablossom script uses them both directly and to generate the geohash.
When posting a note (with or without a photo) a client should ask if the user wants to share their location, e.g.
Amethyst (npub142g…xrj0) does this.
It can then obtain the location from either the device GPS or from the photo exif data (before removing it). The photo may have been taken in the past so these are not always the same location.
But then the question is how to share the location. If the user is ok with an exact location, e.g. because it's a tourist snapshot so it's not sensitive, then wgs84 exact coordinates seem like the right default.
If the user wants to be more careful, they may want to use an inaccurate geohash. Amethyst picks roughly a city size resolution (5km) which is a good default. In that case wgs84 should not be used, because there's no good convention on how to round decimal coordinates. This would lead to confusion when trying to plot images on a map.
Back in the day Instagram even had three modus for the user: no location, rough location and accurate location.
When location is set to high accuracy, it makes sense to use both standards: wgs84 for general purpose mapping tools, and a geohash at multiple zoom levels for easier search on relays.
You could also recommend a single geohash, at the highest resolution a user is comfortable with. However that would require relays to implement the spec as well. Either by supporting startsWith() string matching or by using something like ST_GeoHash in Postgres. Especially the latter seems like a rather heavy requirement. The redundant tags don't use that much space.
I do plan to open a PR once I'm a bit more familiar with earlier work and gathered some feedback.
Should this be a new NIP or expand nip-52?
Published at
2024-09-06 17:49:00Event JSON
{
"id": "fe2351dc474c1d3240bb03890f3a9efb8ae13502385f9cc3505cdb3a9b6c47e8",
"pubkey": "8685ebef665338dd6931e2ccdf3c19d9f0e5a1067c918f22e7081c2558f8faf8",
"created_at": 1725644940,
"kind": 1,
"tags": [
[
"e",
"62bb8eb5d7c5a3f25eab6ad023ab44a906faa2dbd29e464bd382e224e8b88b5e",
"",
"root"
],
[
"e",
"908e47d19c9b214b97fdb695f76a35d5d11f4ccf1eb3672d154c7cbbdec180c3",
"",
"reply"
],
[
"p",
"d3bd8a88c3888ed66b76af816a028f6d149ba1100617888f09e56a817306f4f2"
],
[
"p",
"c4f5e7a75a8ce3683d529cff06368439c529e5243c6b125ba68789198856cac7"
],
[
"p",
"e8ed3798c6ffebffa08501ac39e271662bfd160f688f94c45d692d8767dd345a"
],
[
"p",
"aa9047325603dacd4f8142093567973566de3b1e20a89557b728c3be4c6a844b"
]
],
"content": "I agree exif info should be stripped from photos by default. They were in my Instagram archive, so my Instablossom script uses them both directly and to generate the geohash.\n\nWhen posting a note (with or without a photo) a client should ask if the user wants to share their location, e.g. nostr:npub142gywvjkq0dv6nupggyn2euhx4nduwc7yz5f24ah9rpmunr2s39se3xrj0 does this.\n\nIt can then obtain the location from either the device GPS or from the photo exif data (before removing it). The photo may have been taken in the past so these are not always the same location.\n\nBut then the question is how to share the location. If the user is ok with an exact location, e.g. because it's a tourist snapshot so it's not sensitive, then wgs84 exact coordinates seem like the right default.\n\nIf the user wants to be more careful, they may want to use an inaccurate geohash. Amethyst picks roughly a city size resolution (5km) which is a good default. In that case wgs84 should not be used, because there's no good convention on how to round decimal coordinates. This would lead to confusion when trying to plot images on a map.\n\nBack in the day Instagram even had three modus for the user: no location, rough location and accurate location.\n\nWhen location is set to high accuracy, it makes sense to use both standards: wgs84 for general purpose mapping tools, and a geohash at multiple zoom levels for easier search on relays.\n\nYou could also recommend a single geohash, at the highest resolution a user is comfortable with. However that would require relays to implement the spec as well. Either by supporting startsWith() string matching or by using something like ST_GeoHash in Postgres. Especially the latter seems like a rather heavy requirement. The redundant tags don't use that much space.\n\nI do plan to open a PR once I'm a bit more familiar with earlier work and gathered some feedback.\n\nShould this be a new NIP or expand nip-52?",
"sig": "e6f87d80897d3bf4e6a6351e18395bb7ab89fc6d85d8631b1271549be42f39d43696e21773aa826fe01bd3926509f048690cd5c77e031ce03b77ed55d064ad73"
}