How NOT to do software versioning

Inadvertently, I recently came across a software product that seemed rather odd to me.  It, in turn, also led me to a web site that I thought would work great for a quick web design lesson, but we’ll get to in my next posting.

Before I delve into what struck me as odd regarding this software, though, let me first point out that I in no way endorse this product, nor am I implying that it’s bad.  Frankly, I don’t have a use for it and don’t plan to test it out. In fact, it may actually be the best thing since Windows XP/Windows 7/Mac OS X (circle one).  That’s none of my concern, and I want to make it clear up front that this is not a review or critique of the actual software being discussed. In fact, I’m actually going to be focusing more on the advertising of said product.

So, what exactly is it that caught my eye?  I was looking at a page on Stack Overflow and noticed this ad at the top of the page:

Studio Enterprise ad

The noteworthy ad

Now, my brain has gotten pretty good at filtering out ads on web pages.  I would guess many, if not most, people are getting good at that game based on how advertisers keep trying to up the ante in how dramatic they can make their online ads.  I usually don’t stop and do a double-take when my eyes scan past an ad embedded on a page. However, this one caught my eye for a couple reasons:

  • Due to its coloring, logo on the left, and font used, the ad looked like it was for Microsoft’s Visual Studio, but for a version that I wasn’t familiar.  Visual Studio “Enterprise?”  Knowing that version 2010 is about to be dropped into the world and is replacing version 2008, I was surprised by its versioning also: “2009??”
  • Realizing that this wasn’t actually a Microsoft product but one from a company called Component One, the next odd thing that I noticed was that it was essentially marketing itself as version 2009 version 3.  …Wait, what???

I have to admit that my curiosity was really piqued now.  Who versions their software twice?  Was this really the third major version of this software released in 2009, and do they restart their numbering each year?  Has Component One named their product “Studio Enterprise 2009″ for the last several years, patiently waiting for a larger company to gobble them up and force them to change their software’s name, all to avoid the paperwork headache of patenting a new version?

Actually, I can think of one example software product that’s near and dear to me that did something arguably similar: a healthcare solution that I’ve used time and time again and is now part of GE Healthcare’s stable of products. It was suddenly renumbered after years of each version simply being one number higher than the last.  In the middle of the release of version 9, however, it was retroactively renumbered as version 2.  The reason?  The vendor was trying to change its platform emphasis and decided to make the second version of its newer web-based product its flagship platform.  It’s older terminal-based solution (then up to version 9) wasn’t being phased out, per se, but it was kind of getting swept under the rug.

So, it was decided that their entire product line would be renumbered to 2.0.  While they weren’t advertising this using Component One’s numbering model as “version 10 version 2,” it was known internally amongst the vendor’s employees and to their older clients as version 10, and externally, it was advertised as version 2.  This, as you can imagine, led to all sorts of confusion.  Granted, the end users that relied on this software didn’t care if it was version 10.0, version 3.14159 or version Purple, as long as they were able to get their work done.  But for our managers and support staff that dealt directly with the vendor, it certainly was confusing when we would be in dealings for a new version, or if we received a notification about an emergency update for a specific version that we may or may not have had.

Let’s jump back to my new obsession, Studio Enterprise 2009 v3.  Curiosity got the best of me, and I had to click on their link to see what the deal with their software was. I was brought to a rather annoying splash page, an element of web design that I plan to cover next. I had to go digging through their site a bit, but I finally came across this page which had their versioning history:

List of SE releases

The list of releases of Studio Enterprise

Much to my surprise, they actually do start over with their numbering each year! Again, not being familiar with their product or the vendor, I can’t say what their users think of this, but I can imagine that confusion occasionally sets in.  Imagine two users, one with 2008 v3 and the other with 2009 v2, having a conversation about this software:

User 1: “What do you think of this terrific software from Component One?”
User 2: “I love it!  Especially for feature ABC!”
User 1: “ABC?  I don’t think we have that feature… what version are you running?”
User 2: “Version 2.”
User 1: “Version 2?  Hmm… we have version 3.  They must have taken that feature out of the program.  In fact, if you like it that much, you may want to consider not upgrading again!”

Both users are confused and don’t realize that each has a different year of the program, and the result is possibly a lost sale for the vendor.

So, what could Component One do differently for future versions of their software?  Let’s quickly go over two of the most general guidelines on how to do software versioning:

  • Each major release should be a new whole number or year. Examples: Firefox 2 and 3, and MS Office 2007 and 2010.  This very often coincides with a complete rewrite of the application’s underlying programming code.  For software that is not free, these are the upgrades you pay for.
  • A minor update to a major release adding new features should be a point release (e.g., Firefox 3.5) or possibly, in Microsoft’s terminology, a service pack (e.g., Windows XP SP3).  Usually free, vendors sometimes charge for these (such as Apple with its operating system upgrades).

Beyond that, you often see an additional number, e.g., the “.8″ in Firefox 3.5.8, that represents minor fixes in the product.  I won’t go further into that, though, as things get less standard at that numbering level, plus I couldn’t do a better job of summing up the entire scope of version numbering than the article on Wikipedia.

Instead of numbering their product with a year and then a “v2″ or “v3″, Component One would probably be better off going with a dot numbering after their year, like what Intersystems does with its Cache database product.  For instance, instead of 2009 version 1, they should just label it 2009.1 or even just plain old 2009 with no additional number trailing it.  2009 version 2 then becomes 2009.2, and so on.  How does this help the customer?  They immediately know if the product they have installed is older or newer than a differing version, and for prospective customers, they will have the confidence that “2009.1″ is a product with an established codebase, compared to something simply labeled “2009 version 1.”

Coming next: a dissection of the splash page advertising Studio Enterprise 2009 that leads you into their site!

Tagged with:
 

Leave a Reply