Monday 21 July 2008

To upgrade or not to upgrade? (Or the evolution of the slug, baby!)

Here's what happened with the slug:

Many millennia ago all the users had a meeting to discuss adoption of some new functionality that God was introducing to his hardware. There was Legs 1.3 and Brains 1.0 and Eyes 0.1. All the other users decided to adopt one module or another, or at least put them through some measure of suitability testing for a 30 day trial period.

But the Slug said, "Nah baby, I don't think I'll be adopting any of these new modules, baby." (If slugs could talk they'd say baby a lot: don't argue with me about this.) "I'm happy with the functionality I've got now, baby, and I'm not sure this new functionality will even work. This legs module sounds a bit like a gimmick. So no, I'll not be upgrading. Baby."

Upgrade after upgrade came and each time the slug, afraid of change and the work it entails, refused to upgrade - until other users had upgraded to a level where they could go down to the beach on a summer day in a teensy-weensy bikini and the slug was still stuck on Version 1.0, hiding in the undergrowth and scared of salt.

There's a point to this story (there isn't always a point to my stories); I'm wondering if I should upgrade my Apex to version 3.1. And, I've got to admit this, I'm rather hesitant. Oracle and I have had a long and tumultuous marriage, and upgrades haven't always gone well in our history. I even got very peed off when I was installing Apex. I accept that half the time the fault lies completely with me (I do not read instructions), but that doesn't change the facts: upgrades don't always go well.

So what I have to do now is weigh the pluses against the cons. On the one hand there's all the cool new stuff that comes with version 3.1 like interactive reports (actually is there anything new in 3.1 other than interactive reports? That's all everyone seems to talk about), and on the other hand there's the potential complete destruction of my database, the loss of my job, the breakdown of my relationship, penury, destitution, leprosy and a lonely death in the poorhouse.

I must upgrade immediately!

I've had a look at interactive reports and I think they're brilliant, taking power over the data out of the hands of the developer and giving it back to the owner of that data. But - and I'm not joking here - how much of that power does the user really want? My application is aimed at simple, basic computer users and I'm worried that the flexibility (and accompanying complexity) of interactive reports will scare them more than it would excite them. Too many times we software developers assume that the things that excite us will automatically excite our users - and we end up writing software for ourselves rather than them.

And so, for the time being, I think I'll be a slug (baby) and not upgrade to 3.1, even though polls seem to show that other developers love it. I'll come late to the party and make a dramatic entrance. Hopefully.

No comments: