As the first major web browser to reach a double-digit version, Opera has been testing out alpha releases of version 10 for months now. One of the early problems they encountered was bad browser detection scripts that only looked at the first digit of a version number and decided that Opera 10 was actually Opera 1, and therefore too old to handle modern web pages.

After extensive testing, they’ve concluded that the best way to work around this is to pretend to be Version 9.80. From now on, all versions of Opera will identify themselves as “Opera/9.80” with the real version appearing later in the user-agent string.

For example:

Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00

This is similar to the way all Gecko-based browsers identify themselves as Mozilla/5.0, then list the real browser name and version number later on, which makes me wonder why they didn’t just stick with that increasingly irrelevant prefix — though I suppose any scripts looking specifically for Opera versions might have still picked up Opera/10 later on in the ID.

It’ll be some time before Firefox or Safari runs into this issue, but with Internet Explorer 8 in wide release, you have to wonder…what will Microsoft do when they get to IE 10?

Andrew Gregory points out that some browser detection scripts might have trouble when Opera 10 eventually rolls around. (Edit: Hallvord also comments.) Why? Because one of the easiest, ways of testing for a version number is to do look for the the “Browser n” or “Browser/n” patterns. The problem is that this strategy only grabs the first digit of the version number. That works fine for 1–9, but once you hit 10, suddenly it looks like 1 again.

Firefox and Safari, currently at just before and just after 3, are likely safe for now, but IE is creeping up on 8, and with their new, faster release schedule, IE10 may only be a couple of years away.

I’ll admit, I’ve written code like that myself (not the specific example, but I’ve done regexp matches that only look at the first digit), but always on sites that I expect to be able to maintain. Of course, one of the lessons to learn from Y2K is that shortcuts get entrenched, and code you thought you’d have time to clean up long before it became a problem has a tendency to stay in use far longer than you expected. And we’ve seen the same thing with web script archives, where someone’s example code that mostly worked in IE4 gets enshrined as “the” way to accomplish something, even though there have been better ways that work more consistently for years.

A few years ago, it seemed like everyone was using X in their software versions. Mac OS X. Windows XP with DirectX and ActiveX*. Flash MX, ColdFusion MX, and anything else by Macromedia MX. Macromedia managed to confuse things by releasing two rounds of MX versions, such as Flash MX, Flash MX 2004 (essentially versions 6 and 7).

It’s fallen a bit out of favor. Among those still unwilling to use plain version numbers, vintages are still popular. Office 2007, Norton Security Suite 2006, etc. Even though Apple still uses the X to promote its operating system, the last two have put a lot of emphasis on the cat-themed code names: Panther, Tiger, Leopard. And then there’s Windows Vista.

What do you think the next naming fad will be?

*ActiveX was actually a cross between two naming fads. For a while, everything Microsoft did seemed to be Active—Active Desktop, Active Directory, etc.)

Just a day after Firefox decided to jump from 1.1 to 1.5 (triggering far more discussion than the numbering change really deserved), Microsoft has announced the official name for Longhorn: Windows Vista.

Okaaay. Yeah, I can see the connection: a vista is something you see through a window. But at that point, why not just go for broke and call it Ventanas or something?

Yeah, no one wants to use numbers anymore. It’s kind of like in the mid-1990s when it was taboo to tack a number onto the title of a movie sequel. As if having a 7 on Star Trek: Generations or a 4 on Alien: Resurrection would have scared off more viewers than the movies themselves.

Meanwhile, we’re left with yet another version name that does nothing to help you keep track of which version is newer. XP? 2003? Vista? MX? CS? Tiger, Leopard and Jaguar?