I'm pretty intolerant of software. Probably because I've written a lot of it, I know what is involved, and I know what some people do. Bugs in software don't bother me that much though, they are a fact-of-life in application development and there is no way to avoid them. The diversity of hardware on the market today as well as the complexity of software has virtually assured that, no matter how hard an author tries to avoid it, there will be things in applications that don't work as well as they should. What really gripes me are the latest "Trends" in software development and many of the accepted "Guidelines" by which authors are developing applications these days.Generally it seems that developers live under the false assumption that it is perfectly OK for them to virtually take over a system with their applications. If they want 100 directories, fine, just create them. If they want to overwrite files that are already there, who cares, just do it. If they want to make changes to the system settings, go for it! If they want to allocate everything a computer has to offer in the way of resources, go right ahead and do it. But I'll tell you guys this: Do it on someone else's machine because you won't do it on mine.
These are my own personal opinions, and do not necessarily reflect those of anyone with whom I am associated. No names are mentioned, and no software is singled-out.
I will not tolerate ill-mannered, bloated software that:
- Uses the Windows 95 System Registry, SYSTEM.INI or WIN.INI for configuration information. Regardless of what anyone says, these are SYSTEM FILES and, on my system, are NOT for use as application-specific configuration information. That is what .INI files are for.
- Can't manage to keep its own files (including .INI files) in its own directory.
- Is unoptimized and bloated beyond recognition. Do you really need to devote over 100mb to a word processor?
- Contains a bunch of "Multimedia" garbage such as sounds or "Animations" that do absolutely nothing whatsoever except make the code bigger. I would rather have the code execute faster than I would watch a little icon throw pieces of paper at a garbage can.
- Uses any type of OCX, VBX or any other "Crutch" so that the programmer doesn't have to write code.
- Uses Java in any form or fashion.
- Uses "Long File Names" in any form or fashion.
- Asks me where I want it installed and then proceeds to throw crap all over my disk drive regardless of what I tell it. If I tell an installation program that I want the software installed in a particular directory, that does NOT mean put one .LNK file there and the rest of the application scattered all over the place. I don't know why some of these dim bulbs even bother asking what directory I want the software installed into because they only put a portion of the application there.
- Won't even let me decide where I want it installed. Developers don't decide where software is to be installed on my system, I decide where it goes.
- Has "Splash Screens" at the beginning. I know what the software is, and don't need a 70kb bitmap coming up everytime I run it to remind me.
- Automatically assumes that I want it to register file types so that it becomes the default application for a particular type of file. Just because I load a graphics application doesn't automatically maen that I want it to change my registered file types so that everytime I double-click a .JPG file it gets used.
- Uses the terms "Folders and objects" to refer to "Directories and files".
- Creates dozens of new directories and then puts nothing in them, or creates "Zero-Length" files for no reason.
- Has the audacity to place files on my system with the "Hidden" bit set.
- Automatically assumes that all resources on my system are available for it to use in any way it sees fit. Just because a system has 640mb of memory on it doesn't mean that an application can automatically allocate 512mb when it starts.
- Tin-plated software with Gold-plated prices. No software on the market today should cost more than the operating system software since every application depends on the operating system. I know of some that costs more than the operating system, the computer, and part of my mortgage yet still has buggy holes in it big enough to drive a truck through.
- Software that is not related to the Internet yet is "Internet Enabled". I don't want an HTML editor built into a graphics application or a web browser built into a file manager.
- "Integrated" software. I don't need or want a web browser, E-mail app, Newsreader, or other stuff built into everything I load. I want software that does one thing and does it very well, not one huge application that does a dozen things marginally well. If you have to write this "Integrated" junk write it as separate modules so that the user can load what they want and not the rest.
- That overwrites ANYTHING on my system or installs "Updated Components" without my permission. Application software doesn't decide what gets changed on my system, I do.
Software should be designed so that it uses the LEAST amount of resources possible, not the MOST amount of resources. The latest trends in software indicate that developers feel that it is imperitive to write huge applications that consume vast amounts of disk space and memory, scatter files all over the disk drives, and change anything they want to pertaining to the system parameters.
If you agree with any of these gripes you should let the authors know. Many of them are from the "Accepted" guidelines for application development. If you take exception to any of these gripes, perhaps you should take a look at the way you are writing software. Developers should keep in mind that their software is a "Guest" on the user's system, and as such should behave in a manner that is responsible and has the least impact on the overall operation of the system as possible.
My own personal method for installing software is pretty simple, straightforward, and inflexible:
- I make a backup of the system registry.
- I run a scanner that catalogs what files are on the disks prior to the installation.
- I set the read-only bit on all files in my Windows directories.
- I install the software.
- I check for changes on the disk and move any files added anywhere on the drives into the directory I told the software to install itself into, including any files that were "Hidden". Any "Zero Length" files or empty directories are deleted, as well as any .GID files, .URL files or any of the other junk people like to create.
- I remove most of the changes to the system registry or restore the backup of the registry.
- I delete any icons added to the "Start" button.
- THEN I try and run it. If it won't run it simply gets deleted from my system. There is too much software available today to mess around with ill-mannered junk that won't behave, and I won't have it on my system.
Again, these are my own personal methods and preferences, and do not necessarily reflect the views of anyone other than myself. How you handle your own system is entirely up to you and whether or not you agree with my methods is entirely up to you. I can tell you this though, my system is a lot more trouble-free than others I have seen and I have plenty of free disk space.
| Copyright © 1997-2008, Scott A. Craig, All Rights Reserved |