Don t Ask Questions If You Don t Really Want the Answers

Long ago, when it was still feasible for a programmer to develop an acceptable Windows setup program on his own, I developed a setup program based on the sample code given in Jeffrey Richter's Windows 3.1: A Developer's Guide. One of the many gory problems that a Windows 3.1 setup program had to deal with was how to install a file that currently existed but was in the wrong location on the user's machine. Richter recommended using the following dialog box:

This dialog box certainly seemed reasonable at the time. After all, it offers all the possible options—the user just has to pick the right one. However, as our technical support department would attest, this turned out to be a very bad idea. If the user is computer-savvy, providing all the options works well. If not, the user either panics and immediately calls technical support or makes the wrong choice, botches the installation, and then panics and calls technical support. (OK, we really didn't get that many technical support calls, but a surprising number of them were related to users having problems with this dialog box.) Notice that clearly identifying the recommended choice, making it the first choice, and making it the default choice wasn't enough to fix the problem.

TIP
Never ask the user a question unless you really want to know the answer.

In fact, the problem wasn't with the choices or the presentation of the choices. Rather, the problem was asking the question in the first place. There is a significant practical problem with asking the user a question like this. Of these options, the only safe choice is to install the new file and keep the existing file. The copy and delete choice and the replacement choice are potentially disastrous. A setup program should never offer the user a choice that could lead to a bad installation.

TIP
All user choices should result in valid installations. Never offer the user a choice that could lead to a bad installation.

(Please note: The particular problem described here applies to Windows 3.1 and no longer exists in Windows 98 or Microsoft Windows NT. The Designed for Microsoft Windows logo requirements clearly state that a file that isn't shared should be copied to the program's folder and that shared program files should be copied to the \Program Files\Common Files\companyname folder. Only system files should be copied to the Windows system folder. This installation technique eliminates the file location problem at the cost of using slightly more disk space.)



Developing User Interfaces for Microsoft Windows
Developing User Interfaces for Microsoft Windows
ISBN: 0735605866
EAN: 2147483647
Year: 2005
Pages: 334

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net