There was a time, “back then,” when a piece of software that was in Beta meant that the application was feature complete, and the developer was simply releasing the software to a small group of users in order to fix any remaining bugs before releasing the app to the general public. Google changed all that a few years ago when it released GMail to the general public as a beta. To this day, it’s still a beta – even though there are millions of users. That being said, I thought it would be nice to take a look at the definition of some typical software development terms, and what they meant “back then,” and what they really mean “now.” Read on for the definitions.

Alpha

Back then:

  • The stage of development where there is no user interface, just a file full of code. Features are there, just not usable at this point.
  • The application is only used by the developer himself.
  • Generally, the existence of the app is only known by the developer.
  • No time-frame is set, therefor no expectations are had by anyone.

Now:

  • This is the stage of development where nothing really exists beyond a Photoshop mockup and a not-to-well thought out idea.
  • The developer gets all his buddies to start hyping up the application.
  • A ship date of “soon” is promised to the general public.
  • Little details are given at this point, other than it’s the coolest thing anyone will ever see.

Beta

Back then:

  • Application is released to a small control group of users.
  • Features and user interface are complete.
  • A time-frame for the beta is set.
  • Bugs are reported by users to the developer.
  • The developer is busy fixing any remaining bugs, or visual imperfections in the interface.

Now:

  • Application is released to the entire world. Everyone on the planet downloads the heavily-hyped application and begin using it in their every-day work.
  • The application is FREE – as in: if it doesn’t work, it’s not our problem because you didn’t pay for it.
  • Beta time drags on for months, or even years.
  • The developer begins adding this feature and that because a single person said “they would buy it, if only it had…”

Release Version

Back then:

  • After months of thorough beta testing, the product is finally released.
  • Application is bug-free and feature complete.
  • Developer starts working on new features to add to next version of application.

Now:

  • The application, though it made it through the beta stage and didn’t get discontinued, sucks horribly and is filled with bugs and missing most of the hyped-up features.
  • The application is overpriced by at least 30-70% – at least, according to the vocal minority of users.
  • Developer announces he doesn’t provide support because he can’t charge enough (because you guys said you wouldn’t pay more than $5 for it when it was in beta) – instead, we direct your to our “support forums” where we hope another user can help you for free.
  • Application breaks two days later after a minor OS security patch.

Discontinued or EOL (end of life)

Back then:

  • After years of active development, the application either no longer makes the developer money, or it has been made obsolete by other technology.
  • Developer posts the application on his site for free, possibly even including the raw code for others to pick-up development.
  • Developer notes that he will no longer develop the application, but will continue to support it for X amount of time.
  • Application dies a slow but dignified death.

Now:

  • Developer is tired of the misplaced user expectations and complaints and simply stops working on the app.
  • Developer still charges for the half-done application.
  • Developer announces that the current version will be the last release due to “technical problems” that are the fault of the OS.
  • Developer announces there will be no bug fixes, so you’re on your own.
  • Developer literally disappears off the face of the earth – with your $29.95.

I hope this clears up any questions you may have had about some of the terms you see in regards to software development. The next time you come across a Web site that’s hyping some application and has a giant Web 2.0-style Beta badge at the top in a bright orange burst, you can refer back to this post to remind yourself what it means.