NearToTheSky's ramblings

Software hazard

In this day and age where everything goes so fast that keeping up with the information flow is almost impossible, there is one thing among other that makes me wonder if people are thinking sometimes. It is not uncommon to hear statements like: "This program looks so cool. We have to use it." or "A new version of software X has been released yesterday and it claims to improve all these things compared to the old version. We need to get it now." This is one of the numerous faces that the "cool factor" can take. If some new shiny piece of software looks like it can be somewhat useful, some people will immediately want it without thinking of any possible negative consequences.

Now, in principle, I have nothing about getting a better tool for the job, but in such cases it appears that some people forget important questions like: "Is it really better?" or "Will I really need it?" and even more important: "How hard will it be to set it up?", "How easy will the transition be?" and the obvious:"What does this software cost". Actually, careful thinking always needs to be used when obtaining new software, even more so if it affects more than yourself. There are several reasons for this. In this post, I will describe the practices I try to apply when dealing with new pieces of software and give some recommandations.

First of all, new, cool-looking, promissing software will not always hold its promisses. It may be that it seem nice to use on paper and that a quick test will make it appear useful. But then, after having had it up an running for a while, it turns out that it actually breaks slowly under the weight of its own bugs or that there are a lot of quirks that just become annoying when using it in the long run. And then, it has become impossible to get rid of it anymore because it is now a part of your process/habits. In the worst case, it was a costful tool and in addition, it locked you into using it because it uses some proprietary output formats. In general, it is a good idea to look around for the opinion of people who have a long experience with using a proprietary software before getting to use it. If the software you plan to use is free and uses open-formats, there is usually less reasons to worry and going away from a bad choice should be less difficult. Making a careful choice is even more important if it is software that is going to be used by several people. The more people are going to use it and the more you will be tied to it.
This leads me to another important scenario: changing from one tool to another. It can happen that someone tell you: "You shouldn't use software X for that. I use that other one and it is much better". Usually, when someone say that, they come with a list of "improvements" that you may or may not care about. In my case, if I am using some software, I have chosen it carefully and I would only consider switching if it improves what I consider to be annoyances and doesn't break what I need to work. So, there is no point in telling me that something is better without knowing my definition of better. Even if the software turns out to indeed address some issues, it may be so different from what I'm used to that I would have to re-learn doing my work with it. Before changing your tools, it is always a good idea to see what you really gain from it. Also, again, if many people will have to change, those questions are even more important. Getting many people used to a new software takes time and even if you do want to switch, it is a good idea to find out which is the best time to do so.

In addition to what I already highlighted (but this is probably mostly specific to Windows), there is the issue of applications that don't play nice with other. This kind of issue will be most visible to people who install a lot of applications, no matter whether they are needed or not. But anyone can experience conflict between applications. You may be in a situation where some of your applications become unuseable because of some issue in a new application you have acquired. In general, the new application will work fine and you might never suspect it, even more so if the problem isn't noticed fast. For that reason, it is always a good idea to never install any kind of new software, no matter how good it looks, unless you are absolutely certain that it is something you will need.

So now, imagine you have settled on the list of tools you use all the time and you are careful about new software. You still have left the issue of updates to existing software. If it is a minor update, it's usually fine to go with it since the risk to break anything is limited. However, if the software in question is critical and cannot fail, it is probably good to make sure to have a backup or at least make sure to be able to get back to the previous version if anything goes wrong. If the update has to be done on many computers, caution should be applied as well because it's not impossible that one of the computers has "the thing" that makes it fail.
If the update in question is more important (like an upgrade to an entirely new version), then it really depends on how much the software in question is needed and how much time you are willing to spend on it if the upgrade causes issues. For tools that you use daily and that take a while to install, for exemple, it may be a good idea to at least try to find some feedback online, see if people have experienced issues when upgrading and if it turns out the upgrade causes trouble to many people, just waiting until an update that fixes those issues has been introduced may be wise. Trying the upgraded version on a test computer can be a good idea.

Of course, the one very important exception to make to all this is when it comes to security. Having software with known security holes is never good and they should always be replaced or updated as soon as possible. This is because recovering from an attack exploiting said security holes is often worse than recovering from an update gone wrong. Updates notes will often mention whether the new version of a software has security fixes and otherwise, there are several resources online listing known vulnerabilities for most programs out there.

This is my perhaps unconventional and probably slightly paranoid views on how to deal with obtaining software. In general, unless you are dealing with security issue, there is no rush. Waiting a few weeks or months to properly evaluate whether you want something won't put you in much trouble and you won't risk as much to suffer from related issues.

Posted on the 27-01-2010 22:08

Comments

Comment sent by Golder :
It's quite true but appliable to far more than just softwares. For music for example. People get all the hype around bands that don't really change anything in the musical world. They don't question if it's new, if that band uses the instrument/words better or in a different way. If it's new, it's better, there's no other rules and it's sadly not always true. I will always support bands that can invent something different. It's also the same for games, for movies and for countless a lot of things, it's all due to that consumerism atmosphere.
Posted on the 03-02-2010 13:32
Comment sent by NearToTheSky :
Far from me the idea of limiting this kind of issue only to the world of computer software. I'm pretty sure that there are similar issues in all domains out there. However, I don't think I have ever seen anyone highlight this being an issue for software in general, so it seemed necessary to fill the void.
Posted on the 03-02-2010 21:50

Write a comment

Your comment will be added to the post if it is found suitable and you haven't requested it to be private