Okay, you know how there are people who crusade against misuse or misrepresentation of science in news, government, and public education? (A good example is badscience.) Well, I’m realizing that more and more often I’m getting outraged at the amount of things people (well, mainly companies) do with software and technology that are the programming equivalent of kicking your customers in the balls, on purpose. The EFF and related organizations do this from a legal/freedom standpoint, but there’s a lot of cases that are not quite so insidious but that still are enough to tick me off.
To give you an idea of what I mean, let’s start off with some simple examples. I repeatedly see ads for ISP’s that claim that they are N times as fast as their competition. For example, cable claims they’re faster than DSL, budget dialup claims they’re faster than other budget dialup, etc. Here’s the problem: they never say how fast the connections actually are. Car advertisements say how many cylinders the engine has, or what its horsepower is. Internet providers, on the other hand, seem content to tell you something that sounds good, but gives you absolutely no useful information. I do not know whether this is done because they don’t want you to know, or whether they don’t think you care; but either one is somewhat insulting, and indicative of how a lot of technology companies seem to think about their customers. I don’t think you have to be a technical guru to be able to compare how many average megabits up/down two service providers have.
The mindset seems to be: “People are stupid, so we can tell them that it does X, and as long as it does something that you could mistake for X if you weren’t paying close attention, we’re OK.” I imagine there is a whole spectrum of intent (ranging from ignorance to sheer malice) as to why this type of thing is done. But when it gets into software or hardware it’s inevitably bad.
Here’s another example: I recently purchased an LG VX8600 phone to replace my aging phone. My mobile service is Verizon. This is what the LG website says about their phone:
Bluetooth Capable (v1.1) – supports headset, hands-free,* advanced audio distribution, serial port, dial-up networking, file transfer, audio/video remote control, object push profiles for vCard
Okay, well, this is true. The phones do support doing file transfer, in theory, when they were designed. However, Verizon, in their infinite hatred towards any of their customers who do not own Blackberries, decided that they couldn’t tolerate this much functionality.
I asked the guy at the store where I bought the phone: “So, is there USB or Bluetooth to transfer pictures off of the phone?” He answered that, no, there is neither a USB cable or bluetooth support, and I should mail the pictures to myself for $0.25 each over the mobile network so I could get them onto a computer. I picked up one of the Motorola RAZRs that was sitting there and looked at it, and asked if there was a USB cable I could get for that, if I wanted to buy one instead. He told me there wasn’t. Now, if you’ve seen a RAZR, you’ll notice that it has a mini-USB connector on the side, so I could tell at that point he was either lying or totally ignorant.
Anyway, it turns out you can do file transfer over Bluetooth, but not through any normal OBEX link like you might expect. Verizon has specifically crippled the phone’s Bluetooth support for some unfathomable reason. I tried several programs to no avail until I found out BitPim supports communicating with it in a protocol it can understand (I tell it it’s a VX8500, which is basically an LG Chocolate, and specify the COM port manually.) There is also a USB cable you can buy from LG and possibly Verizon, which is basically impossible to find and has absolutely no indication of what software comes with it and what the capability of the software is or what USB device class the phone supports. By “impossible to find”, I mean that it took me two or three days of digging around in Google until I found out that you can buy them on Amazon.
So, this sounds nitpicky to be complaining about Bluetooth file transfer, but remember, I’m buying this phone because it records and plays pictures, video and audio. I got the damn thing because I wanted something with a camera. So, basically they’re trying to sell me a tiny device that’s labeled to be a camera/video recorder, but (as far as they would have me think) is completely incapable of transferring the pictures off the goddamn phone for free. When I hear cameraphone with bluetooth, I think cameraphone that I can take pictures with and get them onto my computer. Actually figuring out how to get JPEGs off my phone was like pulling teeth. This is a big deal. This is stupid.
Another good example is Microsoft’s XNA initiative. (Update: I’m told that they are planning on letting non-Creator’s Club members play homebrew games eventually, so you can ignore this paragraph if you want.) Doesn’t it sound fun to write games that can be played on the XBox 360? Well, I hope it sounds really good because it costs you $99 a year to play them on your own XBox. (You know, the files are on your computer, your XBox is sitting in the room, and it cost $99 a year for the bits to get from here to there.) Moreover, anyone else who wants to play them also has to pay that. Oh, and there’s no networking support in XNA (yet, at least.) Once again, sounds good in a blurb; in reality, it has a very high cost of entry that I would imagine is going to significantly impact the amount of people that try out developing games for it, in addition to totally stunting the penetration of homebrew XNA games to non-developers. So, we’re at almost exactly the same situation as other consoles that try to keep you from playing unlicensed content. The difference here is that Microsoft has decided that they’d rather have the money instead of all that cash going to some Asian modchip company. I’m not trying to hate on MS here, god knows that happens enough without me; but really it sounds dumber the more you hear about it.
So, can anyone think of a word that describes a product that sounds great in an executive summary but totally flies in the face of reasonable engineering practices? (Purposeful crippling, locking, ridiculous fees, woefully incomplete feature implementation, etc. all apply.) I’m worried that if people don’t start having a clear way to tell companies what bad faith their product is designed in, that we’ll just get buried under a pile of software and hardware about as well-engineered as Linksys routers, AOL, the average mobile phone, Windows Media Center Edition, etc.