The Software "Check Engine" Light

Raymond Chen notes that, in his personal experience, users don't read dialogs:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/02/the-software-check-engine-light.html

My content is 264 words, or 45% of the total.

Don’t forget to count the words in your replies. You also comment on people’s comments to your original blog post. That should count for something.

The Software “Check Engine” Light

I’ve used software that had a button with a smile face on it. If you clicked the button it said everything is good to go. If the face on the button was a frown then your attention was needed.

I guess you can consider this the “Check Engine” light. Smile = Check Engine light off, Frown = Check Engine light on.

If you need to update, do so. if you need to download and apply
security patches in the background, do so. If you need to send crash
data, do so. Silently.

The thing I hate in MS Windows most of all is its stupid habit of doing something without asking me.

It wants to download a security patch? Hey, I’m playing a MMORPG right now, and I need all of my bandwidth! It wants to apply an update? Hey, don’t do it! I want keep an older version as it works faster and is less buggy!

Windows is doing lots of things without asking. If it will do even more of them - one day I will move to smth else at last.

So, doing things “silently” will not solve the problem. We need some other way…

This is believing that software and their manufacturers are always right and trustworthy. Which wouldn’t make patches necessary in the first place.

I don’t trust software (to do the right thing).

It would be sufficient to link and comment, but ripping off 90% of someone else’s article and using that as 70% of your own is a bit, well, rude.

I’m playing a MMORPG right now, and I need all of my bandwidth

This would fail the “when the PC is idle” test I listed above. That’s not Considerate.

I want keep an older version as it works faster and is less buggy

Really? Even if that older version has a massive security hole?

I kind of like that my car tells me exactly which light bulb is out. And it tells me in approximately how many miles my next service is due. And then it starts bugging me when it’s about 1000 miles away. It also has an oil level sensor, so if I remember to run the test, it will tell me if the oil is critically low. If the oil is low, it tells me approximately how much to add. It can detect all kinds of error conditions.

Of course, none of those things are critical. I can always ignore the little screen if I want to and just turn the key to start the car and drive away. The screen doesn’t beep or get angry at me for ignoring it. It complies with what I want to do and quietly goes back to its normal view (odometer, trip mileage, time).

The car is a 2002 Mercedes C 230, if anyone’s curious.

Perhaps Windows needs a ‘Normal’ and ‘Geek’ install pattern. I don’t want updates happening or applications connecting to the Internet automatically - hell, I don’t even want processes to run unless I let them (and try stopping that in Windows). However, for my grandparents, everything is set up to take care of itself. And in a work context, I’ve had Microsoft updates break things I’ve been working on (although for good reasons).

I guess that for me, it’s a question of control. I wouldn’t expect to take my car to a mechanic and have him do things without telling me - and I certainly wouldn’t expect him to change my music collection, which some updates have done. Other folks might not care, as long as the car goes.

FWIW, I don’t think that Microsoft are the worst offender for this, either.

Orville, without the bits or Raymonds post his own argument wouldn’t make much sense. It puts it into context. The point of his post is different from Raymonds.

I think there are problems with doing thins automatically. When do you start installing? When they’re not doing much. But what if they start doing things? A lot of updates won’t really function terribly well half installed.

Or maybe I dont want microsoft to lie and call WGA as a needed update, I think the other commenters have a good point, and actually microsoft already has this option in automatic updates, where it can download them and ask to install or ask firs or just do it all.

I remember updating a Windows 2000 machine with service pack 4 and having it fail to boot as a result. If these things are to be done silently then there needs to be a way to undo them. I think Alan Cooper said as much in About Face.

Also, I’d like PCs to have more warning lights for hardware (CPU temperature, fan go/no-go status, so I can decide what to do,
have more to report to the person subsequently fixing it, etc.

“Just a moment. Just a moment. I’ve just picked up a fault in the AE-35 unit.” :slight_smile:

Hm…I thought Windows OneCare was the Check Engine light…

The only kind of updates that there should ever be are ones adding functionality and the user should not need to update if he is satisfied with the software as it is, having no need for extra bells and whistles. The security patches and automatic updates, which are needed, because otherwise patches aren’t applied often enough, are definitely The Wrong Way.

There have to be better ways to deal with security than constant patching. And I believe there are. A lot could be done by simple process-level security features built into the OS. Possibly sufficient features already exists on Windows and other OSes, but they are not used properly, or at all. It would be a relatively uncomplicated matter to have per application security priviledges, controlled by a system-wide security policy.

And one thing I can’t believe is that there are still security holes due to buffer overflows. There have been very good redundant bounds check elimination algorithms for a long time; there’s no need to suffer any buffer overflows these days.

Users definitely should not be interrupted and bothered by issues not related to the tasks they are doing. After all, the computer exists to serve the user, not the other way around.

As I understand it you can in fact run automatic updates in completely silent mode where it does the update without asking in the background. I get the feeling that the reason that the dialog prompts for a user response by default is the possible legal implications or at least social backlash against a system which communicates to those Internets without the user knowing about it. If crash reports were sent silently I can almost imagine the Slashdot headline “Micro$oft’s Unstable OS Steals Your Documents When It Breaks (Like It Always Does), Without You Knowing”.

Honestly I don’t have any sympathy for people who assume that a dialog box is meaningless. It may be meaningless to you, but if you make a note of what it says, it might mean something when you try to get it fixed. While there are many who rabidly oppose the use of dialog boxes in any application, they are a fact of life in many applications and ignoring them never helps. Software should “just work” but we aren’t quite there yet, so until that happens people might just need to take the time to read what their software is telling them.

That would be possible only if I can get audit log of changes done to my computer and software and use DRM tools to control access to my private data and documents. Only then I would let someone else to check my computer’s engine.

I agree with the post about ‘Normal’ and ‘Geek’ modes. Different people have different needs…

Thank You, all linux geeks for shouting about how bad is sending some data without user’s knowing, and all those MS=big brother rants.
See? You made some dialogs happen…

"the computer exists to serve the user"
Flaky, you’re so wrong. Gates said in the late 70’s ‘a computer on every desk running MS software’. The computer exists to make loads of money.

Actually, an equivalent to the “check engine” light exists on some Linux desktops, an icon that indicates when new updates are available, and downloads them with a click and possibly a dialog asking for the root password. It’s a good idea, with one nasty caveat – most desktops, including most Windows versions, are filled with teensy Useless Status Indicators that are even more ignorable than dialogs. I suspect the people who most need timely updates of their Windows installations are exactly the people who never, ever, under any circumstances touch the icons in their tray area.

Actually, the use and abuse of tray area icons would be a fine subject for a future post. The system tray is almost a good idea, but it seems like every single bit of crapware out there leaves its spoor there.