One of the things that my team and I have consistently discussed when working on Standard is how to actually maintain or version numbers. It doesn’t stop there, of course – even in my own work, I give considerable thought (how lame does that sound?) as to how I should track the version numbers of my projects.

Thought I tend to follow the schema of “Major Version, Minor Version, Hot Fix” (i.e., 3.0.2), I’m unsatisfied. And to put it bluntly, I’m discontent with the whole thing version numbering issue: They’re inconsistent, they aren’t user-friendly, and I’m not even sure what we should do about it.

Developers, Developers, Developers, Developers

Version Numbers: Developers

For the most post, I think that version numbers are more for the benefit of the developers than anyone else.

Users care about having the latest and greatest, but we kid ourselves into thinking they care about having the latest version number stamped on their software because reminds them of just that, but does it really?

Once you’ve upgraded something, you know you have the latest version. The only time you care that you don’t – or that you’re reminded that you don’t – is when something new comes out, right?

So instead, developers end up using them as a way to know which version of their product a person is using in case there are bugs or issues that appear, and we claim that we use it to track which version of our work that people are using.

But do the users really know or even care what version they are using?

Think of The Users!

Version Numbers: People Using Computer

We’re all users, right? To that end, I can’t say that I include version numbers as part of my vernacular when talking about whatever it is I’m using.

Case in point, I rarely say:

I’ve got a MacBook Air with OS X 10.8.2 Mountain Lion

Instead, it’s just:

I’ve got a MacBook Air.

Or even with WordPress, it’s just a matter of saying:

To each his own, but I dig WordPress.

Rather than:

Sure, you can use Blogger but WordPress 3.4.2 is the optimal blogging platform.

No one would claim that version numbers are user-friendly – a string of numbers separated by a decimal? Again, it comes back to helping developers diagnose problems.

The bottom line is that I don’t think users care so much about the actual numbers so long as it’s the latest release. The challenge is making sure they are aware of the release they are on and know how to upgrade.

But even then, it’s inconsistent.

Consistently Inconsistent

Here’s where we stand with version numbering of different software

  • Windows 7
  • Chrome 22
  • WordPress 3.4.2
  • OS X Mountain Lion
  • Firefox 15.0.1
  • …you get the idea.

But users simply say they are using Windows, Chrome, Firefox, Mac, and so on. But I’m personally a fan of Chrome’s model of something that’s easy to remember – Chrome 22 – but they still ship a more detailed version number.

Version Numbers: What's The Point?

But what happens in a few years when they’re up to Chrome 573? Does that make sense? Will it even make a difference? I’ve no idea. Same goes with, say, Apple – do they stick with the cat family or do they eventually move to a new species of animal?

It’s as if we’re working with a short term solution to a long term problem.

Or is it even a problem?

So What To Do?

The problem, I think, is that this is built into the software culture so people expect to see version numbers, and developers expose them to cater to that and to promote their latest and great.

But what options do we have?

  • Developers are notorious for thinking our way is best (but we don’t even have a consistent “our way!”).
  • We like to think that we think of the users, but we don’t and it’s obvious is so many ways than just how we version our products.
  • Do we drop version numbers and use them internally? Come up with a more user-friendly version numbering schema (does naming themes after animals even make sense?)

For what it’s worth, I’m a fan of dropping public version numbers – or at least playing them up less – and keeping internal mechanisms that users and developers can reference when they have an issue. This is just as much a problem for me as it is every other developer and software shop.

At any rate, is this even a real issue? And if so, is there a solution? For what it’s worth, I don’t think there is, but I am curious about your thoughts.