4 ms·
I hate the security model where all the permissions are requested up front, and you have to approve them all (e.g. Android and Facebook without this plugin). A
by sshumaker 15y ago
I hate the security model where all the permissions are requested up front, and you have to approve them all (e.g. Android and Facebook without this plugin).
All permissions should be off by default, and the user should be asked the first time a permission is needed to perform an action (a'la GPS on iphone) - at least that way you know what it wants the permission for, and the app can gracefully handle rejection.
- bkaid 15y agoDevelopers can do this but for whatever reason they seems to always ask for them all up front.
- transmit101 15y agoThere's nothing to stop a Facebook app being built like this. In fact, Facebook recommends this approach. It's simply that many developers feel that it's easier to get all the permissions in one go, when the user first signs up.
- wacheena 15y agoAndroid, unfortunately does not have this functionality. All permissions have to be requested up front, whether or not they are needed for all users.
- ch0wn 15y agoCyanogen Mod, however, allows you to revoke permissions afterwards.
- drivebyacct2 15y agoAnd most apps crash and burn when you do so, for obvious reasons.
- wizard_2 15y agoWhich is already too late.
- vdm 15y agoThis could be like early Windows firewalls all over again; popping up windows every time you try to do something, until you just disable it.
- psawaya 15y agoMaybe. I think the idea of "blocking" a program makes a lot less sense to the novice user compared to choosing if a program can e-mail you or post on your wall. I agree that they could easily become a nuisance and lead to the user reflexively clicking "accept", though.
- bigiain 15y agoMaybe there needs to be a reverse version of this - all of your _friends_ who get spammed by the app writing in your stream ought to be able to vote [] continue receiving updates from this user using foo-app [] block updates from this user's instance of foo-app [] block all automated updates from this user's stream ([] unfriend this clearly unhinged "install every shiney-thing" user) Then any user with more than a certain threshold of blocks would need to get permission from a majority of his social network before being allowed to authorise apps :-)
- notahacker 15y agoYou missed "block all updates from any instance of foo-app". My Facebook stream looks so much less cluttered since I blocked Zynga apps.
- sshumaker 15y agoI think the idea would to be ask once when you the app tries to do something that requires a permission, and from then on the app would be granted that permission (unless you revoke it). In practice, this doesn't seem to be a nuisance on iOS.
- SomeCallMeTim 15y agoThat's because an iOS app can access a LOT more by default than an Android app. Most data access doesn't require permission at all. The only things apps have to ask about on iOS (that I've seen) are push notifications and GPS tracking. Android requires a permission for Internet access, and another for accessing contacts, and another for sending SMS messages, and over a hundred others. I WOULD love to have the option (on Android) of querying a user for a permission after install; the "read system log" permission, for instance, is useful for the 0.1% of cases where there's a crash, but I have to request it for everyone if I want to get complete crash reports (the Google crash reports are useless since I use NDK and the Java stack trace, which is all it sends, doesn't tell me anything). But honestly, with the fine-grained security model on Android, it would be a pain if every complex app had a half dozen permission requests -- and some would have a dozen or more. Frankly that would be what people would complain about if it were true. The iOS model only works because apps are SO open by default on iOS. So I don't think the Android model is a design mistake, but rather a security necessity given that Google doesn't even take a cursory look at an app that's going up in the Market. Apple can at least claim that they've checked out each app to make sure it behaves well, though it seems even then that a few slip through the net and behave badly from time to time.
- jinushaun 15y agoLike EULAs, everyone just hits agree and move on. No one reads them. Apple did it right in iOS: ask for permission when you actually need it.
- chc 15y agoI've got a 67-page iTunes EULA I've had to agree to about 20 times that says differently. This is, unfortunately, an almost universal failing.
- Xuzz 15y agoThat's not the parent's point: the point is that iOS — correctly — asks for permission when required, not in advance. The idea is that asking in advance is similar to a click-through EULA, not that Apple doesn't use one.
- chalst 15y agoAnd the application should gracefully handle rejections anyway, since users can and sometimes do turn permissions off after granting them.
- dlikhten 15y agoAndroid used to be a-la-carte but too much user confusion and developers not gracefully handling these things causing apps to crash. It had to be enabled as all-or-nothing kind of deal.
- gospelwut 15y agoYou mean like this? https://market.android.com/details?id=com.lbe.security.lite https://market.android.com/details?id=com.lbe.security.lite I agree; I much prefer whitelisting as I go (which is why I still use Firefox + NoScript + RequestPolicy).
- dreamdu5t 15y agoYou do realize that privacy and sharing are mutually exclusive right? Facebook's utility is in sharing personal information.
- jaylevitt 15y agoFacebook is rolling out a change that'll do this for all permission dialogs everywhere: http://www.insidefacebook.com/2011/10/14/app-authentication-extended-permissions/ http://www.insidefacebook.com/2011/10/14/app-authentication-... As a Facebook Connect developer, I too hate the all-or-nothing approach, but there's no easy way to avoid it until this new flow becomes standard.
- TeMPOraL 15y agoIt worked like that with J2ME on old phones and I HATED it. Some apps asked me for permission to use the camera every time I took the first (since last restart) photo with it. It's annoying and breaks the flow in whatever you're doing at the moment. I much prefer being asked once, and approving for good.
- lmm 15y agoJava in Konqueror used to work like this. It would ask permission separately for every single file an applet tried to access outside the sandbox. That got old pretty fast.
- Jgrubb 15y agoI wrote this a couple months ago in frustration at the exact same thing. http://ignoredbydinosaurs.com/2011/09/permissions-abuse-or-facebook-shell-game http://ignoredbydinosaurs.com/2011/09/permissions-abuse-or-f...