One of the keynotes at LCA2010 was Ben Mako Hill. His presentation on 'Antifeatures' in software was very nicely put together and for me illustrates some of the madness that exists in proprietary software. An antifeature is something that the developer works hard to develop and include in a product that limits that product's abilities. Sometime considerable effort and expense goes into developing these antifeatures because the developers know that there will be a profit in it further down the track. The best illustration of a simple antifeature is unlisted numbers in the phonebook. Although it's much easier for a telephone company to exclude a number from a directory than include it, somehow it has transpired that in order to have your number left off the directory, it costs you money.
Mako has a long list of these antifeatures in products, and all of them were designed to exploit consumers through:
- extract money from the user.
- segmenting the market.
- creating or extending monopolies.
- protecting copyright.
Perhaps the most well-known example of the second kind of antifeature is the scam perpetrated by Microsoft around the Windows NT Workstation & Server editions. It was the same product, but by changing one digit in the registry, M$ could cripple the software so it couldn't act as a webserver.
Another good example is the Canon G7. All cameras (including the Cann G6) shoot RAW. It's simply the uncompressed 'raw' data from the camera's CCD. Canon decided that in order to push people who wanted RAW into the next price bracket, they would cripple the G7 so it would only produced compressed JPG images.
I love the word 'antifeatures'. It's a perfect label for some of the anti-consumer practices most companies engage in. Let's always remember that companies are designed to make money. Keeping customers happy is only a mean to that end. And let's take back a bit of consumer power- it's our money after all.