Submission details
Restarting in five minutes
When automatically installing updates, Windows displays a prompt for the user to restart their computer.
The prompt reminds users to save their work... then rudely displays a timer after which it will restart their computer anyway, loosing any unsaved data.
1) Reduce the number of restart required updates (a Vista promise, only partly fulfilled).
2) Provide more API's for developers of new apps and automatic systems for existing applications. Allow apps to save state and return to it after a restart, specifically:
a) API's to inform an application that the system wants to restart and that it should save state, offer a simple to implement API to 'freeze-dry' an app as though the system was being hibernated. Allow apps to send vetoes if they are doing something important.
b) Track actual usage of applications. Automatically assume the app isn't ready to be restarted if: its a full screen application; the app is using a file or library that has been updated directly (it can't be freeze-dried); its using low level system calls (interacting with devices such as a disk tool or printer); or it has an open network connection that is not idle for more than a reasonable period of time (note: Messengering apps might use an API to say they are okay to restart, if the user does not have any conversations open) .
Auto freeze dry legacy apps if none of these conditions are true.
3) Don't bug the user, place this alert everywhere except in their face. Overlay screensavers, logon screens, the start menu and the empty desktop with reminder notices. But don't place it anywhere where they are actually trying to work.
4) Make the first notice be a simple balloon style alert which remains until the system is not idle (so the user must of seen and read it) and then fades away. If the user closes all their foreground applications (so the taskbar contains no buttons), flash the desktop alert again, to remind them now might be a good time to restart while they are not working.
5) Tell the user approximately how long it should take the restart to complete, use recorded data of how long it takes the system to boot, along with data recorded about how long it should take the system to perform the needed changes to give an approximate but reasonably accurate guess.
Users will be more likely to restart if they know it will only take five minutes to do so and that their applications can be 'paused'. If you are honest something will take a long time, they will plan accordingly and do it at the end of the day.
High
Medium
Not fixed
Discussion (13 comments)
There is nothing that does my head in more than coming back to my computer to find it's closed all my Dreamweaver projects, reports, and other programs all without saving with a bubble in the bottom right corner saying "Your computer was recently updated! In order to apply updates your computer was restarted...".
Make restarts optional AND ignorable by default, and DON'T force restarts on users by giving them a timer! Group Policy kills this, but I shouldn't have to use a GPO at home to kill this off without disabling the Automatic Updates service.
"Hot Patching" has been enabled in Vista SP1 so it will be used for future updates (may be in July). New APIs and new restart manager is already included in Vista, so developers can use it.
2) There is already an API that informs all the applications that windows is restarting to update, and that they should save state, wadawada. It's up to the applications to use it. Visual Studio 2008 does. Media Center does. Allowing an application to veto the restart WILL make the system useless, as countless apps will abuse it.
Freezing an application is not possible. It's science fiction stuff.
5) Most updates perform some extra steps during the restart cycle, so the recorded data is meaning-less. If Windows doesn't know, I'd rather be told so instead of being given a wildly innacurate estimate.
It seems to me what you want to do is set WU to "Download updates but let me choose when to install them".
Some replies to tino and Turbo:
* None of the new API's would be able to do anything about legacy applications.
* 'Freezedrying' is not impossible, it would just require saving the entire state of the application's memory space and current processing state, as I said, similar to a Hibernate.
* I agree having a manual veto might be tricky to do, (The Old New Thing blog mentioned how the ability to veto Standby was abused in the past. Automatic heuristics as I mentioned might be better.
* My computer can track how long it takes to boot, it also can calculate and give me a guess as to how long it will take files to copy or data to write based on disk transfer speeds. Putting these together and giving me a five, ten, twenty or thirty minute guess would be far from impossible.
* I shouldn't have to configure my computer to not loose my work when I least expect it to. Users should choose when their PC reboots by default.
* Network administrators use a different method to reboot enterprise computers for updates, this only concerns consumer PC's.
* I'm on Vista SP1, why was this first patch Tuesday since launch not a hot-patched one? ;)
I've never seen this dialog, how does one trigger it?
Nidonocu: I see your point but I can't remember a single auto update that restarted my computer automatically. I can remember that this dialog was shown after the installation of SP1 but the last patches from Windows Update just gave me that extra icon on the shutdown button on the start menu.
And I think it would be really hard to guess how long the update and reboot will take. Is it really so important? Most of the updates do not take longer than a minute or so, except for an SP.
This is something very BAD about vista (it appears only if you postpone many times)
If you're away, your unsaved data will just be lost!
Come on, updates aren't that important, we've been using Vista for more than a year without the update anyway, why bother for a few more hours?
@fowl: I'm not sure exactly myself, this one came during the last Patch Tuesday on my machine and I (thankfully) happened to be sitting there at the time.
@Nidonocu: Oh, you can save the whole memory space of the application, but that won't do you any good. What happens with all the external resources the application was using? They won't be there when the application resumes. Result: Instant crash!
@Turbo: That could be a bit of a problem I admit.
I think this is a very important issue! At least the restart timer should stay right on top - when I was using my computer yesterday I got irritated by the box and continued with a Word Document. The timer went "behind" and I forgot about it, only to have the computer rudely close MS Word (without saving or autorecover) and Firefox, and restart.
I forgot to add that contrary to the writer's pt 3, I think it should be more obvious and get the user to click "postpone" rather than let the user forget about the auto-restart (but I would rather prefer a more graceful behavior).
tino wrote on June 11, 2008, 5:12am
I demote this because I think it's really good now. I only have to restart the system only one time a month or so after I manually chosen to install an update which said that it will need a restart after installation. And then I can even choose when the system will restart. This is OK for me and I can accept, that it is necessary to "force" a system to restart (especially in enterprise networks).