AbleStable®
go to Reviewsgo to Servicesgo to Registered Usersgo to Resource Centrego to AbleStable: Helpgo to About Us
go to AbleStable: Home Articles
go to Search

go to Exhibitions Centre
  Technical Advice: exploring the world of creative professionals  
go to Help
go to Resource Centre
go to Library
go to Articles
go to E-Books
go to Glossary
go to Reviews
go to Web Link
Library > Articles > Technical Advice > 012

E-mail this web page address to a friend or colleague
Enter their email address below (no record is kept of this action)

     

Updating Software
Mike de Sousa, Director, AbleStable

Keeping up to date with the latest version of a software title, or finding current descriptions about the newest version of a program are essential tasks of computer maintenance. Updates allow software developers to upgrade their code and data to reflect bug fixes, feature additions, and added information. Here's the low down on the world of the update...

Why Bother?

There are many who view updates as an irrelevancy. The software is doing its job, the computer is stable, so why update? Don't rock the applecart.

Computers are dynamic, not static. The effectiveness and reliability of programs change because data is constantly being moved, reordered, and deleted. Whatever you use a computer for, the software on that computer is interacting with your input and the many and various software components that are constantly working in the background. The Internet or network that connects your computer to other computers brings an equal or often greater influence on your computer environment by introducing malevolent and malicious influences. Finally, the program itself may require improvement as the source code fails to deliver the task it was designed to do.

The Developer's Perspective

Software developers produce computer programs they feel achieve ends that will in some way benefit the user, their client, or themselves. Their aim is to either sell these programs so they can profit from their invention, or provide them freely (this may be either altruistic or commercially motivated).

Developers want their program to work faultlessly but this is difficult to achieve as software doesn't operate in a vacuum but interacts with its user and computer environment. The user may input a sequence of commands that the developer did not anticipate, or the computer may be configured in such a way that prevents the software from achieving its goal.

The software developer wants to profit from the software they've developed although this may not always be monetarily. Many freeware authors feel they profit from the knowledge their efforts influence and benefit others. When software fails however (and this may be as much to do with the usability and design of the software as well as its functionality), users will go elsewhere for their solution and the developer looses profit.

Software developers create fixes and improvements that aim to make their program perform its job better and thereby maintain its profitability. Generally the developer will want to recover some of the costs associated with the update, although if the update simply makes the program do what it should have done in the first place it is more difficult to justify charging the user. That said, it's usual practice to place a time limit on 'free' upgrades. These 'maintenance upgrades' are then chargeable after the maintenance contract expires.

Defining Updates

Software updates come in various shapes and sizes. For most software products there are four principle kinds of updates or 'increases': major, minor, release, and build versions.

A major version increase is where a whole range of enhancements have been made to the software (v3 to v4). This may also be known as a 'major upgrade'.

A minor version increase is where a number of bug fixes and minor (or a few) enhancements have been made (v3.1 to v3.2). Also known as a minor upgrade.

A release version increase is where a few bug fixes have been made with perhaps one or two minor enhancements (v3.1.0 to v3.1.1). These might also be designated as 'patches', 'hot fixes', or 'maintenance releases' that repair bugs that hamper the efficiency of the software or system program.

A build version increase is where a trivial bug fix or very minor change has been made (e.g. fix spelling mistake) (v3.1.1.0 to v3.1.1.1)

You'll also find other terms are used when updating, the most common of which follow:

Patch: A small change to a program designed to eradicate an error.

Hot patching: the ability to change code that is loaded into memory and is currently running.

Hot swapping: the ability to load two or more versions of the same application into memory simultaneously, thus allowing the switchover to the new code to occur more rapidly.

Bit-twiddling: the act of performing small tweaks to existing code in order to correct or enhance the functionality already present.

Automatic Updating

Some software and system programs like Windows come with automatic updating. These updates are delivered while on the Internet and downloaded onto your local computer. Some updates of this type are critically important to the security of your system, others are more trivial. The principle behind the updates is to help ensure your computer runs more smoothly.

