The main problem is defining what it means to be idle.
Suppose you have some browser tabs open, so there is some javascript running to switch out the ads on the page every few seconds. Is that "idle"? There's CPU and network activity. Suppose there is an open ssh connection to a server. It sends keepalives because the client is remote and behind a NAT, but there is no "real" activity. Should the server go to sleep?
It's entirely possible to be too aggressive. Samsung is proving this. They've disable "unused" apps by default. But "unused" just means you haven't opened it in a while, not that you e.g. don't have a reminder set in it to give you an alert for something which is happening in six months.
Conversely, I wish web browsers were more aggressive about denying background tabs any use of the CPU whatsoever by default, and then allowing the user to make exceptions in the rare case where that's needed.
But in general the way to do this on the hardware side is per-component, and that's largely already happening. Modern CPUs and other devices at idle shut down most of the silicon and use hardly any power. I've seen Core i7 desktops use 6 watts at idle. In that case you hardly even need suspend, what you really need is for the hardware makers to find what's using the last 6 watts and get it down below 1.
Conversely, I've seen server hardware that uses over 10 watts when it's "off".
I think Chrome added something like this recently. It "hibernates" the tabs, but you can opt out. The only downside is that I think it loses the tabs' state.
Suppose you have some browser tabs open, so there is some javascript running to switch out the ads on the page every few seconds. Is that "idle"? There's CPU and network activity. Suppose there is an open ssh connection to a server. It sends keepalives because the client is remote and behind a NAT, but there is no "real" activity. Should the server go to sleep?
It's entirely possible to be too aggressive. Samsung is proving this. They've disable "unused" apps by default. But "unused" just means you haven't opened it in a while, not that you e.g. don't have a reminder set in it to give you an alert for something which is happening in six months.
Conversely, I wish web browsers were more aggressive about denying background tabs any use of the CPU whatsoever by default, and then allowing the user to make exceptions in the rare case where that's needed.
But in general the way to do this on the hardware side is per-component, and that's largely already happening. Modern CPUs and other devices at idle shut down most of the silicon and use hardly any power. I've seen Core i7 desktops use 6 watts at idle. In that case you hardly even need suspend, what you really need is for the hardware makers to find what's using the last 6 watts and get it down below 1.
Conversely, I've seen server hardware that uses over 10 watts when it's "off".