This is an amusing tutorial on how to scam users into giving your app more permissions than it needs. Their popup text reads "Heyday would like to access your location Heyday uses your location to journal places you go. It's completely private and secure."<p>Now compare their privacy policy:<p>"If location services are enabled on your mobile device, our HeyDay application will passively and automatically send location information to Hey, Inc..."<p>"Hey, Inc. cannot guarantee your safety and security and you should be aware that submitting any information and using the Services is done at your own risk."<p>So, in the popup, they claim to take responsibility for the security of location data, but in reality, they're tracking you at all times and don't take responsibility for the security of the data.
Actually, an easy way to get your privileges after they were declined is to open the URL "app-settings:". In iOS 8, the settings page for any app includes easy access to the permissions, including at least location, photos, notifications, microphone, background refresh, and cellular data.<p>Quite a bit simpler, and takes the user right to it. Of course, you still have to initiate the action, but again this can be done at a relevant place in the app.
A simple example of the best practice described here is to display a checkbox that says "Allow us to use your camera". Then if the user toggles the checkbox the app immediately presents the system permission prompt.<p>When you see it in action it feels really natural and less jarring to the user.<p>I've noticed this in a few apps so it seems like it's becoming a design trend, and a good trick to learn from for those that make apps.
I've noticed this with websites in Safari recently, the first thing you see is "Allow <site> to send push notifications", and I immediately click no - I just want to read the article!<p>It's always better to wait to see if someone's interested or just exploring.
> Only 3% of users who clicked “Give Access” clicked “Don’t Allow”, meaning less than 2% of total users denied access at a system level.<p>How many normal humans could anticipate that saying "yes" then "no" was the only way to say "no"? Putting a preemptive "obey/ask me later" dialog before the system one is slimy, but not unexpected.
Here is a pre-permission utility that supports (almost) all of the permission types on iOS:<p><a href="https://github.com/jlaws/JLPermissions" rel="nofollow">https://github.com/jlaws/JLPermissions</a><p>pod "JLPermissions/Calendar"
pod "JLPermissions/Camera"
pod "JLPermissions/Contacts"
pod "JLPermissions/Facebook"
pod "JLPermissions/Health"
pod "JLPermissions/Location"
pod "JLPermissions/Microphone"
pod "JLPermissions/Notification"
pod "JLPermissions/Photos"
pod "JLPermissions/Reminders"
pod "JLPermissions/Twitter"
Sometime app ask for permission right on spot that it's needed. For example when sharing with friends, they ask for contacts permission so they can fill in "to:" field of a "send to a friend" dialog. It's all reasonable and nice until you realize the app sent your entire addressbook to their servers and you start seeing recommendations to connect etc from your friends contacts in the app...<p>Can iOS solve this?