3 ms·
For Android specifically (perhaps this is not still the case, but at one point it was): Android puts you in a terrible place for all this. Downright hostile t
by Groxx 8y ago
For Android specifically (perhaps this is not still the case, but at one point it was): Android puts you in a terrible place for all this. Downright hostile to sane permissions IMO.
Say you, as an app developer, want to improve the camera experience (say to recognize QR codes. it's a sane, useful thing to do). You need camera permission to do this, so you add it to your permissions list (users can still deny it).
Great. So say you want to allow people to reject it, and instead use their own camera app that they trust. Easy, you can do that with an open-camera intent, which doesn't require any permissions. You just get the image they took.
The problem is this: if you had your "let me control the camera and all photos" access rejected, Android also rejects your "open any camera" request. So now you're entirely unable to access cameras, and at best you can let users share an image to your app (which is extremely problematic and usually still requires file permissions in practice, since nobody builds file providers correctly (and legacy apps don't at all)).
Meanwhile, if you never requested camera access in the first place, "open any camera" will always work. But then you're unable to streamline anything.
---
tl;dr API permissions very nearly everywhere in consumer products are 100% shit, and something like 99% hostile to the very concept they're trying to support. It's ridiculous and in no way necessary and I don't know why companies keep doing it, except perhaps fear of alienating their ad revenue sources.
- barbecue_sauce 8y agoWe need something akin to SELinux/Mandatory Access Control, but that's user friendly for consumer devices while also being fine-grained, meaning you can give programs permissions to access your photos, contacts, etc. but you can also audit and control the individual points of data that are being accessed. Then, once you're comfortable with the access patterns, you can automate approval if you trust the application/institution enough.