Apple avoids the Vista like "ask for permission" on access design like android by requiring you to justify your needs to the app reviewer as an app developer. Not having an untrusted source of apps that can install on the device that is allowed on the iPhone means Apple can, in theory, improve user experience by not having as many of these dialogs bugging the user.
Apps, should just work.®
Constant permission prompts just train users in to muscle memory to accept these dialogs without thinking. Instead Apple sees it better make developers justify their needs to the APIs when they submit. Then Apple tests the app and looks for anything fishy. In the end, they reserve the right to pull them when they violate their terms.
One of the issues Android had up until recently was that you couldn't update all apps in one shot. The reason is that app update may have required permission changes from a pervious version. You would have to acknowledge each of these before installing the update. This was a crappy user experience and it's still the current experience when you install 3rd party APKs and update them.
The problems with these "list of permissions wanted" screens is they don't let the developers justify to the user why they need access to these different features inline with the request. The users see it at install or update often.
There are often very simple reasons why I need access to data on the device on Android in my app. I had people not install my app because I asked to send SMSs (which tells the user I can charge them money that way) in my music app, but it's only because I had a share button that is user invoked and clearly is sending a text message to user.
Sure, be clear with your intent with your users, but these permission models don't always scale for the everyday users.
Your complaints can be addressed by waiting to ask for permission the first time the app needs it, as opposed to a list of permissions to give at install time, and making the 'yes' answer sticky as opposed to prompting constantly.
Apps, should just work.®
Constant permission prompts just train users in to muscle memory to accept these dialogs without thinking. Instead Apple sees it better make developers justify their needs to the APIs when they submit. Then Apple tests the app and looks for anything fishy. In the end, they reserve the right to pull them when they violate their terms.
The article is wrong in that the camera roll is secure. It's technically not. Through the asset library API you can get at it. See docs here: https://developer.apple.com/library/ios/#documentation/Asset...
One of the issues Android had up until recently was that you couldn't update all apps in one shot. The reason is that app update may have required permission changes from a pervious version. You would have to acknowledge each of these before installing the update. This was a crappy user experience and it's still the current experience when you install 3rd party APKs and update them.
The problems with these "list of permissions wanted" screens is they don't let the developers justify to the user why they need access to these different features inline with the request. The users see it at install or update often.
There are often very simple reasons why I need access to data on the device on Android in my app. I had people not install my app because I asked to send SMSs (which tells the user I can charge them money that way) in my music app, but it's only because I had a share button that is user invoked and clearly is sending a text message to user.
Sure, be clear with your intent with your users, but these permission models don't always scale for the everyday users.