Live data from Hacker News

Android now stops you sharing your location in photos

shkspr.mobi

211–220 of 330 posts

Re: Android now stops you sharing your location in photos

#211

Earlier quoted context omitted.

Imagine my surprise when I attempted to record the iPhone mirroring application, which was running on macOS. Apple did a great job on their DRM because I simply recorded a black screen while I was attempting to play back a video from an app on the phone. I'm sure it's given some businesses the confidence to invest in iOS app development, but it felt bad.

I think that's for apps like Netflix or other movie streaming apps being recorded for piracy?

Yes, or a video editing app that wants you to buy it.

I'm not _entirely_ upset Apple is encouraging the market to develop high-quality solutions by allowing them to protect their revenue.

But it felt bad as if they were reaching into my Mac.

My iPhone is Apple’s playground. They let me use it. But I own my Mac, and if my eyes see something on the screen it feels dumb to send Tim Apple and Reed Hastings into my homeoffice telling me “no no get a capture card(?) or set up a DSLR to record your screen. But no direct recording big guy!”

Re: Android now stops you sharing your location in photos

#212

Earlier quoted context omitted.

> actually using the geolocation is an extremely niche usecase for images uploaded from mobile browsers Is it only for mobile browsers? The article makes it sound [0] as if it is a general thing, even when sharing through bluetooth, and that only copying the image via usb connection allows you to keep geolocation in exif. Not sure what happens when you upload to native apps, eg to some cloud storage app (photo specif…

No way they broke it for Google Photos. Anyone who needs location and doesn’t do cables, or can’t figure this out, can simply subscribe! Can you compress a folder with a photo it and then email that? Just curious.

> Can you compress a folder with a photo it and then email that? Just curious.

If the app that creates the compressed file uses the media API to get the file and doesn't have the permission to get location-info, the data will be stripped before the OS is handing the file over to that app. This is likely different if the app uses the READ_EXTERNAL_STORAGE permission and API's to read the files though, which is a legacy permission that was mainly kept for file managers now...

If your app targets Android 10 (API level 29) or higher and needs to retrieve unredacted EXIF metadata from photos, you need to declare the ACCESS_MEDIA_LOCATION permission in your app's manifest, then request this permission at runtime.

Source: https://developer.android.com/training/data-storage/shared/m...

Re: Android now stops you sharing your location in photos

#213
post #4

Most likely: actually using the geolocation is an extremely niche usecase for images uploaded from mobile browsers. I’d wager 99.9% of the users didn’t realize that they are effectively sending their live GPS coords to a random website when taking a photo. But yes, a prop to the input tag ’includeLocation’ which would then give the user some popup confirmation prompt would have been nice

I want the location on every time, without exception. The current behavior is exactly what I wanted. These "all users are imbeciles that need our protection" design pattern needs to die a swift death. It's maddening, We're constantly taking kitchen knives and replacing them with the colorful plastic toddler version and still have the same cutting tasks.

Seems to be quite simple, an App which wants to access this info just needs to set the permission for it.

Chrome doesn't seem to request that permission, so the OS doesn't provide the location-data to the app.

If your app targets Android 10 (API level 29) or higher and needs to retrieve unredacted EXIF metadata from photos, you need to declare the ACCESS_MEDIA_LOCATION permission in your app's manifest, then request this permission at runtime.

Source: https://developer.android.com/training/data-storage/shared/m...

Re: Android now stops you sharing your location in photos

#214

Couldn't you use (different than image/jpeg mime-type I think, not sure if that also strips EXIF?), then manually parse the EXIF in JS? Shouldn't be that complicated to parse and I'm guessing there is a bunch of libraries for doing just that should you not want to do that yourself.

I'm not sure why I'm being downvoted for this, so I guess I kind of accidentally nerdsniped myself here... Anyways, I did this: https://jsbin.com/teriduyexe/edit?html,output Which correctly seems to show the EXIF for uploaded images (both in Chrome and Firefox), and correctly filters things in the file picker window. What am I missing, why is this infeasible as a solution?

I've just tried that in Chrome and Firefox on Android 16.

Both just show zeros in the GPS EXIF - the rest of the data are passed through unaltered.

Re: Android now stops you sharing your location in photos

#215

It's a sad story and a fun-looking project but I think Google 100% did the right thing here. Most people have no idea how much information is included in photo metadata, and stripping it as much as possible lines up to how people expect the world to work.

It's not that hard to add a little checkmark "include location" under it, rather than unconditionally remove it. As per op, it seems they've shut down _any_ means for you to get the data out of the phone other than using a USB cable.

Seems to be quite simple, an App which wants to access this info just needs to set the permission for it.

Chrome doesn't seem to request that permission, so the OS doesn't provide the location-data to the app. So Chrome rather ended up in this state by doing nothing, not by explicitly doing something...

If your app targets Android 10 (API level 29) or higher and needs to retrieve unredacted EXIF metadata from photos, you need to declare the ACCESS_MEDIA_LOCATION permission in your app's manifest, then request this permission at runtime.

Source: https://developer.android.com/training/data-storage/shared/m...

Re: Android now stops you sharing your location in photos

#216
post #33

It's a sad story and a fun-looking project but I think Google 100% did the right thing here. Most people have no idea how much information is included in photo metadata, and stripping it as much as possible lines up to how people expect the world to work.

But surely there's a way to do this without totally killing valuable functionality? It's like the Android Sideloading debate all over again. Something that is very useful to 1% of users is stripped away. And we end up with dumb appliances (and ironically - most likely still no privacy )

Seems to be quite simple, an App which wants to access this info just needs to set the permission for it.

Chrome doesn't seem to request that permission, so the OS doesn't provide the location-data to the app. So Chrome rather ended up in this state by doing nothing, not by explicitly doing something...

If your app targets Android 10 (API level 29) or higher and needs to retrieve unredacted EXIF metadata from photos, you need to declare the ACCESS_MEDIA_LOCATION permission in your app's manifest, then request this permission at runtime.

Source: https://developer.android.com/training/data-storage/shared/m...

Re: Android now stops you sharing your location in photos

#217
My personal pet peeve is that iOS strips exif time taken (probably all exif) through certain flows - I think iMessage does it? So then if my family texts me a photo of a trip way after it happened and I save it it ends up in the wrong part of my photo timeline. Whereas if they share it a different way like Dropbox it comes through with that metadata intact.

I care less about the location data as I usually know where the photos are just by looking at them but I understand there are good use cases for it and agree including location should be a user choice

Re: Android now stops you sharing your location in photos

#218

This is a common approach to "privacy" taken by orgs like Google. You don't get to access or export your own data in order to protect your privacy, but Google still gets 100% access to it. Some messaging apps do the same and won't let you take a screenshot of your own conversations. Like, someone sent me an address, but I can't take a screenshot to "protect my privacy".

Seems to be quite simple, an App which wants to access location info from images just needs to set the permission for it.

Chrome doesn't seem to request that permission, so the OS doesn't provide the location-data to the app. So Chrome rather ended up in this state by doing nothing, not by explicitly doing something...

If your app targets Android 10 (API level 29) or higher and needs to retrieve unredacted EXIF metadata from photos, you need to declare the ACCESS_MEDIA_LOCATION permission in your app's manifest, then request this permission at runtime.

Source: https://developer.android.com/training/data-storage/shared/m...

Re: Android now stops you sharing your location in photos

#219
The article is about browsers filtering EXIF metadata from image uploads and not about advising users when observable sun angle or other distinctive features may disclose the photograph's location.

  Suncalc models the relationship between the date, time of day, the geographic 
  location of a place, and the position of the sun in the sky, together with 
  the length & direction of the shadows it casts. [0]
0. https://bellingcat.gitbook.io/toolkit/more/all-tools/suncalc
Post reply on HN