# Usability for Nerds/Software/Installation and Uninstallation

Installing a new piece of software is something that beginners often have to do. Therefore it must be easy.
The installation procedure should be standardized so that it works the same way for all programs. Preferably, the installation procedure should be part of the operating system. If such a feature doesn't exist as part of the operating system then use a standard software tool. Most software packages use standard tools which give the installation procedure a well-known interface and takes care of the operating system tasks in a standardized way.
It is an advantage if the software can be installed from a single installation file unless this file gets very big. This is useful when the software can be downloaded from the Internet or otherwise shared. Let the user download an installation file and execute it, rather than making an on-line installation procedure, because the latter method may give unpredictable problems if the connection is interrupted while installing or if the download takes longer time than the user can accept.
All files belonging to a particular program should be stored in the same directory or its subdirectories so that the user knows which files belong to which program. Avoid very deep directory structures.
Installation procedures often have options about which components to install. This should include a help facility that gives a full explanation of the purpose of each component so that the user can make an informed decision.
Installation programs often ask questions about optional features or whether to replace one version of a file with another. Some installation programs keep asking this kind of questions with unpredictable intervals all through the installation procedure, which may last for a full hour or more. The program should rather ask all questions at the beginning so that the user can take a break or do something else while the installation finishes.
Uninstalling a program can be much more difficult than installing it. It is quite common for several programs to share the same files. Such shared files can of course only be deleted when all programs using them are uninstalled. The only way of keeping track of which files are used by which programs is to store this information in a database maintained by the operating system. Programs using shared files must comply with the standards of the operating system for storing such information.
Some programs ask you to insert the original distribution media (disk or some other information storage) when you want to uninstall. But what if the original distribution media has been misplaced, lost or damaged? Then you cannot uninstall the program. This is certainly unacceptable. A proper uninstallation procedure should rely solely on the operating system, and all installation programs should comply with the standards of the operating system for enabling easy uninstallation.
It should be easy to copy an installation from one local (hard disk, SSD or something else) storage or network storage to another or from one computer to another in case the user wants to update their hardware. The method for doing so should be standardized by the operating system. Unfortunately, this feature is missing in most operating systems.
← Internationalization · Copy Protection →