8 ms·
> We partnered with DeepMind on a feature called Adaptive Battery that uses machine learning to prioritize system resources for the apps the user cares about mo
by hateful 8y ago
> We partnered with DeepMind on a feature called Adaptive Battery that uses machine learning to prioritize system resources for the apps the user cares about most.
You know what mind I would like to control what apps get more resources?
Me
- fixermark 8y agoNot most people though. There was a time when in MacOS, one could manually limit the amount of memory a program was launched into by setting the required and preferred memory footprint. But that kind of low-level stuff isn't something most people care about or want to do. They just want the damn thing to work.
- binomialxenon 8y agoI see your point that most people don't want to dig into the nitty-gritty details, but I don't think it'd hurt to be able to mark applications as High, Normal, or Low priority for memory and CPU use.
- joshuamorton 8y agoBut this isn't really high/normal/low priority for mem and cpu, its how often the applications should wake up. And from my cursory understanding, background resource consumption can be highly variable, and most apps don't really need that much. Its the same thing as using those battery manager task killer apps. For a pixel, those apps will result in worse battery life, because recent android versions manage resource consumption better than users will.
- sjm-lbm 8y agoFurthermore, isn't the idea here to put the control into the user's hands? Think of it as a resource manager controlled by you, but with the only interface that the general market will be able to use for something with a fair amount of technical nuance - ML.
- mtgx 8y agoDo you know what I would like? For Android to actually show what apps/services drain battery life. I noticed recently that WhatsApp, Reddit Sync, and a few other apps were draining battery life like crazy. But none of that drainage was being shown in the battery stats. Google is purposefully hiding how some apps use battery, and it started years ago when they allowed apps to hide under "Android OS" and "System" categories. In more recent versions they "fixed" this by simply not showing the Android OS and System categories in the battery stats anymore. Google doesn't want to show how some apps use your battery because they drain the battery with similar methods that Google itself uses to drain your battery (by polling your location all the time, etc).
- izacus 8y agoNoone is purposefully hiding anything. If you need advanced battery data, you can use Battery Historian even on non-modified phones and you'll get all the battery stats your heart desires, down to reason for each CPU wakeup. https://developer.android.com/studio/profile/battery-historian https://developer.android.com/studio/profile/battery-histori...
- scarface74 8y agoThat wasn't a feature, it was a bug. It's not that you could limit the amount of memory a program could use, you had to implement one contiguous block of memory an app could use and you had to close apps even when you had plenty of memory to get a contiguous block. That was like Mac users who said that cooperative multitasking was better because it let games run more smoothly, while technically correct. It was like being happy that your dog pooped on your carpet because now you have free fertilizer.....
- Dylan16807 8y agoI don't want to micromanage things but there's definitely an app or two that I want to ban from running in the background...
- ythn 8y agoUgh, I want to be optimistic, but I think this feature is going to suck and here's why: I use snapchat, but I actually hate the app. It's a bloated memory and battery hog in my opinion. Is Adaptive Battery going to think I love Snapchat and prioritize more system resources for it just because I use it? Cause I want the exact opposite to happen. I want Snapchat using 0% of my system resources except for the few times a day when I check my snaps. Also I hate losing control of my system in favor of some nebulous decision making criteria I can't control (ML)
- youseecomrade 8y agoThat's why I only use Android with ROMs like LineageOS where I can block apps from opening on startup and running in the background (you also get more granular permissions for free).
- scarface74 8y agoWhy does Snapchat need to run at all when you’re not using it?
- jhasse 8y agoTo ruin your battery life.
- ehsankia 8y agoI don't think it'll ever use /more/ resource than it is right now. From my understanding, all apps right now are at "maximum" usage. All this does it reduce usage of apps you never use. So in practice, the resource usage of Snapchat for you would probably not change at all, but that one game app you downloaded 2 months ago and never played will stop querying the master server every day to serve you more ads.
- halflings 8y agoFirst, one thing: the people working on these projects are not dumb. They are not going to launch a feature that simply does not work. These teams run experiments and confirm that the feature actually does what it's supposed to do (e.g improve battery life) before launching them in production. It sounds like this feature is exactly made for cases like the one you describe: if you don't use Snapchat throughout the day, it won't stay in memory like it currently does (which seems to be ~ a LRU cache), instead staying in memory only when you're predicted to use the app over and over. (so not Snapchat in your case)
- tensor 8y agoPersonally, I think my mind has better things to do then mechanistic micromanaging of OS level resources. Some people will be upset that ML is obsoleting these sorts of repetitive tasks, but not most people.
- mrguyorama 8y agomaking a feature available does not make it required
- fixermark 8y agoIt does, however, require supporting it, and those are engineering resources that could be spent elsewhere.
- ehsankia 8y agoSoftware developers also often forget that UX is a thing. "Just add feature X, Y & Z". This is why you never let a programmer design UIs, you end up with a mess with dozens of buttons, menus and submenus everywhere. Every new feature comes at a UX cost, and in this case, the cost of the UX outweighs the benefits of you micromanaging your memory footprint.
- on_and_off 8y agoPeople also seem to underestimate how complex resource management on a mobile OS is. That's not exactly an easy problem. Currently used apps scheduled background work currently active foreground services like the navigation app you are curently using, the image that is uploading in the background or the music that is playing .. stuff without a visible UI (except for a notification so you know what is going on). All important but not the main thing displayed right now. You also need to throttle the CPU when the phone runs too hot. But not run it at minimum speed either because it would make everything laggy. Also, if you pick up your phone out of your pocket, it automatically wakes up and increase CPU frequency because it is likely you are going to use it. Etc .. This is very complex problem, it is ok to let a machine balance this for us.
- jasonvorhe 8y agoGood for you. I don't want to waste time on taking care of my phone. It should save energy regardless of my actions.
- danpalmer 8y agoI don't know a lot about kernel scheduling, memory allocation, I/O scheduling, etc, but from what I understand there are OSes with much cleverer implementations of these things, and OSes which are pretty dumb. I believe Linux is somewhere in the middle. Surely there is lots more scope to optimise these schedulers with regular rule-based approaches, rather than bringing in DeepMind magic? It's always difficult to understand the reasons why machine learning algorithms choose the things they choose, and they often have unintended consequences or awful edge cases. This just seems like it was done for marketing reasons more than technical reasons?