Brendan wrote:
Yes; the end user could explicitly control things like pre-fetching, indexing, de-fragmenting, etc; if you really want a system where users do work for the computer (instead of having a system where the computer does work for the user).
Alternately, the OS could control it - e.g. having a much lower threshold for "is it worth doing?" when running from battery.
You don't have to make it complex, maybe an option in the Operating System's control panel labelled: "Perform maintenance tasks in the background? [Yes/No/Advanced]"
Yes enables them, no disables them. "Advanced" allows powerusers to configure exactly what is allowed to run in the background (indexing, de-fragmenting, network discovery, etc.) In your task manager/taskbar/ps applications that are allowed to run in the background should be a different colour, so the user always explicitly knows what could potentially be using processor cycles - with some mechanism to change this.
Brendan wrote:
These things all mostly seems to be poor software update mechanisms (e.g. no efficient/global system for updates; combined with applications that do "check for update during boot" instead of "check for update when run"). It wouldn't be too hard to find a better way of handling software updates.
I agree with you that there is a better way to handle updates - but they don't do that. There are always ways to disable the updater, but it requires poweruser knowledge.
I like the idea of an operating system having a permission system for applications - similar to what you see on mobile devices but more thorough -
"Do you want to give this application permission to..."
- Run in the background?
- Play audio?
- Access your microphone?
- Access your webcam?
- Access the network?
- Host a network server?
- Access user files? [No/Read Only/Read & Write]
- Access system files? [No/Read Only/Read & Write]
- Directly access hardware?
- Launch child processes?
- Run in full screen mode?
- Access your modem? [No/Dial Only/Answer Only/Dial & Answer]
- Shutdown, sleep, and reboot your computer?
Applications can have a manifest of requested permissions, that popup either during install, on first run, or when the user configures the application.