Most Android apps require at least one permission to run on your phone – usually Internet – while some require a LOT of permissions. As it stands now, you must accept all the permissions of an app in order to install it on your phone. But with the announcement of Android M, future versions of Android will allow you to pick and choose which permissions you want to allow. If you don’t want to give an app permission to your contacts, you don’t have to, and the app will still run – just without features tied to that permission. This may lock you out of some of the features of your app until you approve the permission, so it’s important to know what these permissions are for.
Some permissions are pretty innocuous, such as accessing your Wi-Fi state. Some apps may prefer to operate only on Wi-Fi, especially if they use large amounts of data. This can save you from using up data if you don’t have an unlimited data plan with your cell plan carrier – and not many people do these days. Access to your camera means the app can take pictures, but not much else. Some apps ask for permission to directly make calls. This means that if you click on a phone number in the app, or want to make a call to a contact from the app, the app can do so without an extra confirmation from you.
Some permissions may seem irrelevant, but can be very important to the internal working of the app. The permission that allows developers access to phone state and phone identity gives access to the unique ID of your device. This can be used in some cases to stop piracy of the app. Some apps may react in different ways when you receive a phone call – such as suspending or resuming its current task – and as such need to know when you receive, pick up, or hang up a phone call. This is especially relevant to apps that continuously stream data, such as music or videos.
And some permissions have obvious uses, such as your location. Many of our locator apps use your location to find banks or stores near you. Other apps use your location to provide it to your contacts within the app. Access to external storage allows us to store large files, like images or databases. The permission to access accounts on your device can be used to tie your social media together. Some apps may allow you to login with your Facebook account. Or they may provide functionality to post status updates or tweets directly from the app.
Sometimes permissions don’t always make sense, though the cases for this are few and far between. One of our apps requires camera access so it can be used as a flashlight! Your location can be used in apps for region-specific advertising, for example (though none of our apps do this). It doesn’t hurt to be wary of permissions that seem like they shouldn’t be there. Almost any permission can be abused by untrustworthy developers, and you should always read reviews on the store before installing an app.
The announcement that Android M will allow you to pick and choose permissions is a step in the right direction for consumers, but developers jobs become more tricky. If a user decides not to allow a permission, we have to decide how to deal with that. If a permission is critical to the functionality of the app, we might just not allow the user to install the app. Other times we may ask the user to enable a permission whenever they try to use a feature requiring that permission, or we may just disable the functionality all together. Some people may be very careful with their permissions, only allowing ones that are absolutely necessary. Others might not care much at all which permissions are being used. It’s hard to know how users will treat this new option, and ultimately, we want the user experience to be as easy and smooth as possible.