I always had a sort of a pet-peeve with mobile applications asking, out of the blue most of the time, for access to my Contacts, Calendar, Location etc. As far as I can figure, my reluctance in giving access came from the fact that I did not know why the application wanted to have access to that data. And now I am wondering if the conversion rates to accessing this information would be better if the app will first explain why it needs to access this information.
For example, I am planning to build an application that will at some point ask for Facebook access, location access, sending notifications, and maybe in the future make other such privacy demands. But I don't think it would be appropriate to just present on the first run of the application, 2-3 pop-ups which say This app wants to access your Location, wants to send you push notifications etc.
Instead, I'm thinking it would be better to explain inline why the app needs access (e.g. We do need access to your location in order to tell you when you are nearby a cafe you might like. Tap the button below to give the app access.), and then let the user tap a button or flip a switch which will trigger the this-app-wants-to-access-your-contacts-location-etc. pop-up to be shown.
My Question
Would it make more sense to first explain to users why they need to give us access and then when they tap a button, the application will pop-up the dialog box requesting that the application have access to Contacts, Calendar etc.?
Or is it safe to assume that most people know what they are getting into once they download an application, therefore the application can just directly ask for access?
Is there a recommended strategy to delivering pop-ups such as these?