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
|
|
|
|