Why Google is doomed to failure
Google may seem like they're riding high right now, but there are cracks in their armor that show more vulnerability than you might realize. In truth, this post isn't going to have much to do with Google. It's mainly about how impossibly stupid version numbers have become. Google is only the poster child for this insanity, as evidenced by their recent releases of Google Earth:
- 5.1.3506.3999
- 5.0.11733.9347
- 5.0.11729.1014
- 5.0.11337.1968
- 4.3.7284.3916
- 4.3.7204.836
- 4.3.7191.6508
- 4.3
- 4.2.205.5730
- 4.2.198.2451
One of those versions is not like the others, but I'm sure Google fired the person who was reasonable enough to mark a release with something as straightforward as 4.3. If Google is showing any signs of weakness it's in doing things like that; they don't fundamentally understand how normal people think about technology (version numbers, in this particular instance).
Google isn't quite the worst offender, either; not if length is the measure. Part of my day job is keeping a handle on software releases over on Mac Aggregate Tracker. Here is a database extract of what some software developers think is reasonable for version numbers:
- Abstracter → 1.2.0(tiger 10.4 compatible)
- X-Plane → 7.62.0-Release-Candidate-2
- OmniPlan → 1.0.0release candidate 1
- iLiner → 2.0.2(tiger compatible)
- yaced → 22.0.50(cvs20050428)
- iRemindU → 2.0.0beta [build 75]
- Whole Platform → 1.0.0.v20090206-1802
- PMX → 2.28.0build 20050928
- jGameBase → 0.27.0dev2007-05-19
- iSVN → 0.9.5a1 (build 427)
- ComicBookLover → 1.0.0build 13 (rc1)
- checkBox™ → 1.4.5_1051_update1
- Ventrilo → 2.3.2.prototype.14
- Tangelo → 1.5.0public beta 2
- Rhapsody → 1.0.0public beta 1
- RPL/2 → 4.0.0.prerelease.9
- Life Record → 2.01.0core edition
That's a lot to chew on, maybe enough for a separate post, so let's try to focus on what Google has done wrong in hopes that it will inform some of these other developers. So, back at the top, we had the last 10 releases of Google Earth. Here's how they could have looked if they were done by someone who actually understood people:
- 5.1
- 5.0.2
- 5.0.1
- 5.0
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3
- 4.2.2
- 4.2.1
Seriously, would that have killed some engineer in Mountain View? Is there some kind of geek cred that I'm unaware of which is linked to the number of digits and/or points that are in there? Are we in the middle of some kind of underground version turf war? And lest you think that I'm only being a slave to the tradition of either major.minor.bugfix or year-month-day-revision, let me detail the reason why some of these outlandish version numbers are so dumb.
I don't care how you run your company!
As a software user, I just want to use the software that gets released and know whether or not the version I have is outdated. For that, I don't need a litany of minutia about every time you did a build or checked it into CVS or deemed it development/beta/release quality. At the point I get it, none of those things matter to me.
Even worse, I'm now in the position of having to figure out if whatever random internal representation you used is significant enough for me to care about. Should I really be expected to puzzle out whether the jump from 5.0.11729.1014 to 5.0.11733.9347 is worth the hassle of an upgrade, or maybe I'm good just sticking with 5.0.11337.1968 until you decide to release some version that contains pi or e or some other irrational number that looks downright rational compared to the numbers you are thinking up.
So for the love of all things human, start acting as if people matter before you flood them with meaningless data. Give us something useful, something reasonable, so that we can figure out where we stand on our own. If not for the reputation of your own company, then for the collective sanity of your older relatives who have a hard enough time trying to figure out this newfangled technology without you slapping on an extra 09f9110-29.d74 e35b.d84156(c5635688c0) for no good reason.