Abstract: Peter adds a few finishing touches to his thoughts on what does and does not befit a well-mannered software installer.
Last month's column was dedicated to the improvement of the humble, everyday installer. The installer is in the unfortunate category of components that are both completely essential to the success of your application and entirely too easy to ignore. As a result, the average computer user probably runs up against a poorly-thought-out installation procedure at least a couple times a month, and power users probably double or triple that number. In this follow-up to last month's column, I look at some of the finer points of installation etiquette: namely, respect the user, communicate your intentions, and never make a promise you can't keep.
Some installers act like they think they own your OS. Whether it's admitted through a CD-ROM or a one-click download, this type of installer gets one foot in the door and proceeds to run the place. A well-mannered installer explains its procedures and awaits confirmation before proceeding with an installation action while this type (I call it the Intruder) doesn't bother to tell you a thing. Once you've slipped the disc into your drive or clicked the Download button, the rest is history -- all files are loaded and copied to a location predetermined by the application vendor. The Intruder doesn't come with a Cancel button in case you need to stop the procedure for some reason, and it will never tell you just exactly where it's putting all those files it has just crammed into your hard drive. If you ever want to delete the files you'll have to find them for yourself.
Less intrusive, but still annoying, is the installer that demands the total focus of your OS for the entirety of its procedure -- without prior warning. The old Macintosh installer was guilty of this breach of etiquette. Once launched, it proceeded through all the steps of installation, concluding with a system modal dialog box (a request window that prevents you from switching to any other application until it's been dealt with) which said, "Your computer must now be rebooted." The so-called dialog box had only one option: "OK." Old school Mac users quickly learned to save all work before launching an install; but many undoubtedly learned the hard way.
More subtle than the Intruder, but just as irritating, is the installer that appears to offer an array of choices, but in actuality does not. When trying to install Microsoft Internet Explorer, for example, I noticed that offline browsing was marked as an optional feature. Since I have no interest in that, I tried to disable it, but no luck. As it turns out, some non-optional components (I couldn't find out which ones) require that offline browsing be enabled. If you cannot install Internet Explorer without offline browsing enabled, why is it marked as optional?
In a similar vein, with some Mac programs you can specify a disk for installation but not a target directory. If the point is to allow you to organize your computer, then why not actually allow that?
In the System 7 era, the Mac installer claimed to be able to install a bootable OS for some machines in about 1 megabyte of space. Those who tried to take up the option found that it couldn't actually install to a floppy, and that it ended up consuming about 4 MB on disk. The existence of rescue floppies in the distribution media suggests that the install was possible, but the installer couldn't do it. More fake options. Apple eventually removed the feature, but not before revealing to the world (of geeks, anyway) how poorly it had tested this aspect of its installer.
A particular pet peeve on this topic is installers that offer a customized installation that actually has no options or settings. Why bother, I ask you?
Most installers expect too little of the user; others expect too much. The installer for Cygwin, a UNIX-like environment for Windows machines, is a good example. Cygwin is a wonderful toy, but very hard to install. Its installation options are weird enough to confuse even the most seasoned UNIX user. You can set it to install everything, skip everything, or default everything -- but I found no means to identify what the default installation is. Worse, once you've got a partial install, you have no "leave this in the state it's in now" option. The options are Default, which may or may not leave things alone, but is not clearly documented, and then Install, Remove, or Skip. Maybe Skip is the right thing to do here; maybe not.
Another variant on this problem is the installer that gives you options but insufficient information to exercise them. I find that Windows is a repeat offender in this category. My personal favorite is the dialog box that asks if you want to replace one file with another, but only provides the version number for one of the files. How are you supposed to know which file you want? Pretty useless.
An overly complicated installer is really no more convenient than simply unpacking the files yourself. Don't get me wrong: I like a software program that gives me options. But some intermediate steps would be appreciated; maybe some kind of categorization of features, or a list of likely default settings that the user could adopt.
The bottom line on good installer etiquette is to treat the user the way you would like to be treated. Your installer shouldn't be too intrusive. It should communicate clearly throughout the installation procedure. It shouldn't contain options that don't work. The options it does contain should be useful and thoroughly explained. And, finally, the installer's complexity should never exceed its utility.
This week's action item: Find out how long your friends would expect it to take to completely reload a computer and have their applications functional again. Weep.
Peter Seebach is a freelance writer who's participated in the e-business game for years and just wants everyone to play fair. If you have comments, feel free to contact him at crankyuser@seebs.plethora.net.
1. http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/&origin=dwheader 2. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#main 3. http://www-106.ibm.com/developerworks/search/help-dw.html 4. http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/&origin=dwheader 5. http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/products/&origin=dwheader 6. http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/support/ 7. http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=http://www.ibm.com/account/&origin=dwheader 8. http://www-136.ibm.com/developerworks/ 9. http://www-136.ibm.com/developerworks/web/ 10. http://www-136.ibm.com/developerworks/ 11. ftp://www6.software.ibm.com/software/developer/library/wa-cranky41.pdf 12. javascript:void newWindow() 13. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#1 14. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#2 15. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#3 16. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#4 17. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#resources 18. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#author1 19. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#rating 20. http://www.ibm.com/developerworks/web/library/wa-cranky40.html 21. http://www.ibm.com/developerworks/ibm/library/it-multiplat/ 22. http://www.ibm.com/developerworks/ibm/library/it-hintsandtips/ 23. http://www-106.ibm.com/developerworks/newsletter/ 24. http://www-106.ibm.com/developerworks/subscription/ 25. http://www-106.ibm.com/developerworks/web/library/wa-cranky41.html#author1 26. mailto:crankyuser@seebs.plethora.net?cc=&subject=All I want is a quick, easy install, Part 2