Remember App Ops? Back in Jelly Bean 4.3, the feature could be accessed by resourceful users to switch on or off permissions for individual apps. By KitKat 4.4.2, the feature was completely hidden from users. Google's explanation was that App Ops was never meant for public consumption - it was devised for internal debugging only. But users had gotten a taste of granular app permission controls and wanted more.
After some rumblings earlier this month, we've seen information suggesting that - with Android M - that wish may be fulfilled after all.
We do not have possession of any APKs we can distribute or unreleased devices, so please don't ask for them.
We'll give this rumor a confidence rating of 9/10. This is a feature we know is coming, but the exact details of how it will look and behave aren't known to us just yet. The visuals we'll see in this post (which are mockups based on our information) represent our understanding of how the feature will work at the time of writing, but anything could have already changed, and - as with any rumor - things can still change even with I/O less than 24 hours away.
From our information it seems that Google wants to decouple permission acceptance from app installs. No longer would users need to accept all of an app's permissions en masse before installing said app.
Permission controls would ostensibly live in two places - first, in the app itself, where users will be asked for permission using a series of dialogs. Whether all these dialogs will have to be dealt with immediately before opening the app or if they'll be spread out over the course of use remains to be seen. Evidently, granular permission control will be on for every app automatically, with developers left to decide what the app should do if it is denied permission. This is a potentially worrisome scenario, since apps will need to be updated to degrade gracefully with less and less permissions, but we'll have to wait and see what happens.
The second home of permissions controls will be in the device's Settings app. It appears users will have access to a very familiar-looking interface with a list of permissions and toggles to switch on or off permissions as they see fit.
Mockups based on our information
For users, individual permission controls will be a boon. This sort of control is an expectation for iOS users, and many Android users have been looking for similar functionality since before App Ops first hit the scene.
How this will impact developers remains to be seen, but with a dev preview of M expected this year, there will hopefully be enough time for developers to tie up any loose ends before Macadamia Nut Cookie hits a wide release.