Crazy theory but stick with me please - Why aren't we as users allowed to fine grain the data on our device that we want the app to have access to? A benign example would be a camera app; it wants access to my camera and mic, perhaps the local storage. It may have further features to store images in it's cloud service, assign the image to a contact and so forth. But as a user I only want the app for it's picture taki…
Android: I don't need your permission
151–160 of 190 posts
Re: Android: I don't need your permission
#152Crazy theory but stick with me please - Why aren't we as users allowed to fine grain the data on our device that we want the app to have access to? A benign example would be a camera app; it wants access to my camera and mic, perhaps the local storage. It may have further features to store images in it's cloud service, assign the image to a contact and so forth. But as a user I only want the app for it's picture taki…
That's possibly a tall order based on my experience with apps these days, although for a difference reason: a lot of them assume there's internet connectivity, which isn't always the case, and a lot of apps don't handle this gracefully at all, even for doing things like opening maps, finding location, turning data off, going to another app, then back to maps again, and it takes ages for it to display because it's expecting to have network access.
Re: Android: I don't need your permission
#153> Case in point: android.permission.CALL_PHONE. You need it to initiate phone calls from your app, right? This kind of thing is why I can't see myself switching to Android as my primary mobile OS any time soon. If anything, I can see a bright future for Microsoft. In spite of the fact Windows Phone exists, Android is very much the Windows of the mobile ecosystem. Permissions on Android are horrendous for developers.…
I' an Android (Cyanogenmod) user and agree with your point, this could--and should--be done a lot better. I am not familiar with iOS and iPhones at all. You state iOS apps only rarely need to be granted permissions, how do they make that work? I can see only three ways that could happen: Either the app can do most things without asking permissions (bad for the user--there'd be malware). Or the app simply can't ask fo…
The way permissions work in iOS is like this:
The app starts out completely sandboxed. No access to any hardware other than speakers and display (and even then, iOS has a layer on top of your canvas for the status bar and system dialogs). No access to the hard disk other than the app's local files. Instead of asking for permissions on app install, the app asks for permissions as you try to use them.
For example if you installed Instagram, you could scroll through the news feed fine but if you wanted to take a picture it would ask you to access the camera as soon as you try to. If you tried to take a video, it'd ask for permission to use the mic. Similarly it would ask for access to your photos as soon as you try to select a picture to upload from your camera roll. If you try import your contacts to find people to follow, it would ask for permission to read your contacts list. If you try to tag your location in a picture it would ask for access to the GPS as soon as you click the check mark. If for some reason Instagram allowed people to make calls, as soon as it tries to make the call you get a pop-up asking to confirm if you want to place the call or not.
> That said, there's also a few practical things the iOS walled-garden App Store could improve upon. First one being the $99 developer fee.
Thankfully there's a huge market for jailbreaks now, so pretty much the latest version of iOS is jailbroken about half the time. (http://iphonedevwiki.net/index.php/Compiling_iOS_application...) It ends up being much easier than Android development.
> Still, there is no malware in the repositories, at all. I admit I am a little bit vague on how this works too, perhaps I'm missing something obvious, but how do they do that?
All of the code on Linux repositories are (is?) open source if I'm not mistaken.
Re: Android: I don't need your permission
#154> Case in point: android.permission.CALL_PHONE. You need it to initiate phone calls from your app, right? This kind of thing is why I can't see myself switching to Android as my primary mobile OS any time soon. If anything, I can see a bright future for Microsoft. In spite of the fact Windows Phone exists, Android is very much the Windows of the mobile ecosystem. Permissions on Android are horrendous for developers.…
I' an Android (Cyanogenmod) user and agree with your point, this could--and should--be done a lot better. I am not familiar with iOS and iPhones at all. You state iOS apps only rarely need to be granted permissions, how do they make that work? I can see only three ways that could happen: Either the app can do most things without asking permissions (bad for the user--there'd be malware). Or the app simply can't ask fo…
Nah, it's a combination of two things:
1. Applications are granted internet access by default. It's possible to disable cellular access on a per-application basis, but not networking in general
2. Permissions are asked for at point of use with a big allow/deny dialog. This has several consequences
* it's easier for the user to understand why the application would want to e.g. access their contacts
* the user only gets the dialog if they're accessing a feature which claims a need for it, no paying a privacy/permission cost for stuff you don't do
* the more stuff an application wants access to the more scary dialogs they'll prompt, so application developers have tended to not go overboard
Also all permissions can be revoked (or granted) afterwards, aside from cellular they all live in Settings > Privacy, and inside each permission is the list of applications which asked for it, and whether they're allowed or denied access
Re: Android: I don't need your permission
#155Earlier quoted context omitted.
Anyone could use a network sniffer to see it is uploading something , but you can't tell what since the content may be encrypted. Advanced user may be able to follow the data in a debugger, but that's a lot of work. Very advanced user could instrument the code to perform data flow analysis, see https://www.cs.cmu.edu/~wklieber/papers/soap2014-didfail.pdf
You can relatively easily MITM most applications by uploading a custom root certificate to your phone, and doing SSL termination + re-establishment on a router your phone is using.
Re: Android: I don't need your permission
#156Earlier quoted context omitted.
1) Incremental Authorization - let Android apps ask for permissions only as they need them. So if you never use the phone dialing feature, they never ask for the permission. Not only incremental authorization, but the ability of denying specific permissions.
Well with incremental the developer would put what is 'required' into the manifest for install-time prompt and incremental the rest. You can't expect a developer to allow you to deny any permission, the whole app would be a giant if-statement spaghetti accounting for all of the permission combinations and workarounds.
Re: Android: I don't need your permission
#157Earlier quoted context omitted.
It almost seems like they do it intentionally to improve tracking and desensitize users. Only a terrible engineer would think needing to know if the phone is ringing needs a permission, let alone one that provides unique IDs plus the phone numbers on phone calls. It's one more reason I've gone from loving Google to actively avoiding them. (Also, they've very aggressive in getting people to turn on location info and h…
It should need a permission in my opinion. Why should a calculator (for example) know if there is incoming call? But this case should be handled by a permission in dialer (or whatever handles incoming calls) - something like "allow to broadcast mute to all other applications".
Re: Android: I don't need your permission
#158Earlier quoted context omitted.
It almost seems like they do it intentionally to improve tracking and desensitize users. Only a terrible engineer would think needing to know if the phone is ringing needs a permission, let alone one that provides unique IDs plus the phone numbers on phone calls. It's one more reason I've gone from loving Google to actively avoiding them. (Also, they've very aggressive in getting people to turn on location info and h…
Adding to that: In Android Lollipop, One can't edit / delete local (phone-stored) contacts. They have to be synced to cloud in order to edit / delete them. If this is intentional, it is a sick dark UI pattern.
Re: Android: I don't need your permission
#159Earlier quoted context omitted.
I also have an audio app with a background audio service on Google Play, and I also have to request the READ_PHONE_STATE permission. I have an explanation in my store listing but I still get emails about it every week. It's totally nuts. Knowing the phone is ringing or off the hook should not be privileged information.
"Knowing the phone is ringing or off the hook should not be privileged information." It seems like it could be a privacy concern. It seems a common enough need that it probably shouldn't be lumped together with other things, though.
Re: Android: I don't need your permission
#160Earlier quoted context omitted.
> If anything, I can see a bright future for Microsoft. I have both Android and Windows Phones. The Windows Phone is actually quite good and from developer point of view, a pleasure compared with Android tooling and APIs. Just the way Microsoft behaved with the customers has made many look elsewhere.
Could you explain what you're referring to in the last sentence please? (An example of how the Windows phone permissions and intents systems work in practice would be nice too)