I’ve written a short essay about anti-features. An anti-feature, I argue, is functionality that technology producers charge you to turn off. Apple’s new, "pay-more to get DRM-free" is one example of an anti-feature but one can find them everywhere.

It’s a quick read and, I believe, an important but largely missing argument in most free software advocates’ arsenal. I’ve posted it the on the FSF blog here:

30 Replies to “Anti-Features”

  1. I’d say windows itself is an anti-feature. Until recently, it was extremely hard to get a computer without it and even now it’s not easy.

  2. Well, this is basically the failure of closed source– the goal is not to create the best product but to earn the most money.  In traditional markets, the person who sold the finest product at the most reasonable price would win over his competitors, so free market economics was the way to go.  In computers its different, especially with vendor lock in, but fortunately its easier for people to produce a superior product and give it away for free.

  3. Free Software alternatives quite often are superior to their proprietary counterparts (or whatever you’d call them), but with software patents, the issue isn’t who can make the best product, it’s who is ALLOWED to make a product that does certain things.

    I’d like to know if there are any cameras that run on free firmware, or if there are alternative firmwares available that support PNG.

  4. Jadd: Obviously Opera has a different set of liabilities than Microsoft and, perhaps, a different set of liabilities than Firefox (which is also advertising supported). Of course, Iceweasel shows that there are always user-driven alternatives using free software that are more available than in proprietary systems.

    Travis: I didn’t realize that. It seems, from what I’ve just read about it that they were pushed to do this by Amazon who offered DRM-free tracks at the lower price. Good evidence of what the presence of a more user-centric competitor can do — even if it’s not free software.

  5. a more “user centric” than Apple ???

    they are totally user centric. think one second why you choose to say “user centric”.

    and puuuleeaze ,  magnatunes are selling un-drm mp3/ogg/flac for years

    forget amazon or whatever.  Apple succeeded in forcing one majors to drop drm,  and amazon+apple was able to drop back to 99 cents

    it’s GREAT  nothing to be ashamed.

  6. While I agree that ant-features are bad, your examples mix up anti-features with tradeoffs. Yes, RAW is easier to get than JPG, but providing JPG output saves you a lot of space with mostly equivalent quality. Professionals care more about quality than paying a few more dollars for more memory while consumers prefer to be able to go on three week vacation with a low cost camera and not have to worry about “running out of film”.

    Similarly, WRT popups, turning off popups completely would violate the W3C standard, get rid of legitimate uses of popups, and would be an anti-feature for any browser higher than lynx. Popups worked just fine until XOOM and friends started abusing them. What Firefox did was provide fine grained control over when popups should be shown and even allow you to redirect popups to other tabs. This is a feature, and not an obvious one to get right, as can be seen in IE7 which implements a popup-blocker in a very annoying way. Don’t attribute to malice what can equally be attribute to laziness or stupidity.

    But if you want to pick on IE, look no further than the blatant disregard of caching and inline HTTP/HTML directives. There are standards in place for these things, but Microsoft loves making web developer’s lives difficult by caching things it shouldn’t or inlining documents that were never meant to be inlined.

    Similarly its forced obsolescence and “implementing part of a standard then providing nonstardard replacements of the rest” policy are also anti-features as is DRM and iTune’s desire to wipe out an iPod database that was not created by it or Tivo’s removal of features during a “minor upgrade” without notice.

  7. Robert: I disagree with you for the simple reason that the anti-features can be given with a choice. It’s true that low-end cameras might not have as much space why not allow users that want RAW pictures to take them? The data exists already and the default can be set to “JPEG” for the vast majority of users who prefer it.

    Firefox, even in the early days, did not simply block popups. It gave users the option to turn them off.

    I’m not suggesting that all popups should be blocked or that all pictures should be RAW. But if developers are going to compress RAW images or show popups, why not provide the more “natural” alternative to those users that want it?

    In the RAW case, part of the answer seems to be that they can charge more for a version of the same product without the anti-feature.

  8. Relating to RAW, I see your point, but it could be argued that providing consumers with the option that wastes more space and requires processing before it can be used by most non-advanced image programs (or Windows itself) and most consumers wouldn’t know what to do with is actually a misfeature (in much the same way that adding auto-focus is a misfeature for professional cameras). It’s the old “if you have to ask what such an such is and how to use it, you don’t want it” mindset. GNOME regularly hides such “confusing” features and it’s considered “a good thing”. It’s true that GNOME eventually finds way to “add back the missing functionality in an easy to use way that ‘does things right'” (e.g. printing/file open&close), but one could easily claim the same thing about RAW (when RAW is supported universally or an equivalent nonlossy format which doesn’t require much processing, the manufactures with do the same).

    About giving people the option to disable popups, I was under the impression that the option existed in the security tab of IE always had the more coursed grained “Turn off Javascript” feature. Granted, it doesn’t have the “Turn off popups” feature, but there are tons of annoying javascript features you could turn off (including CSS “popovers ads” that now seem popular). It wasn’t obvious until popups got really bad that specifically turning off popups was needed. Again, I attribute this lack of a feature more to laziness than malice.

  9. Crippling costs almost nothing and allows to profit from price differentiation. A lot. If you wont’t do it your competitor would do, so there’s no much choice actually.

  10. Robert,

    Even GNOME offers gconf options for users that really want control. Firefox offers “about:config”. It’s not pretty but it’s there.

    Again, I would tend to be more sympathetic to your position if Canon and other manufacturers weren’t selling almost identical cameras who difference are only the inclusions of options to “enable” the functionality in the camera that was always there. The same could go with Javascript.

    Not doing something hard is unobjectionable. Not providing  space in a high profile menu is find as well. But jumpers, strange key sequences documented in the manual, or an obscure option buried in a menu may be good enough to give people access and it’s almost certainly simpler than implementing the the feature which keeps users away from the anti-feature being hidden in the lower-end device.

    It’s possible that MS simply didn’t think of popup blocking. But that doesn’t explain why it took them years to include the feature after Firefox had demonstrated that it was something that users wanted.

  11. I agree in principle, but I’m not sure about your RAW example. There are valid reasons to consider RAW a feature:

    (1) there are resource constraints involved. I could easily see how supporting RAW could negatively impact other features like the preview, continuous shooting mode, etc. The designers may have to choose between holding this feature back, adding a lot of fine print to the advertising and manual (shoots a frame per second…unless using RAW mode, then one every five seconds), or spending more money on other parts of the camera to match.

    (2) it’s useless without an understanding of the image format. As you say, it’s raw sensor data, and the format seems to be different even between product lines from the same manufacturer. So having a RAW mode – especially an advertised one – gives an expectation they have to meet. Documentation, work with major vendors (e.g., Adobe, Apple) to support the format.

    Likewise, not having a pop-up blocker is simply a matter of not having a feature, not of having an anti-feature. There might be many reasons they didn’t write the feature, but in the end, they just didn’t write it.

    So what are better examples of anti-feature? DRM,
    as you say. Obnoxious advertising (but note qualifying adjective – Google has shown that subtle, well-targeted advertising is a feature many users want). Spyware. In particular, Best Buy will actually sell you a computer with spyware and then charge you a fee to remove it. Artificial licensing constraints on number of CPUs, IP address, presence of CD or hardware dongle, maximum users/connections/request rate, etc. Vendor lock features (Verizon). In all of these cases, new code was written to serve a master other than the consumer. In all of these cases, the consumer (me) would actually like to remove code from the system.

  12. In many U.S. states, it costs more to have an unlisted tlephone number than a listed one, despite the technology for listing radically transformed over the last 30++ years

  13. Hi, good point about anti-features and I appreciate the desire to identify them.

    But I think there are probably better examples than the RAW / Pop-up blocker feature.

    With respect to RAW: as people have mentioned, it was really a matter of image optimization for low-capacity flash memory combined with a desire for compatibility that drove companies like Canon and Sony and Casio to default to JPEG.

    Think about it — having to explain file conversion to a grandmother who just wants to e-mail a photo to her grand kids. This is why JPEG was chosen as an image format. As for why a backdoor wasn’t opened for advanced users to find, I think it’s really a matter of advertising. ISPs found themselves getting burnt on the kbps vs Kbytes per second distinction and hard drive manufacturers must now distinguish the difference between gigabits and gigabytes. This is a lot of overhead for companies to take care of when marketing a product, and I think the decision to stick with jpg was initially done out of convenience rather than greed. They probably didn’t want to get burned for advertising storage capacity that wouldn’t be the same for RAW files.

    Also, a lot of camera companies do offer TIFF, which is a relatively standard uncompressed file that is quite similar to what people consider “RAW” now.

    Anyway, it’s great that people have been able to reverse engineer RAW imaging capability from lower-end cameras whose software wouldn’t ordinarily “support” it.

    One more point about censors: camera companies are notorious for switching the CCD for a run of popular cameras halfway through their manufacturing process because they’ve found a cheaper/better/etc. sensor, so it’s not always safe to assume that CCDs are interchangeable.

    With respect to popup blocking I.E.: It was also years before Microsoft implemented tabs, another popular Firefox feature. It’s hard for me to believe that tabs were a political feature that Microsoft delayed integrating due to some capricious ties to an anti-tab lobby.

    It’s more likely that these decisions were caught up in the massive Microsoft development machinery — which is still justification for a free software development model, but perhaps not politically so.


  14. Fred and others: Your arguments about RAW are all correct but you’re overlooking two issues. Canon sells cameras with the SAME processor and same memory writing capabilities (you might have more or faster compact flash cards, I suppose) who are distinguished, in large part, by the ability to write RAW. Sure, in the lowest end-cameras, it’s probably not as useful. But people with high-end cameras frequently don’t shoot RAW either. Canon charges more for uncrippled cameras.

    Camera companies are making a conscious decision to ship cheaper cameras with this feature disabled. It is being turned off. And obviously, as CHDK shows, people DO want it and going well out of their way to write the functionality.

    You’re right about tabs and IE. The difference of course is that the code to do tabs had to be to be written and the codes to not display popups merely needed to be turned off.

    That’s not to say that these really are the best examples. I’m sure they’re not. But I still think they’re illustrative.

  15. echoing other comments…

    I think RAW as an example is a little unfair.  If they’re targeting a camera at consumers and consumers typically want a jpg functionality (and also typically don’t want/don’t understand/don’t have a fast enough computer for/won’t use RAW), then they have to include jpg anyway.  To argue it’s more effort to remove RAW is beside the point.  That may be the case, but there may be justifiable (or at least plausibly deniable) reasons for it (eg not wanting support calls related to RAW).

    The general point you make is valid, this particular example is poorly targeted.  Ie. is the removal of RAW in specific models “really” designed to drive revenue (eg cause purchasers to purchase a more expensive product line).  Maybe it is, but there’s enough doubt to make it a suboptimal example.  It would become more relevant if Canon were to sue the CHDK people…


  16. “Canon sells cameras with the SAME processor and same memory writing capabilities (you might have more or faster compact flash cards, I suppose) who are distinguished, in large part, by the ability to write RAW.”

    Really? Show me. Name the models.

  17. Scott: Take a look at the G series of Canon cameras which are interesting example. The G7  removed RAW functionality in an attempt by Canon to push people toward higher end DiG!C III processors or the higher-end EOS line. RAW was in the G6 and previous cameras and was reintroduced in the G9 which, as it turns out, runs on the same processor. When they moved to a more capable camera and computer, they removed the functionality.

    The G series has traditionally offered RAW as a feature over the SX IS series (or the new SX) series but the the computers in the cameras tend to be identical. Canon uses a very small number of processors (you can read the Wikipedia article on DiG!C and several related articles).

    Now, I don’t want to get into an argument about whether particular models of cameras are in fact in every aspect comparable. That’s really not my point and I understand that comparisons are complex. My point was that Canon is intentionally disabling the feature in an attempt to drive people to higher priced models. I stand by that position and believe it is defensible.

  18. It may not be an anti-feature. Saving RAW images requires much more memory bandwidth than saving JPEG images. I imagine in the high-end cameras they may need to use special caches to temporarily store RAW images as they are being written to flash.

    However this is all speculation. I don’t really know how they work.

  19. Let me add another example. I recently bought a standalone harddisk&dvd-recorder (Panasonic ex77) which has plenty of anti-features, on top of the DVD-region. It has some kind of evil blacklist-system which denies certain file formats on certain disk formats. I can play mpeg4-files externally recorded on CD-R, but not CD-RW (even though it accepts CD-RW & DVD-RW for other operations, including writing). The “advanced copy” for optical<->harddisk copying has many similar anti-features as well, denying operations which are evidently supported by the hardware. You get the idea. Anyone has a free firmware for this thing? :)

    PS. I’m happy with the uncrippled functions.

  20. The arguments against using RAW as an example anti-feature miss the whole point of “features as a form of freedom”.

    Yes, cameras lacking RAW aren’t as inherently one-sidedly evil as typical DRM schemes; RAW requires a vast amount of storage compared with e.g. JPG, so maybe low end users, who may never use RAW, may not want the storage waste.

    But some other users may want RAW anyway, yet they aren’t allowed that choice when RAW is made inaccessible on the low end camera.

    If it was purely about what’s likely to be best for the buyer, then RAW would simply be disabled by default, but with the option of re-enabling it.

    That sort of denial of freedom to choose is what makes an anti-feature, regardless of whether the loss of freedom has some arguable benefit for some class of users.

    It becomes all the worse when it’s obvious that the anti-feature is largely motivated by a manufacturer’s greed, or when its artificial removal has no reasonably arguable benefits for anyone at all, certainly, but those are nonetheless side issues.

  21. I am unsure of the intent of the article. Were you reviewing CHDK or teaching a lesson on anti-features (Does CHDK enable support for the RAW format in limited space cameras then? And was CHDK just your introductory example if it was a lesson?).

    I kind of felt like the author went on a tangent and I didn’t know where it was going to end up. Then the article ended in, “in many cases, doing nothing is exactly what users want”.

    I feel like users want either convenience or knowledge. If they want convenience then the options and the learning of extra items (such as the RAW format) would be unappreciated, unless one is on a quest for knowledge and would enjoy reading and learning about the extra item. I am a simple minded individual though – probably too literal of a thought. 

    Thank you for putting in the time for us to read your thoughts…

  22. The problem  (from the camera manufacturer’s point of view)  with RAW formats is that they necessarily expose the image sensor’s true resolution.

    Consumers like more megapixels — despite the fact that a 2 megapixel camera with a decent lens and body  (such as my venerable old Fuji Finepix A2800)  takes consistently better pictures than many 3 and 4 megapixel cameras.  The larger physical size of the sensor allows it to store more initial charge; this allows it to accept more light before saturating  (overexposing),  which in turn both reduces noise and improves contrast.  The lens is well-ground and the zoom mechanism  (6X!)  is constructed without play.

    Lenses and bodies are boring.  What the consumer really wants is numbers, and the bigger the better.  (Square millimetres would be a better objective measurement of image quality, because a physically large sensor will always produce superior pictures to a physically smaller one of the same resolution; but few manufacturers deign to provide this figure.  Probably because they’re embarrassed by it.)  Hence the obsession with megapixels.

    Now, suppose some manufacturer of digital cameras was fitting them with a 2 megapixel sensor, using some fancy firmware which interpolated up to 6 megapixels — and slapping a “6 megapixel” label on the camera.

    Almost nobody is ever going to notice this discrepancy, because when they view the image in their favourite graphics editor it will contain the relevant number of pixels.  Most monitors only display about 1.3 megapixels anyway; so to display the image pixel-for-pixel, it will be necessary to pan around.  While the complete image is on screen, about 4 of the camera’s pixels  (of which 3 were generated for each one of the sensor’s actual pixels)  will be condensed into one of the monitor’s pixels. 

    But this manufacturer isn’t going to dare to allow RAW data out of the camera — for to do so would expose their mendacious claims at once.  Or at best, they will supply a binary blob to selected software vendors  (cough Adobe cough),  under an NDA.

  23. Thanks for the essay. In the spirit of nitpicking,  the following line might need clarity:

    “It is more difficult for Canon to make cameras that output JPEGs than cameras that output RAW, and it’s not significantly more difficult to offer users a choice.”

    Broken by design is a profitable business practice, particularly when the business is the exclusive producer of something.
    “Difficult” implies some sort of business hardship, but the difficulty or expense, would be with the user.

  24. Sorry to jump so late on the wagon, but for some reason I remembered this old post and had to comment on it.
    The point of these anti-features, from the POV of the producer, is to get more money. How they do it, however, benefits a large amount of users. Why? Because it enables them to sell a product for cheaper (including design, programming, etc).
    Imagine this example. A company wants to manufacture an inexpensive camera. It has 3 choices: manufacture only with RAW capabilities, only without, or both.
    Selling only with RAW would raise the price of the camera, so much that it would no longer be an inexpensive camera.
    Selling only without RAW would lower the price of the camera, but also the quality of the cameras (no RAW).
    Selling both enables the company to share all of the fixed costs (lenses, processors, etc) among both lines. This means that the cost of the RAW camera is lower than in the first case! The fact that the camera has been artificially limited[1] notwithstanding, the fact that the total sales volume is higher means a lower cost in the low-end machine too. Everybody wins!

    You are thinking in terms of “costs lead to price”. The fact is, price is set by the market (ie, you, me, and everyone else). If people are willing to pay more, then people will pay more. The fact that the costs were lower is irrelevant. A camera with RAW is worth more (or more expensive) not because it is harder to implement, but because people that really want RAW are willing to pay more for it.

    [1] Which, BTW, is not necessarily true. Think of it as a storage backend plugin, so there is no real limitation to the camera done, just not installed features. Both have to be able to store JPEG, remember.

Leave a Reply

Your email address will not be published. Required fields are marked *