Windows user’s (justified) fear of installing new software
December 22nd, 2006
On his blog, Nick Bradbury posts that many inexperienced users are afraid to install programs. Actually, it is not just inexperienced users who hesitate to install programs on Windows. Many experienced users do too, because they know from painful experience that installing a new application can easily make their system start malfunctioning in strange and creative ways. In addition to this, they also know that it may be impossible to really remove the application. This situation is partly the fault of Microsoft for making Windows the way it is and partly (possibly even more) the fault of the armies of lazy, slovenly programmers out there who think they can do anything they like on users’ computers.
What many Windows programmers do to their users’ computers is the digital equivalent of vandalism.
I’ve worked as a Windows software project manager and a help author for a number of years and this has taught me that programmers tend not to care about being tidy and elegant as soon as it comes to anything that the user does not really see directly. They care about making their applications work as well as possible, but they don’t really care about the integrity of the user’s computer. For the sake of convenience, many Windows programmers regularly do a lot of things that users would be very upset about if they knew about them — and quite rightly, because in the long or even short run what programmers do to make life easier for themselves can slow down Windows and even make it malfunction.
Windows programmers abuse the Windows Registry as their own private database, bogging down the system with unnecessary ballast that should really be in configuration files in the application’s program directory. They overwrite system DLLs with their own modified versions, introducing the possibility of malfunctions in other programs and Windows itself. In some cases they even patch the Windows kernel (the “heart” of Windows itself) in order to obtain functionality that will make their programs work better but can make Windows function in ways that it was not intended to, resulting in instability and incompatibility with other programs.
Last but not least, the huge majority of Windows programmers almost never clean up after themselves when they leave — their uninstallers are so poorly programmed that they leave an unholy mess of cruft throughout the system. This means that every time you install a program to test it and then uninstall it your Windows system is compromised to some degree. The smallest crime here is just clogging up the Registry with unnecessary entries which are still loaded every time time that Windows starts — weeks, months or even years after the program has been removed.
But that is not all: Because it’s convenient and nobody really “notices” it, most programmers don’t bother to reverse any of the other changes they made to the user’s system when they installed their programs. They leave their modified versions of system DLLs and other DLLs in place. They leave copies of DLLs in place that may get used instead of the real versions. The worst culprits even leave drivers, Windows services and other auto-starting programs installed and running with Windows, with the potential for system instability and problems with other programs that may no longer behave as intended.
What these slobs do is the digital equivalent of breaking, entering and vandalism. The only reason we don’t have lawsuits for this damage is because neither users nor the courts really understand what is happening here. If Windows users really knew what programmers are doing to their property and their “digital environment” they would be very, very upset. It’s as though a salesman were to come into your home, rearrange all your furniture without asking you, rewire your light switches and other electrical equipment, change the programming on the remotes for your TV and DVD player, empty the ashtrays and all his own garbage onto your living room floor and then just leave.
Of course, much of the blame for all this also rests with Microsoft for making it possible. There is nothing in Windows that prevents programmers from doing any of these things. Microsoft encourages good programming practices in its guidelines, but that’s a little like holding your hand up in front of a herd of stampeding buffaloes and expecting them to stop. Like everyone else, programmers will generally follow the path of least resistance. They need to get their programs to market and they will take all the shortcuts they can to achieve that objective in the shortest possible time and at the lowest possible cost.
For programmers, the long-term integrity of their users’ Windows installations is not even a secondary priority. Ignoring these issues has become so widespread in the Windows application software industry that it can almost be described as standard practice. When I try to get programmers to think about system integrity and cleaning up after themselves they generally respond as though I were suggesting something radical, unnecessary and fundamentally annoying that they don’t want to have anything to do with.
This situation is not going to change unless users really start complaining about it. And for that to happen we need awareness. Software reviewers need to check the impact of programs on system integrity and deduct a lot of points if integrity is compromised and if the programs fail to uninstall cleanly. Unfortunately, the chances of this happening are pretty slim. Users have gotten used to either reinstalling Windows or buying a new system every eighteen months or so, or just accepting that Windows becomes slower and more and more instable with age.
And since nobody is really complaining, slovenly Windows programmers are going to continue making a mess of their users’ systems.
Click to subscribe feed
Leave a Reply