Some users are resistant to automatic updates as they feel suspicious of the information that is being passed from their local machine to the update site without knowing exactly what it is that is being shared. Automatic updates should not however be grouped with more explicitly elicit practices that spyware often deploys - spyware is software that transmits personally identifiable information (PII) from your computer to some place in the internet without your special knowledge. In contrast auto updates are sanctioned by the user.

Microsoft Baseline Security Analyzer (MBSA) MBSA runs on Windows 2000 and Windows XP systems and scans for applicable hotfixes and vulnerabilities. It uses a version of the Microsoft Network Security Hotfix Checker (HFNetChk) to scan for applicable hotfixes and service packs for Windows operating systems, IIS, and SQL Server. It then creates and stores individual XML security reports for each computer scanned and can display the reports in the graphical user interface in HTML format. The Security Update Sync tool automatically downloads the latest version of this tool on a regular basis and distributes it to the computer/s in your enterprise by using SMS distribution points.

The Business of Upgrading

Many software updates are created to correct security vulnerabilities or bugs which may otherwise crash or reduce the efficiency of your computer. These updates are often called security or 'critical' updates. You install security updates to protect your computer and associated information from security risks associated with specific products running on your computers. Updates can also address non-security issues, such as stability or performance.

Updates or upgrades may be free or chargeable. It all depends on the software license you've agreed to. In addition to the generosity shown by freeware developers who may provide free updates, you'll occasionally find commercial products who do not charge for updates. I've bought high quality software that I'll never have to purchase an upgrade for, whether it's a minor or major version upgrade. I paid once and that's it. The more usual upgrade model however is to provide build and minor upgrades either as free, or with a significant discount. Major updates however tend to carry a premium price increase.

Keeping User's Informed

There are different ways the developer attempts to encourage and deliver updates. They may simply email registered users of their software and inform them a new version is ready to download, or deploy technology that allows the updating of software over the Internet.

To advertise the changes on websites that maintain a database of software titles like download.com, developers use PAD,
the Portable Application Description. PADGen, a freeware utility that generates PAD files, helps software authors provide product descriptions and specifications to online sources in a standard way using a data format that allow webmasters and program librarians to automate program listings. When you see a software description on a freeware site it's most likely been generated by PAD which outputs an XML file that can easily be updated. The PAD dataset contains all the most frequently requested information.

The PAD file is usually located in two places: inside the program's downloadable file so that anyone distributing your software can quickly extract the file and retrieve any information that they need, and on the developer's website.

PADLess is another free utility program that helps software authors make manual submissions to shareware link sites that do not support PAD files. Instead of typing in the same data over and over again for each site, developers build a PADLess data file with the fields most commonly asked for.

Conclusion

Updating software is generally worth the effort, even if occasionally the updates seem to make matters worse. Using System Restore can also make the whole process of updating much less painful, although don't expect System Restore to always work as some program updates can change or delete files that undermine the restore process. Scan the 'what's new' or 'changes' information on the developers website before you update so you know whether the update is cosmetic of more significant, and backup any and all your documents before carrying out an update. The general rule is to think ahead...


go to the top of this page 


     
       
 
Authors background
Mike de Sousa is the Director of AbleStable®. Mike has been commissioned as an artist, music composer, photographer, print and web site designer, and author. Mike also runs www.usereview.com as a brand of AbleStable which provides a review service for software developers, and is a partner of 2BrightSparks (opens new window), a company delivering freeware and commercial software.

If you observe inaccuracies in our in-house contributions or wish to contribute an article or review to be included at AbleStable® visit Feedback.

Copyright Notice
Although our contents are free to browse, copyright resides with the originators of all works accessed at AbleStable®, and unauthorised copying or publication of our site contents is strictly prohibited.
 

AbleStable © 2002-2007
 
     
       

 All Material: AbleStable © 2002-2007
go to Frequently Asked Questionsgo to Feedbackgo to Press Centrego to Privacy Statement