Shutdown Philosophy

One of the core guidelines of computer usability is this: Always let the user undo his actions, if possible. There are many good reasons for this. People make mistakes, and the more lenient we can be with that, the better. It lets users experiment and explore your interface and get used to it without fearing permanent data loss. Yet, today I ran into something that I couldn't undo: Shutting down the computer.

Okay, so turning the computer back on again is, in a sense, undoing things. But that's deceptive. The computer will not be in an equivalent state to what it was before I turned it off, so I'm not truly undoing anything. What I really want to undo is not the shutdown itself so much as the shutdown command. Perhaps it would be more accurate to say I want to interrupt the shutdown procedure.

Your typical shutdown procedure, slightly simplified, begins with shutting down all the current user's running processes, then system processes, and then we reboot (or hibernate, or shut down, or whatever). On Windows XP (yes, I still use it), each application will be given a chance to exit gracefully, as if the user had exited normally (again, a simplification). During this procedure, it's likely that you're going to run into one of those "You haven't saved in a while, want to do so now?" dialogs. And when they do, you'd better be damn quick about answering.

Y'see, Windows doesn't really give a crap about what an application is doing after it sends it the message that we're about to shut down. All it cares about is that the program exit in a timely manner, or it's going to get forcibly killed so that shutdown can continue. This means that if you run into one of these dialogs, stalling the shutdown procedure, you're going to have to get through it as fast as you can before Windows decides to just terminate the process and leave your unsaved data in limbo. And don't even think about clicking "Cancel"; the only thing you're going to cancel is the dialog, leaving your program still running and probably only seconds away from getting killed.

