Needless 'crippleware' hobbles even simple technologies

Wired on Friday: Yesterday, I walked into downtown San Jose (the "Capital of Silicon Valley"), and paid $25 (€19) to have my…

Wired on Friday: Yesterday, I walked into downtown San Jose (the "Capital of Silicon Valley"), and paid $25 (€19) to have my phone unlocked.

You may well have done the same. Perhaps you wanted to use your phone with a local provider in another country to avoid paying expensive roaming charges.

Or you may have wanted to switch operators and still keep your old phone. To do that, you generally need to do as I did. Find some slightly dodgy man to take your phone, walk into his back office for five minutes, and then return with your mobile magically changed from one that will only work on your original operator's network, to one that can work on any GSM service.

The whole affair feels illicit, like buying stolen property or having an odometer reversed. It isn't: you have every right to unlock your phone. It has the physical capability to work with other operators. That ability has been deliberately disabled before it is sold to you. You own your phone; you can restore it to its full functionality. You're doing nothing wrong.

READ MORE

The intentional removal of a feature on a piece of technology like this inspires a peculiarly strong sense of disgust among many techies. They have a name for it: crippleware.

They see it as offensive for a few reasons. It's inefficient, deceptive, and they have to deal with the problems it causes from both the business and consumer ends of the deal.

The offence is perhaps most obvious to the consumer. If a manufacturer sells you something that has the power to do one thing, but at the last moment cuts a wire, or plugs a hole or writes a single line of code that stops you from using it - well, we all have a sense that we're not quite getting our money's worth there.

In the case of the phone, there's another techie offence. All the person at mobile shop does to unlock your phone is type in a special, secret code. Sometimes she'll have to enter it via a custom cable, but usually she'll just type it, as you would type in your phone number.

Those unlocking codes aren't complex, but how to calculate them is deliberately hidden from you. The only reason the codes are not more widely known is because anyone who knows how to generate them can make a tidy sum by hiding the knowledge, and then charging for each act of unlocking.

In other words, what we have here is a guild, an inefficient oligopoly based upon secrecy. If the information regarding phone unlocking was more widely known, costs would drop for everyone, and the marketplace would be fairer.

If it hurts techies to know that their hardware is crippled, it is doubly painful to have someone do nothing more than flip a switch, and then pay them to restore what was already, truly, yours.

Crippleware can certainly maintain very large unnatural markets. The Motorola V710 has Bluetooth. Usually, that lets you quickly transfer music and images between the phone and your PC. Verizon, a US phone operator, wanted to force its customers to send their pictures and download their ringtones via its own subscription services, so they crippled their customers' phones so that Bluetooth would not work. I imagine the hundreds of thousands of dollars Verizon obtains by forcing customers to use its own service more than makes up for the customer dissatisfaction.

Unlike the phone industry, Silicon Valley's computer companies have done a good job of building an industry that is remarkably free of crippled equipment. Perhaps it's because all of Silicon Valley has been, at some time, as often the victim of crippleware as its beneficiary.

But the temptation is always there, ready to mess with the market and cause endless chain-reactions of inefficiencies. The very day I unlocked my phone, I was shown an example that caught Microsoft, chip manufacturer AMD and the free operating system Linux in the unnecessary complications that crippleware can cause.

Some of Microsoft's server software, such as SQL Server, is traditionally licensed by the number of processors - CPUs - you run them on. The software is deliberately crippled to ensure this: if it detects your computer has more than one CPU, and you only have one licence, it refuses to run. It could run perfectly fine on both, only for the single line of code that counts the CPUs.

As crippling goes, this perhaps seems reasonable. But watch the inefficiencies grow.

As I mentioned in a previous column, CPU manufacturers like Intel and AMD are having problems making faster processors. Instead, they have decided to manufacture dual-core CPUs - two fast processors, co-operating as one even faster CPU.

Microsoft's software sees the latest, fastest processors as two CPUs, and refuses to work. Customers are now finding themselves with expensive server software that only works on their slowest machines.

Microsoft, to give them credit, have relented. Future software will not count dual-core processors as two CPUs.

But in the meantime, the damage had been done. To get around Microsoft's crippleware, the latest AMD processors pretend to be single processors: they lie to any software that asks them what they are. They say they are single-core when they're not.

Now, it's okay to lie to SQL Server, but operating systems like Linux (and Windows) need to know the truth so that they can use both cores efficiently. So last week, a minor correction went into the Linux kernel. When AMD processors say they're single-core these days, Linux doesn't believe them.

So we have software that refuses to run when it is perfectly able to, hardware that lies, and software that now can't trust the hardware it runs on.

As it is, the mobile man messed up my phone while unlocking it, and I'll have to visit him again tomorrow. That's the lesson of crippleware, big or small: it's all needlessly complicated, prone to creating artificial problems - and needless in the first place.