On software updates.

This post started as a reaction to Josh's piece on gadget fatigue, but it quickly spiralled into an editorial of my own. In fact, it ended up as something that was barely related to the original post at all. But I think it's still an interesting thought.

We've all heard the word: fragmentation. Android users hate the idea of it. They deny it. But it still exists on some level, and it's impossible to get around that reality. But it also exists on other platforms: the iPhone and iPad have started getting quite fragmented lately, with Apple disabling features on older handsets for no reason other than to move more hardware.

But it wasn't always like this, nor does it need to stay this way.

On a PC or a Mac, operating systems have basic requirements. If your system meets those requirements, you can install the OS. That enables things like Linux, or upgrading from Vista to 7 to 8, or from OS X 10.6 to 10.7.

On smartphones and tablets, most of the time we're now waiting for the operating system updates to be released, then repackaged by the device manufacturers. They're getting bogged down with making that software work just the way they want (read: not necessarily how you want it), and then releasing it themselves. They need to bless every piece of software that goes on the device - forget about app store rules and restrictions, the biggest thing holding our devices back are limitations to the operating system itself.

There is no technical excuse for this. Almost every tablet and smartphone out there uses off-the-shelf parts, nicely wrapped into a case and then put onto store shelves. It's no different than the PC market. In fact, all of these devices are practically using the same hardware, with a few odds and ends added here and there.

The reality of it is that manufacturers are trying to create demand. By taking over complete control of what they consider to be their devices, they can convince people that a hardware upgrade is necessary. That argument was fair even as little as a year and a half ago. But nowadays, our smartphones and tablets are insanely powerful. A decade ago, the hardware in our phones would have constituted a high end PC. And for the moment, the features that are being added aren't utilizing all of that power.

Things like roots and jailbreaks aren't real solutions. They're literally hacks. Sure, we can have developers create custom third-party ROMs, but at what point does that become too cumbersome? Why do I need someone to make me a ROM when all an operating system really needs to operate is the right drivers? Why can't I just have stock Android, and upgrade from 2.3 to 4.0 using an installer, like we've had on PC's as far back as any of us can remember?

In the end, it comes down to money. On traditional PC's, major updates cost you something. Windows upgrades usually cost $100 or more; OS X updates are generally around $30. On mobile devices, like smartphones and tablets, there seems to be a thought that software updates should be free.

The consequence of these free updates is that we don't have the same entitlement to updates as we do with regular computers. If you buy a high end computer, chances are good that you'll get software updates for years. Those updates are less frequent, but they're more available - just cough up the money and it's yours.

Phones are expensive to buy. They come with contracts of up to three years. And yet there's no guarantee that, in three years, your phone will still be supported. You're locked in with no way out, on a device that could run newer software but doesn't, and the solution is to make it to the end of your contract and pony up the $200 to do it all over again. A phone that is sold to last for three years should be fully supported for three years.

Anything over $100 is too much for a mobile OS upgrade. Maybe even $50 is too much. But I'd much rather pay a small fee to get the software my phone can run, than get a butchered version of that software for free.

So can we please find the right balance here?