Well, why shouldn't I be able to cancel? Let's look at this from a pure usability standpoint for a while. If the user is not acutely aware of the fact that different applications are independent of each other (and you'd probably be surprised at how many people think this way), it makes sense that hitting "cancel" in Word should cancel the whole shutdown procedure. It certainly shouldn't result in the unwanted sudden termination of the program and loss of data; in fact that's probably the exact opposite of what the user wanted! As we move towards more activity-centric usage rather than application-centric, this problem will only be exacerbated.

Even if we are aware of this fact, it would still make sense for us to expect to be able to cancel a shutdown, at least while it's in its early stages, shutting down user processes. There's always going to be a point of no return after which vital system processes have been shut down and getting back to a usable state again is not feasible without a complete reboot, but there's no reason for that point to be the moment you press the "Shutdown" button. Anyway, even if we can't get all our user applications back, at the very least we should be able to stop a shutdown procedure before it has reached this critical point and preserve what few we still have.

All of this is only aggravated by the fact that installer programs or the dreaded Windows Update may at any point decide to force a reboot on you. Leaving aside for a moment the fact that any program forcing you to reboot is bad in principle, it means that you may often find yourself in a situation where you need to shutdown without having time to prepare for it. Yes, you can always hold off on hitting the "Finish Install" button, but you still have to face the unpleasantness of going through all your applications to shut them down manually, and that means you may forget one or two. I know I always do.

Either way, it's strange that it's not possible to interrupt a shutdown procedure, and a bit of a usability problem. Fortunately, we don't voluntarily shut down our computers all that often, and when we do we often do so knowing well beforehand that we're going to. Despite its infrequency making it less of a problem, it nevertheless is a problem in principle.

Comments

1
Nebet On March 19 2008 (March 19 2008 00:37)

I have often thought the same thing myself - usually after accidentally hitting "Turn off" instead of "Standby" or whatever it was I was intending to do. You can't even pop into whatever online conversation you were in the middle of with a, "Whoops, gotta run, brb" - you just disappear!

Not to mention forced reboots after Windows Update gets it into its stubborn little head that that update it grabbed for you overnight just HAD to be fully installed RIGHT NOW instead of in the morning. It's always a sort of sinking feeling to wake up to realize that the IM program you had left idling (just in case that person you needed to talk to, several timezones away, should respond while you were asleep) is not running, because the computer rebooted during the night.

(And yes, of course I could just set it to run on startup, but I can't do that selectively, and it gets in the way to have to wait for five or six regularly-used programs to load when I just need to pop open my laptop to do something quickly while waiting for a plane or what-have-you.)

Which reminds me: I should get around to having my computer warn me earlier about battery capacity. Nothing like two mournful beeps just before the screen goes dead for losing your work.

In short: I agree!

2
Jhon P. On March 19 2008 (March 19 2008 13:10)

I, too, have often thought about this, but I have come to accept that this is the way the computer gods wish to make operating systems. As a student, the many times I have wished to be able to cancel a shutdown process is when I am finishing some work, be it in the morning or right before class in the campus library, and I think I'm done. I printed what I needed to print, saved what I needed to save. I start the shutdown. It is then that tragedy strikes. Either a) I forgot to save the files onto my flash drive b) I forgot to print something c) I realized my printed paper had a small typo in the works cited d) All of the above And it is then that I wish there were a way to cancel the shutdown. I agree, there should be a point of no retur; there always is. But if all the system has done so far is close microsoft word, the antivirus, hell, maybe even explorer.exe, why can't I just say "Hold on a sec," and be able to continue with some work?

And as to Nebet's post regarding having to wait for five or six regularly-used programs to load when he just needs to do something quickly, I've had the solution for this years ago, but I'm still waiting for it to come out on the market. It's like when you install different partitions on a hard drive, maybe with different operating systems. When you turn on your computer (Would be more practical on a laptop), it offers you the choice of which partition (or OS) you wish to boot from. Well, laptops should come with some sort of integration, where it asks you whether you want a regular boot or a FastAccess (TM) Boot (See, I already trademarked it and all, lol). Whereas the regular boot would take longer because it loads everything, the FastAccess boot would be similar to safe mode, minus the ugliness and plus the networking. It would not load Windows services that you don't need, user processes that are not deemed necessary (updaters, rogue drivers for that seldom connected Zune or iPod) and perhaps other things that escapes my technical ignorance at the moment.

Alas, we will probably never see this, but we are always free to dream.

3
Nebet On March 19 2008 (March 19 2008 14:56)

That would be nice, wouldn't it? "Full (default) startup" vs. "barebones startup." You know...hm. I guess you could always just use a different account on Windows to sort of simulate this. So long as they both have mutal access to each other's documents folders, etc., you would even be able to save things to your "primary" account's MyDocs or what-have-you.

Hmm. It might work! One for "full startup" - the default account, with land-line networking; one for "mobile startup" - with minimal apps and wireless networking; and one for "barebones startup" with zero apps running and no wireless either. It would take an awful lot of fiddling, though, I think.

Sidenote: Peter, I swear your CAPTCHA is out to get me and drag my mind into the gutter. So far the words it has spit out have included "furry," "toppings," and "nipped," and in fairly rapid succession. (To be fair, there are also the counterexamples of "gantry" and "wallaby." It would be a strange mind indeed could wrangle those into euphemism.)

4
AKX On March 19 2008 (March 19 2008 22:19)

Actually, in some cases you CAN cancel shutdown. Windows comes with the "shutdown" utility - curious aside: it eats parameters in the UNIX dash format, instead of the Windows slash format - and you can pass it the parameter "-a", "abort a system shutdown". In fact, the Windows GUI can cancel shutdown, too. If an application is too clingy - ie. does not respond to the WM_SHUTDOWN (iirc) message in a timely fashion, Windows will pop up that "Return and see what the hell this program is doing?" window - and that, it seems, does what shutdown -a does.

Also, regarding those extremely annoying Windows Update popups: You can disable them forever - http://lifehacker.com/software/top/get-rid-of-windows-update-restart-nag-183976.php - or just for the current session - Command Prompt "net stop wuauserv".

Several BIOS manufacturers have been recently planning their own "quick-boot" OSes (OSen?) which - I'm not sure if it's a great idea, a good idea or a horrible idea. The principle certainly is good - the just slightly illegal Windows version TinyXP boots unbelievably quickly, for instance, and I'm sure something contained on a chip on the motherboard would boot a lot quicker. I'm just worried these micro-operating systems will be all too limited.

Regarding the dual-startup idea... What about two Windows installations? Both can mutually access each other's partitions - and that bare-bones Windows could well be TinyXP or something. Or maybe Linux!

Btw: Captcha = geeks. :|

5
Peter C O Johansson On March 19 2008 (March 19 2008 22:27)

As far as I know, if a program doesn't respond quick enough, Windows gives you a dialog that has a countdown timer of about 30 seconds, and a "terminate now" button; there is no option to stop shutdown.

6
AKX On March 20 2008 (March 20 2008 01:10)

I just recently saw a window that asked me to force-quit the app or "Return to Windows". I did the latter and closed the culprit - FooBar2000 (it's slow to write its database onto disk) - and then manually re-shutdown the computer after that.

Though, I have the feeling that window may be the harbinger of doom, since the shutdown ended in a catastrophic bluescreen and a reinstall of Windows the day after. ;P

7
Nebet On March 20 2008 (March 20 2008 05:09)

AKX, I've seen that same thing you're talking about - the "such-and-such is not responding, return to Windows or terminate program?" dialog - also, but I thought it only occurs when something is very wrong with the stubborn program. Certainly it's not a consistent thing - if the program is just being a little slow, rather than not responding at all, then you get what Peter described.

Also, thanks for the Lifehacker link!

I'm not sure that I have enough hard drive space free for more than one partition on this computer (my laptop) which is really the only one where it would matter. :P But when I next upgrade, yeah, would be something to think about!

8
Peter Bowen On March 20 2008 (March 20 2008 20:26)

Mac fixes this... if apps don't close, the OS recognizes that and cancels the shutdown. Cool, but it's really annoying of you have a process that doesn't respond fast enough. I've had a couple of times where I've had to manually shut down apps so it will actually shutdown the computer.

9
Adam On March 21 2008 (March 21 2008 01:34)

I was going to say what Peter said; if you are interested in shutdown override, Macs have got what you covered. The main reason I use OS X is because of how thoughtful the designers were in almost every aspect of the user experience. Not that I'm a fanboy, or anything. What? Don't look at me like that!

10
Anonymous On March 21 2008 (March 21 2008 09:15)

As another user aforementioned, "shutdown -a" at a command prompt window will abort a shutdown.

Create a shortcut to that, or if you want visual confirmation that it's gone through, create a shortcut to "cmd.exe /k shutdown -a" and the command window will stay open after the command is issued.

11
heltzu On March 23 2008 (March 23 2008 07:22)

Vista is even worse, in my experience - at least XP pops up the "Turn Off Computer" dialog, whereas Vista has the dropdown menu. Terrible design. What I also deal with frequently is if you have to remote into a Windows machine you can disable networking without a confirmation (this has happened multiple times at the office). There's nothing like driving 20 minutes to a client's site just to re-enable the NIC :).

12
AKX On March 27 2008 (March 27 2008 21:13)

I got a screenshot of that shutdown-canceling Windows message box now. http://i.servut.us/i/shutdowncancel.jpg

Captcha: panicky.

13
Peter C O Johansson On March 27 2008 (March 27 2008 21:37)

I can honestly say I've never see that dialog offer a "Cancel" button. Whenever it pops up, the option is between End Now or wait for it to end itself.

14
Nebet On March 28 2008 (March 28 2008 08:33)

I've seen that too, AKX, it just only happens when there's something wrong with the program in question. : /

15
sid9102 On April 5 2008 (April 5 2008 04:48)

Hello? Vista has the ability to cancel shutdown! If you have some programs still running, it will ask you if you want to cancel shutdown, or continue shutting down. Nobody seems to notice when Vista actually has a good feature...

Add comment

Markdown may be used.
You may enter a name for yourself. If left blank, the comment will be signed “Anonymous.”
Optionally, you may enter an URL to appear alongside your name.
Enter the word shown in the picture above.