Log in ....Tribune


Dot.ComLatest in ITFree DownloadsOn hardware

Monday, June 11, 2001
Lead Article

Not Greek for geeks

ILLUSTRATION BY GAURAV SOOD Usually, there are multiple beta releases, each claiming to be better than the other and devoid of previously reported bugs. During testing, the bugs are judged by the number of users that they would affect. If the number is small, and the bugs are hard to kill, the developer may simply let them stay, hoping that only a few customers would encounter them, says Raman Mohan

SOFTWARE development has a Greek side to it. The various stages through which a program passes are, for some reason, named after different letters of the Greek alphabet.

So the first build or version is alpha, the second beta and the third (generally the last) gamma at which stage developers call it the Gold Code i. e. the software is good enough to be shipped.

Some developers jokingly say there are 24 stages of software development — one for each letter of the Greek alphabet (see box).

Among downloadable software available on the Net, beta versions outnumber the rest. We use beta versions without knowing what betas actually are. Most of the newbies think betas are updated versions of existing software. In a way that is true. But only partially. betas could be upgrades in the making or simply fresh software or its first unofficial releases.

Most of these programs work fine but not all the time. They can throw up bugs, which could be simply irritating, or highly destructive. That means beta versions are released to assess their performance and find out bugs under real-world conditions before the vendor puts the software on the shelves.

 


Software is produced in many rough and poorly-defined stages, there being a very thin line separating one stage from the next. Software development is a continuous process. Generally, the earliest builds of software are called Alphas that are poor cousins of what may or may not be the final product.

As the alpha version is refined, features and functions may be added to or dropped. So much so that the entire program at the end may look and perform entirely differently from how it was conceived in the first place. The alpha versions as they evolve may have to be totally rewritten.

However, once a product is more or less suggestive of its conceived form, it gains in stature and is called beta. This version is used for testing to see if the features and functions are doing what they are supposed to and also to track down and eliminate bugs within the software. Early betas can be very unstable and could easily cause your system to hang. However, this does mean that late betas are better.

In many cases it could be worse than an alpha version because the development of software is a continuous process and repeated testing does not necessarily mean improvement. Some features and functions may not survive beta-testing and may be eliminated or radically rewritten during early testing depending upon what bugs get caught and which remain unnoticed.

Early betas are usually tested by the vendor’s staff members or by external professional testers. Late betas — once the product is more or less feature complete and ready for gruelling testing — are generally released as freeware so the developers can see what bugs and problems will turn up under real-world conditions.

It is this category of betas that you generally find on popular download sites as freeware.

Usually, there are multiple beta releases, each claiming to be better than the other and devoid of previously reported bugs (without introducing too many new ones in their place). During testing, the bugs are judged by the number of users that they would affect. If the number is small, and the bugs are hard to kill, the developer may simply let these stay, hoping that only a few customers would encounter them. However, major bugs affecting a large number of end-users have to be killed positively, if the software is to find a place on peoples’ computers.

Freelance developers also release their betas on BBS so that other software developers can use these and suggest improvements including solutions for killing bugs, new user interfaces, additional features and the like. But these are mostly small freeware files that are meant as system utilities.

Thousands of such freeware programs keep floating on the Net all the time. If they don’t catch the attention of big vendors, at least the Net users can use these small utility files for free. But if luck favours, big companies could pick up these freelancers for developing a component of their software in the pipeline.

Coming back to betas, at some point during this long-drawn process, the beta software is declared okay. It is then categorised as "gold code" from which the final, shipping version — the gamma version is produced. The software may still contains bugs. Mind it, all but the most trivial programs, invariably contain bugs regardless of what software company or developer is involved. But software "goes gold" as they say and is shipped to end users when the vendor comes to the conclusion that the worst bugs have been eliminated and that only a small percentage of users will encounter the serious bugs that are known to remain. This is even true of leading companies like Microsoft that recently put out a beta version of IE6 for free downloads. It was found to contain several serious bugs.

Some of these bugs are corrected in later patches or updates or newer versions but some will never be fixed because doing so would simply be too difficult, time consuming and expensive or in most cases all of these together. All commercial software is "good enough," with each company setting its own standards for what is good enough.

Professional beta testers use sacrificial systems for their tests and have to reformat the hard drive routinely. However, you should never run any betas on your main PC unless you have a totally foolproof backup system that will allow you to prevent loss of any essential data. betas from reputed vendors may be relatively safe to use by experienced computer buffs. But it is best to avoid betas from little known or upcoming developers. You could easily be falling prey to developers testing their product at your cost. And it could cost you your entire data on the drive.

Alpha to omega in lighter vein

alpha It compiles!

beta It runs on Joe's machine.

gamma It runs on Kate's machine too.

delta It runs on the network.

epsilon It's stopped running on Kate's machine.

zeta It runs on all machines, but report crashes.

eta It crashes with HIMEM.SYS.

theta It crashes without HIMEM.SYS.

iota It crashes with a serial printer.

kappa It works! But the spec has changed.

lambda It runs, but mysteriously at half the speed of before.

mu It crashes the network.

nu It crashes Kate's machine with HIMEM.SYS, Joe's without.

xi It runs, but the printout is garbage.

omicron As above, but crashes after printout sometimes.

pi It sometimes crashes.

rho Kate thinks it works, but it turns out she's running lambda.

sigma No luck yet.

tau Aha, sorted out the printout.

upsilon Nearly there — just need to tidy up the help text.

phi It won't run at all on anything.

chi Yipee! It runs perfectly on all the machines in the world.

psi It runs on all the machines in the world except that chap's from Basingstoke with the customised Amstrad and DOS 4.01.

omega It won't compile.

Home
Top