9 ms·
Isn't it also the consequence of taking the control away from the user? Why can't I whitelist which applications I want to allow to run in the background? Why d
by simias 8y ago
Isn't it also the consequence of taking the control away from the user? Why can't I whitelist which applications I want to allow to run in the background? Why do I still have to grant an application all the permissions it requests when I install it instead of being able to turn them on or off individually?
By dumbing things down that way Google created this situation IMO, it's bad from a quality, usability and privacy perspective. Of course Google considers that you leaking your personal info is a feature so that part probably won't change, but they should at least care about the two other points.
- sudhirj 8y agoShould also see if the killer apps are phoning home every time they kill anything, along with info about which app is killed on whose phone at what time. Becuase, you know, analytics.
- sudhirj 8y agoAnd yeah, the permissions model in Android vs Apple is different, but multi tasking in particular feels the same. i.e. Apple has fine grained permissions on demand for contacts, microphone, camera, location, etc, and requires that all apps gracefully degrade when permissions is denied. But for multitasking there isn’t really any fine grained permissions - as long as the app is doing a whitelisted task in the background, no user permission is required. I think Apple does check that background APIs are not misused as part of the review process, though - I don’t think you could implement a tracking socket masquerading as a background download, for instace.
- simonh 8y agoAs I understand it, on iOS third part apps don’t actually do any tasks in the background, most such services are actually implemented by platform services provided by Apple that the third part apps request or subscribe to. So for example apps request an Apple service to do a background download on their behalf. Or the app subscribes to a notification feed that wakes it up when triggered to handle the notification, but the app doesn't do a download or wait for notifications itself. Very often on iOS when you see a notification 'from an app' or something in the background is completed 'by an app', in fact the app didn't do any of it. This means fine grained permissions for background processing aren't really an issue on iOS, because such behavior is managed and guaranteed by Apple. It only matters when there's a security or privacy implication. This is why background activities came so much later to iOS, because Apple had to very carefully think through and implement all the background services apps would require in an efficient and secure way. EDIT: To be clear there are some exceptions but I'm not sure exactly what they are.
- tinus_hn 8y agoFor some basic use cases, like notifications and downloads, there is a special system or api that allows your app to do that in the background without actually running. If you want to play audio or track gps in the background you need to do things yourself though.
- aaaaaaaaaab 8y ago>I don’t think you could implement a tracking socket masquerading as a background download The Facebook app used to play a silent audio track to stay active in the background, until they got called out: https://www.reddit.com/r/iphone/comments/3opxhm/facebook_app_appears_to_use_silent_audio_for/ https://www.reddit.com/r/iphone/comments/3opxhm/facebook_app...
- toyg 8y agoHoly crap, I didn’t know that. Yet another reason I was right to uninstall the app and just use the website.
- scarface74 8y agoTechnically, you could have an app that plays silent audio in the background to keep from getting killed and then do something else, but that would get flagged by the review process. But, if I recall correctly, VLC will continue a background file transfer session from its built in web server on iOS if you play a movie in the background. Otherwise it will be killed after 10 minutes.
- doubleunplussed 8y agoI think they've wisened up to that trick. My girlfriend and I use a guided meditation app that has long silences in the audio. If the screen is off, her phone kills the app after about thirty seconds of silence, making the app practically useless. I was going to report a bug to the app suggesting they include some ultrasonic or subsonic audio to defeat this mechanism, but it's just an arms race at that point. The phone will start looking at the total power in the audible spectrum to decide whether to kill the app or something. This kind of thing is infuriating and prevents apps from doing anything outside of the box, stifling innovation and making users frustrated.
- Nursie 8y ago> Why do I still have to grant an application all the permissions it requests when I install it instead of being able to turn them on or off individually? I don't think this is true in the later releases is it? I get a lot more ad-hoc permission requests these days, and there's much more control in the application settings (the android app settings, not the settings the app presents).
- nkristoffersen 8y agoThat is the case in iOS. All permissions are optional and the app must gracefully degrade if permissions are denied.
- stronglikedan 8y agoUnfortunately, some apps just degrade, ungracefully, by flat out refusing to run without certain permissions.
- theshrike79 8y agoOn iOS? That's against app store rules if I remember correctly.
- kijin 8y agoIt is true to some extent since Marshmellow. But apps can tell when their permissions are denied, so some of them straight out refuse to start unless you give it all the permissions it wants. This is especially problematic when a new version of an app holds your data hostage and refuses to start unless you give it a ridiculous new permission. The Play Store has no requirement that apps degrade gracefully when permissions are denied. So the result is usually the same as pre-Marshmellow. You just get more annoying popups. I miss Cyanogenmod where I could deny a permission (e.g. contacts) and the app would have no idea it was denied (it would receive an empty list of contacts).
- Nursie 8y ago> But apps can tell when their permissions are denied, so some of them straight out refuse to start unless you give it all the permissions it wants. I'm pretty much fine with this, though the data-hostage situation you describe does seem bad. You're right that from a user control perspective, the cyanogenmod approach is likely best.
- CodeWriter23 8y agoNo, it’s the consequence of permitting background tasks at will. Apple took some heat, and there is learning curve associated with doing it their way, but they actually thought it through and created an energy-efficient architecture that addresses common use cases. And apps that don’t fit those use cases - what are they doing with your device?
- anc84 8y agoCan I run XMPP or IRC on an iphone by now or does it still only receive messages when foregrounded?
- dmitriid 8y agoSlack receives messages with no problem. If XMPP/IRC can’t provide that, it’s not iOS’ problem.
- fixermark 8y agoI don't know why you were downvoted; it's a solid-and-concise critique of the difference in protocols.
- amaranth 8y agoSlack works because of push notifications. A random IRC app can't handle push notifications for you because they aren't the IRC server and aren't running a bouncer for you. On the other hand, the IRC server can't handle push notifications for you because they don't have an app signed with Apple's key sending the notifications. Basically protocols as a general thing can't work on iOS, only individual apps/services which get to read all your messages and access your login credentials work.
- dmitriid 8y ago> Basically protocols as a general thing can't work on iOS, only individual apps/services which get to read all your messages and access your login credentials work. Which I think is a reasonable requirement for a chat service, especially on mobile.
- kda26 8y agoOn my phone (android), going to apps>selecting app I want to run in the background>battery>background usage I can allow the app to run unrestricted in the background. All android phones I've owned had this option.
- morganvachon 8y agoMy understanding from the OP website is that this is ineffective for certain popular phone vendors' customizations. In particular, the Nokia phone listed comes preinstalled with an app that aggressively shuts down any running process, whitelisted or not, if the screen has been off for 20 minutes. There's simply no way to stop this behavior apart from gaining root and uninstalling the battery "saving" app, or flashing a stock Android image that doesn't contain it.
- andai 8y agoA design so disrespectful it borders on malware.
- noelsusman 8y agoThe Nokia one is egregious, but their second worst vendor (OnePlus) allows users to whitelist individual apps, though there's a bug right now where that setting gets reset randomly.