7 ms·
> Instead, they have this warped reasoning where they don't allow any program to run in background, except theirs, "to save the battery". Looking at the landsc
by ogre_codes 6y ago
> Instead, they have this warped reasoning where they don't allow any program to run in background, except theirs, "to save the battery".
Looking at the landscape of shit software out there, I find this justification entirely plausible. If iOS & Android didn't lock this down, phones would be running 4-5 different poorly implemented push platforms (or more). Battery performance on mobile would be utter crap.
There is a big balancing act going on here. People want phones that do the thing they are supposed to do. They also want battery life to be excellent and the device to be secure by default. It's impossible to give 3rd party devs 100% access and meet those 2 demands.
- Angostura 6y agoI imagine without restrictions on background working most people's phones would be busily mining cryptocurrency by now.
- hal9000-tng 6y agoWhy couldn't the OS simply surface a push notification of its own, that app X is consuming lots of CPU?
- yencabulator 6y agoAnd have such malware figure out the threshold, and throttle themselves just slightly under it.
- wayneftw 6y agoThen give us a control to adjust the threshold.
- stevenwliao 6y agoHow many end users prefer to adjust their phone background CPU activity alert threshold just so that some developers can use a different push notification framework?
- BoorishBears 6y agoThis reads like a comment written by someone not aware of the depth of the problem. The post is Android-centric because in typical Android fashion, a passable concept is implemented is the most disjointed way varying scross devices. Limiting excessive background communication? Thats a good thing. Killing useful apps like media players in the background repeatedly until you end up with 1 star reviews because people don't realize their own phone is killing apps? Intentionally breaking well defined OS scheduling guarantees? Silently breaking functionality that users rely on? Making alarms fail to ring? Not as useful. It's to the point there's literally a website dedicated to worksrounds: https://dontkillmyapp.com/ https://dontkillmyapp.com/ Look at at this entry for OnePlus > Not only did users need to enable extra settings to make their apps work properly, but those settings even got reset with firmware updates. So apps break again and users are required to re-enable those settings on a regular basis. What's funny/sad is their edit only applies to vanilla Android. Other manufacturers have manufacturer-specific settings needed to whitelist apps, because they're not respecting the contract Android provides on background processing - And maybe the most insulting part is the fact that the apps that consistently show up as higher energy users on people's devices... like Facebook... Are normally exempt! These "optimizers" usually exclude any app deemed "too big to make fail". So it actually undoes an enormous amount of good that would otherwise be done, and shows it's hardly being done with actual results in mind These optimizers have existed since the early days of Android, but advanced users understood that intentionally breaking apps wasn't the right way to go about saving battery. Manufacturers picked them up, in large part because clueless users who like the sound of the idea (right up until it starts killing their music or making their alarms fail to ring) were installing them Some of them even feel like anti-competitive implementations. Huawei has an implementation that can't be controlled by the user on some devices! So only apps on the pre-installed Huawei whitelist can run in the background period, and that list includes their homegrown apps and a few major ones like Facebook. Good luck if you have a small app with useful functionality.
- ogre_codes 6y agoI don't think you quite grasp what I meant by balancing act. This is an issue which the 2 biggest companies in tech have been fighting for 15 years (and Microsoft fought and failed to solve prior to that). This is arguably one of the biggest problems in tech and as devices get smaller and more personal, it's only going to get trickier. Your watch battery isn't going to last all day when you are running a crypto currency miner which is disguised as a media player.
- potamic 6y agoIt's easy to implement a software solution that punishes poorly behaving apps and allowing the rest.
- judge2020 6y agoIt's not even that, simply having open sockets with heartbeats (and then re-opening them once the connection breaks or you switch networks) isnt efficient with 5+ different sockets always open listening for notifications, and that's if every app is coded the same way to operate extremely efficiently.
- jlokier 6y agoIt would not be technically impossible to have all 5+ wake up at the same time and activate the radio at the same time, even with different packets to different destinations. And it would not be impossible to coordinate the return timings to match either. Or even better, to have just one low-level packet shared among them all, with a mobile operator or backbone protocol that fans them out and in, analogous to multicast and IGMP but designed for push/keepalive systems. There are no insurmountable technical obstacles. Just challenges. There is negligible consequence for power consumption too, with a suitable API. But rather than design for everyone, as we would have seen in the utopian days of the internet, it's much easier to run a single walled-garden service, and it fits with the "you must go through us for everything" model used by many of the device's other services.
- imwillofficial 6y agoUtopian days of the internet? Where a bug in a prank can spread a worm that takes down most of the known internet? The same security mindset that allowed for the utopian days is not only long gone, it could survive in an age where my banking and medical info is online.
- jlokier 6y agoThe attitude that different vendors can create independently run services is still alive, now with better security. But not on major mobile devices, at the moment. In the banking world, it appears to be getting slightly more open. There are more independent feeds and open standards than there used to be. This is a mixed benefit as there are also more "middleman" sites that want to read your banking data to help you visualise it better, and some of them might not be doing it just for the benefit of the account holder.
- rektide 6y agoIt sucks that mainstream os'es have spent the last decade on a race to the bottom, to control & reduce possibility. There are bad actors abound but many users were navigating the environment semi-ok, checking for information on how bad their apps were acting. The clampdown is both for the user but also enormously user hostile. We can try to pin down how justified or not it is, but it bloody sucks either way & I am worried, really worried, with current events like Mozilla & Apple teaming up to decry webmidi & ambient light sensing as enemies. Yes they have some risk? But mostly this comes off as farce to me, & spun with heavy marketing "be afraid" FUD.
- ogre_codes 6y ago> There are bad actors abound but many users were navigating the environment semi-ok, checking for information on how bad their apps were acting. I truly hope Pine phone picks up share (and performance/ functionality) so people who want this level of control over what their phone runs have a platform. A lot of people don't know how to manage their phones. I know how to manage performance on my computer but would prefer to not have to do the same on my phone. I suspect I'm not the only computer professional who wants to leave that sort of administrative detail to their work life and not have to deal with a phone that crashes due to a poorly written app. I suspect this is why the iPad is so popular. It has much of the power people expect from a PC, but removes much of the headaches associated with them. My feeling here is there is space for managed platforms such as the phone and the iPad; less managed platforms like the Windows/ MacOS; and truly open platforms like Linux. I'm not sure open platforms are very well suited to phones myself, but I'm not against them either.
- valuearb 6y agoNot clamping dawn is user hostile. These are phones and messaging platforms that are under constant attack by bad actors. Semi-ok means the bad actors have succeeded many times on hundreds of millions of devices. Stop mistaking your unique desires for those of the vast majority of smartphone users. Very few care about alternate push notification services, or sideloading, they are happy to use the default app stores and services.
- 6y ago
- rajveermalviya 6y agoStory seems pretty much the same with Web push notifications. You send a json to the temporary url provided by the browser push api. 1. From client get a push url. 2. Pass that to your app server for future use. 3. Send notification json to that url. 4. That url points to the specific browser vendor's Push notification server, and when it recieves a notification from your app server. It relays the message to the client. And that url is different for different browsers. Firefox - https://mozilla-push-service.readthedocs.io/en/latest/ https://mozilla-push-service.readthedocs.io/en/latest/ Chrome - uses FCM Can't configure a custom push server endpoint, like self hosted server without shipping your own browser.