BOFH: We don't need no stinkin' upgrade

Bloated, slow and leaky - what version numbers really mean

Episode 17

"But I just want to go back to the way it was..." my user whines.

"What, when computers crashed every 10 minutes?"

"No, I..."

"Where the Print function acted more like the combination of the Hang and Discard Changes functions?"

"NO, I JUST WANT MY MENU BACK!"

"You mean you don't like the ribbon? It's new!"

"I don't care if it's new – I can't find anything!"

"Sure you can, it's all in the ribbon – somewhere. It's a game software designers like to play with people."

"A game?" he asks hesitantly.

"Yeah sure. Version 1 of a product they write a roughly functional product. Version 2, they fix all the glaring errors in Version 1. Version 3, they fix the glaring errors in Version 2 plus some of the less glaring errors in Version 1."

"And Version 4 they fix the glaring errors in Version 3 and the less glaring errors in 2 and 1, I understand," the user says.

"No! No, in Version 4 they start introducing new features – something they were already doing a bit in Version 3 and 2, but now they can hike the price up a bit because it's actually working as well as they said it would in Version 1".

"And Version 5 is new features as well?" he asks.

"Yep, loads of new features – and extra delays. Around Version 5 we start telling you about the minimum hardware spec you'll require to run our program because now it's like the winning contestant in a hotdog eating competition – bloated and slow. And a bit leaky."

"So Version 6 is faster?"

"Version 6 is a complete rewrite combined with a price hike. We tell you how many lines of code we wrote. It used to be in the hundreds of thousands but by now it's in the millions. We give the rewrite a justification banner like Edge-Aware or something else that means nothing. We might even tell you how many teams of people are working on it."

"You keep saying 'we' and not 'they'."

"Yes, I know, I can't help myself; I'm getting carried away by the sheer balls of it!"

"So what happens in Version 7?"

"There is no Version 7 – not yet anyway. No, instead we'll release Versions 6.1, 6.2, then 6.7 (the numbering reflecting the 'vast amount of work' we've put into 'enhancing the edge- awareness of the product' or some other bullshit). We'll release 6.8 and then realise that we haven't actually got many revisions left before we have to change to 7, so we'll release a 6.81 a 6.83 mandatory service pack, a 6.834 services service pack, a pre-release 7 upgrade verification utility (which will just tell you that your machine isn't capable of running the new software with the current hardware)..."

"I.."

BOFH 1

"WE WILL RELEASE VERSION 7, THE CULMINATION OF ALL THE LESSONS LEARNT, ANOTHER COMPLETE REWRITE, but it will run like that guy who won the hotdog eating competition – over a marathon – slow. And very leaky. We'll tell you it was your fault for not running the pre-release 7 upgrade verification utility."

"And then you'll release 7.1..."

"And then we'll release 7.3, skipping 7.1 and 7.2 which were never going to be released anyway, but we wanted it to look like we did a pantload of work while the early adopters suffered through 7. We'll discontinue support for everything except 6.95 and we'll tell people we're discontinuing support from that a week from next Friday. We'll do that in about October so that the V7 sales revenue stream pays for our Christmas holidays and bonuses."

"And then Version 8?"

"Yes, Version 8 will be hinted about in chatrooms. We'll tell people we've assembled some of the greatest minds – savants we will call them – in the fields of visionary computing. We will call them savants, but not idiot savants because that would be bad for our share price. Meanwhile we'll look up idiot savants on Google, see if any of them can count matchsticks quickly and see if we can employ them to think outside the box. We have no shame. (Obviously we'll apply for some tax rebate for hiring people with 'special abilities'.) We might have a press release about that too."

"And then you'll release Version 8."

"No, Version 8 will never be released, Version 9 will – but it won't be called Version 9, it will be called something sleek and cool like Rainfall. We will have paid a consultant a pantload of money for that name – far more than we paid the savants. Rainfall – its full name being 'Rainfall and the Desert Oasis, Millennium Onward Edition' – will be the penultimate release: it will change the way we do business – or at least that's what we tell people. We will have a launch party with lots of big names. We will tell people that we have already implemented beta releases of Rainfall on phones, tablets, UMPCs, car computers and GPS units. There's even a TV with Rainfall embedded in it, but we're calling that a 'Home Rainfall total immersion experience unit' now."

"VERSION 10 will have us stuffed. We can't add any more features to the product because the only feature left to add is the function that adds umlauts to every other character – a feature which is needed by no one and serves no purpose whatsoever, but one of the savants suggested it back in Version 7 but we shelved it after we found him eating carpet. No, Version 10 is going to be another one of those change-the-way-we-do-business releases where we make things harder to find but nicer to look at. And it'll cost more and come in 14 different Versions."

"And Version 11?"

"Once we've generated enough revenue off Version 10 we'll be able to pay for a name for Version 11. Fuck knows what it'll do."

"I'm not getting my menu bar back am I?"

"I dunno, I'll put you onto my assistant."

>bip< >bip< >bip< >bip<

"Hi!" The PFY gasps. "You're talking to Stephen, or, as we like to say, Version 2-point-uuuurgh..."

Sponsored: Designing and building an open ITOA architecture