I think android should have optional permissions with explanations

It’s great that the android market now allows a much larger description however most people will still not read the description, this becomes especially problematic when it comes to explanations for usage of permissions.

Below shows the explanation in the market of why my live wallpaper requests full internet permission:

Internet permission explanation in android market for nexus revamped live wallpaper

Internet permission explanation in android market for nexus revamped live wallpaper

And this image shows one user complaining about the permission in the reviews:

Complaining about permissions in review without reading description

Complaining about permissions in review without reading description

This combined with the inability to respond to comments to explain how the commenter is an idiot (something the amazon app store allows) can severely hinder your applications downloads, as sales are strongly influenced to the ratings of the last three comments.


  • Allow developers to add explanations to certain permissions so that users can understand why your app might (optionally) need access to your contacts, use the internet, or send an text message etc…
  • Allow developers to specifiy which permissions are optional giving the user the ability to deny an applications access some permission. This could be handled automatically in android with a popup box saying an app is trying to use an optional permission would you like to allow etc… similar to how the super user stuff works in rooted phones, or the background data/gps etc…

Would love to hear other developer’s opinions or alternate ideas!


  1. Matt Oakes

    Yup. Pretty much exactly my view as well. The descriptions would be really simple for Google to implement. The options would be a brilliant addition but obviously only available on new versions of Android. Would still be a great thing to have though.

  2. mat
  3. Milind

    It’s not sufficient to just add information regarding what the permission is being used for. How can a user know that that is indeed what the app is not lying about it? Granular line item permissions need to be provided so users can disallow certain permissions. The app code then has to gracefully degrade if permissions are not provided.

    Some permissions can be mandatory – those without which an app can’t or won’t run. This gives the app developer the option to insist on certain permissions and the user the option to decide whether he will grant those permissions.

  4. mat

    @Milind I know it wouldn’t be sufficient on its own, but it would be helpful for permissions that aren’t obvious, as users clearly aren’t going to read the description. App code doesn’t need to be rewritten for optional permissions, android just needs to return dummy information (as mentioned in the cyanogen discussion). IE. requesting contacts returns an empty address book etc…

  5. Plamen

    Well spoofing the information will be the next step. But this requires a lot of work.
    And is not cure for all. For example I can’t make google applications return dummy information.

    So for now I want to see this in CM and probably have some discussion with the CM devs about how they see it before extending it.

  6. Elroid

    I wholeheartedly agree, this is something i’ve always thought made sense….

  7. widgg

    I’m planning to develop on android and since the first app I installed, it’s the kind of detail I though as not enough.

    Internet Permission can be anything. It can only be used to download the ads that you put on your app or do some very bad thing. Just like the permission to read or write on the SD card.

    I think there should be major permission, like a categorie, and then some minor permission to be more precise. Like:

    Major: Read/Write on SD card
    Minor: Only read or write file created by the app itself. Ask for 1mg of space.

    Second example of minor: browse your gallery.

    Good post. I hope some people at Google saw it.

Leave a Comment

Your email address will not be published. Required fields are marked *