What is a Version Number for?
- It lets the end user know if she has the latest version of some software.
- It lets the end user know if she an update were something minor or if it were
substantial.
- It lets the end user know if she will likely be expected to pay for an
update.
- It lets the end user report precisely which software she was using when she
noticed a bug.
- It gives the end user an idea of how old her software is.
How Not To Do Version Numbers
- Firefox updates from version 26 to version
27 even when nothing at all of consequence has
changed. This is deceptive.
- Flash has version numbers like 13.0.0.214. That is
not a number that users can think about or remember.
- It gets confusing with version numbers like 20.12.
Is that more recent or older than 20.9. If you use
fractional version numbers, always use the same number of decimal places.
20.9 becomes 20.09 or
20.90.
The Release Date
The release date is far more meaningful than the version number to end users. They
remember approximately when they last updated. If they look at the release date and
see it was two years ago, they can be pretty sure there will be an update available.
If they see a file sitting on their disk, the release date lets them know if it is
likely obsolete.
Beta Version Numbers
Sometimes you prerelease an experimental version e.g. 7.45beta. When you issue the official code, make sure you increment
the version number so improved later code always has a higher version number, e.g.
7.46.
Build Number
If you make a minor bug fix to your common library, refactor some code, tidy some
code, rename some methods, the end user should notice nothing. Increment the
integer build number each time you clean compile everything, even when you do not do
a release.
Suggested Rules
- If the software has a fee for update, increment the version number to the next
highest integer only when the major update/upgrade requires a fee.
- For minor updates increment by 0.1 if you have
10 or fewer releases between major updates, or
0.01 if you have up to 100
releases.
- Always include the release date and build number along side the version number
in any place you post the current version number.
- Put the version number, the release date, build number and the update
URL (Uniform Resource Locator)
in the About box
Document Versions
In future, documents will come to be treated more like programs when it comes to
tracking versions. For example:
- documents will have embedded electronic version numbers.
- When you go to read a document, it will check to see if the version you have is
up to date. If not, it will arrange for a packet of just the necessary deltas (compressed changes) to be sent from a local cache or from the
author.
- If you EDI (Express Deep Interest)
in a document, deltas
will be pushed to you immediately the changes are made. That way, when you go to
read the document, it will already be up-to-date. There will be no delay to fetch
the deltas. You must redo your EDI
from time
to time or it will expire.
- Public documents will be archived, so it will always be possible to see what
earlier versions looked like, even if the author has withdrawn them.
- The work is mostly low priority, it could be scheduled when the Internet is not
busy.
- We will come to appreciated the danger of using an out-of-date document and not
knowing it.