2 ms·
I can imagine how this evolved -- somewhere at Apple HQ, a whiteboarding session about classes of information and capabilities that the OS will gatekeep, which
by niftich 9y ago
I can imagine how this evolved -- somewhere at Apple HQ, a whiteboarding session about classes of information and capabilities that the OS will gatekeep, which got us to Contacts, Photos, Camera, Microphone, Location. Presumably apps would be extensively curated, keeping out the scummiest of the lot, and apps were envisioned as asking for permissions directly relevant to their utility so having separate read/write permissions would be overkill.
When Android cloned the same model, they got much more granular with permissions [1][2], but then completely undermined it by making it occur only once at app install. As someone put it [3], they're not permissions because you can't turn them off -- they're warnings about what the app does. Then they further mucked this up, by eventually grouping them together into broad categories within which apps could automagically gain all other permissions without your approval [4].
Then, the following year, in 2015, they finally introduced iOS-style runtime-granted permissions, if your device was lucky enough to be up-to-date and your apps were gracious enough to target the new API level; otherwise you missed out on this change.
In fairness, by this point, hoover-style request-everything permission requests were extremely common among mainstream apps like Facebook, Messenger, Snapchat... so reigning in on contact-harvesting flashlight apps was a bit of a lost cause.
[1] https://developer.android.com/reference/android/Manifest.permission.html#READ_CONTACTS https://developer.android.com/reference/android/Manifest.per... [2] https://developer.android.com/reference/android/Manifest.permission.html#WRITE_CONTACTS https://developer.android.com/reference/android/Manifest.per...
[3] https://news.ycombinator.com/item?id=7959925 https://news.ycombinator.com/item?id=7959925 [4] https://news.ycombinator.com/item?id=7959660 https://news.ycombinator.com/item?id=7959660