OSCON 2009: Antifeatures

I picked “Antifeatures” from a crowded slate of good-looking sessions strictly because one of the speaker’s blogs, Revealing Errorsh/t Tom., which aims to teach basic computer science through images of basic computer science failing spectacularly, is awesome, and feels like a close cousin to What Can You Do With This?.

Benjamin Mako Hill didn’t waste time getting to his premise: our usual cost-benefit analysis w/r/t free and open source software is flawed. We often evaluate software on the basis of cost per feature. On that analysis, Hill’s 1990 Linux machine fared poorly, supporting 20 CD drives, none of which was stocked by the computer hardware store. Hill suggested, instead, we evaluate software and hardware not simply on which has more features but also on which has fewer antifeatures.

An antifeature, as defined by Hill, is like a feature. It requires effort and adds functionality. It’s just functionality that no consumer would ever want. It’s functionality a consumer might pay to have removed, if possible.

Bugs are not antifeatures, just mistakes. The lack of a feature is not an antifeature, it’s just a missing feature. Poor implementation is not an antifeature.

He set up four classes of anti-feature, disclaiming that they aren’t definitive and they aren’t without overlap:

1. Features that extract money from the user.

  • You had to pay to get your name unlisted from the phone book. Arguably, it required more work and more material for phone companies to include you than remove you, but your phone number was worth money to them packaged in lists for advertisers, so they passed that cost on to youI’m referring to phone books in the past tense here and I don’t really know why except I can’t remember how many years it’s been since I used one..
  • Spyware / Adware. The basic version of Kazaa (and also the video encoding software, DIVX) came bundled with spyware called Gator which reported your browsing activity, recorded parts of your credit card number, and issued pop-up advertising. Byte-for-byte, Kazaa contained ten times more spyware than useful software. Both DIVX and Kazaa charged users for professional versions of their software which were functionally the same except they didn’t include the spyware/adware.
  • Sony VAIO. A terrible laptop, pre-installed with so much junk trial software, VAIO applications, and games that some users reported crashes from the very first boot. Sony offered a “Fresh Start” program at point-of-sale which would remove all of the junk to (in their words) “conserve memory and processing power while maximizing overall system performance right from the start.” For fifty freaking dollars. Stay classy, Sony.

2. Features that segment the market.

  • Airline price points. Airlines have priced their tickets in order to determine exactly how much a given customer is willing to pay and then extract it.
  • Microsoft Windows NT Workstation / Server. Microsoft made several appearance throughout Hill’s talk. In this case, Workstation cost $200 and Server cost $800.00 but were byte-for-byte the same except that Workstation contained code that would update one bit in the registry to limit incoming TCP/IP connections to ten.
  • Six editions of Microsoft Vista. Vista Starter only allows three GUI applications open at a time. Hill wondered here (paraphrased) how the engineer tasked with writing this antifeature code lives with herself.
  • The Canon G7. The Canon G6 could shoot RAW files. The Canon G7 had better hardware and better software but could only shoot JPEG. This was to push customers toward Canon’s line of digital SLRs. Users had no trouble hacking the firmware and re-installing that functionality. In a world where there is any freedom for users, Hill noted, antifeatures are very hard to sustain.

3. Features that create or extend monopolies.

  • Panasonic Lumix. A firmware upgrade “protected” you from third-party batteries, turning off power management in order to leave users scratching their heads wondering why third-party batteries are so terrible.
  • Dr. Dos 6.0. Microsoft detected its installation and threw up all kinds of error messages, leading users to believe it was incompatible with their systems. This one went to court.
  • The battery authentication market. Hill said that this is the dystopian future: software companies waging war on each other inside your computer, a war where the user is collateral damage.

4. Features that protect copyright.

  • SimCity’s list of high scores. Printed with extremely low contrast in order to deter photocopying. This measure also made it impossible to read.
  • Dongles that prevent software copying. Hill: “How do they sleep at night? No one has ever purchased some software and said [disappointed] ‘I got the new version of the software and there wasn’t a dongle!'”. Billions of dollars are poured into making computers less good at what they’re naturally good at.
  • DVDs & DRM. “Basically every kind of antifeature.” Encryption, watermarking, region control, licensing, can’t skip the first track, etc.

He concluded that freedom has practical benefits. It may not be a methodology toward faster software, better software, that crashes less. But even when proprietary software works perfectly, exactly the way proprietary software engineers want them to, they don’t work perfectly the way the users want them to.

I'm Dan and this is my blog. I'm a former high school math teacher and current head of teaching at Desmos. He / him. More here.


  1. In education, it may be more worth looking at anti patterms.. All of the examples above actually do what they are supposed to. It’s just that what it’s supposed to do is not actually helping the customer.

    In education, it really seems that people have the best of intentions. The problem is that there is little validation of whatever gets done, aside from a positive feeing about it on the part of the implementers.

    It is also worth noting that 15 years ago, when the pattern thing was just getting its wings, the very concept of anti patterns were frowned upon, since patterns were supposed to identify and collect best practices, and collecting bad examples seemed counter to that cause.

  2. If there is a student version of this, it might be what one of my 11th grade writing teaching colleagues and I call “unteaching.” We unteach some practices in students that were learned in lower grades as writing crutches to help them organize their thoughts (stock sentences and writing structures or essays with this “must look like this mentality”) but now inhibit creative student thought as they grow older and more mature.

    This post just made me think of those student “anitfeatures”. We as educators have to be forward-thinking enough to see what out teaching culture could do to a student’s mind 2-3 years a road when out practices might be outdated.

  3. But even when proprietary software works perfectly, exactly the way proprietary software engineers want them to, they don’t work perfectly the way the users want them to.

    That pretty much nails though it should be understood that even if proprietary software does what users want at a given point in time, should that change in the future (which is pretty much inevitable) then users are helpless and divided.

    Maybe one day we’ll read on your blog of a transition from the proprietary Mac OS to something like GNU/Linux? I’ve never really asked you about this as I’m aware you’re big into video creation/editing – which has been a very weak area for free software. Though, I’m hearing it has gotten much better over the past few years.

    Glad to hear you valued Hill’s talk.

  4. @Peter – I’m an educator who uses Linux and am constantly in awe of Dan’s graphic design abilities. I think the day that OpenOffice(dot org) can produce as beautiful presentations as Keynote will be the day that Dan switches.

  5. Understandable awe. His work is sharp.

    Regarding “beautiful presentations” though, at what point do we accept some sacrifice of beauty/functionality in order to promote social solidarity? As Dan says, he teaches citizens not workers. If I understand what Dan means by juxtaposing those terms, then Free Software licensing is for citizens while proprietary licensing is for workers.

  6. @Peter & TheInfamousJ, it’s true that I have certain software preferences and while GIMP might be able to reproduce a lot of Photoshop’s capability I haven’t seen much in the open source community to rival Final Cut Pro or Keynote. I suppose I’m just not ideological enough to make the sacrifice.

    True story, though: more than a few people were pissed at all the presenters using Mac OS / Keynote at an open source conference.