Tuesday, February 22, 2011

A feature, not a bug

Need your help again! If you understand what this term means:

This is a feature, not a bug

And can give me a couple examples, I'd be very grateful! I'm working on finding neologisms which are clever or useful, and this one seems to qualify as both. But I'm having trouble really grasping it.

Thanks for any examples or explanations!



Remus Shepherd said...

When you hear 'it's a feature, not a bug' about software, it often stems from something that users think is annoying or counterproductive but that the creators of the software intended to be helpful.

"Every time I mis-spell a word, this annoying animated paper clip pops up on my screen."
Clippy was supposed to be a helpful user agent. He's not a bug.

"In order to post on a blog, I have to type in a verification word that isn't a proper word at all."
The word verification is usually random or pseudo-random. That's an additional security feature. It's not a bug.

But this saying has been extended past software to describe counterproductive features in other things that are supposed to be helpful.

"You can't purchase electronic equipment anywhere without giving them your address."
Radio Shack and other electronic retailers started collecting address information both to track potential terrorists and as part of their marketing strategy. Not so helpful to consumers, but it wasn't a bug from the company's perspective.

"Obamacare forces me to buy health insurance. How is that reform?"
The health care mandate cuts costs by forcing the insurance pools to be as broad as possible. Some people may not like it, but it's not a bug.

That's about all I can think of right now, but the phrase pops up everywhere. It's probably being misused a lot, too.

Anonymous said...

This expression afaik is most typical of softwares and software development. It has two, quite overlapping meanings: an ironic, funnier one and a serious one.

In both cases what you're dealing with is a feature (some option, service etc) of the software that proves (usually for the end user) to work _not_ as expected, which often leads to frustration (again, usually for the end user.) The user in these cases tends to suppose that the unexpected working of the feature is erroneous: it is badly designed, imperfectly coded/developed or both - that is, the software appears to have a "bug".

However, the unexpected working of the given feature is not always a real bug: sometimes it's just the (inexperienced) user who does not know (sometimes out of their own fault) how to use the feature, and sometimes the feature is made difficult to use on purpose, for security/safety reasons. In such cases "It's a feature, not a bug" is meant seriously, and holds true.

However, it's way, way more likely that you'll encounter the sarcastic meaning, when the software proves to really work in strange ways, yet the developer/vendor of the software has no time/resources/intent to correct it. That's when they try to convince the user (with some kind of cover story, perhaps) that the bug they encountered is _not_ a bug, not a mistake but something planned, developed and released as it is on purpose. A feature, not a bug.

This is my understanding of the phrase. :)

Gary Baker said...

Yup. It's usually a software person - computer programmer - making light of a mistake in their code.
Or a software sales person doing the same.

Cellophane Queen said...

I've have never heard of a real feature being described that way, no matter how unhelpful or annoying. It's always a real bug, but usually one that's not bad enough to re-issue the program immediately. It's just put in the change list for later.

evalyn said...

Marva got it - software issued with obvious flaws, but since it's been released, the users make a game out of pretending that the flaws were deliberate instead of shoddy or clueless program changes.

Edittorrent said...

In knitting, we say, "It's not a flaw, it's a design feature." Same idea.


Adrian said...

This gist of it is already in the answers, but I want to emphasize that it has multiple meanings:

1. A happy situation where an unintended behavior of some software has a useful side-effect. For some people, that side-effect becomes an important feature.

2. It's a way of saying that an unexpected behavior was actually intended. If it actually worked as expected, you'd have a different problem.

3. Sarcasm used by a programmer to downplay the important of an actual bug.

Of these, #3 is probably most common, at least in my world.

Christine Tyler said...

The first thing I thought of when I read the first comment was "Navi" from Zelda: Ocarina of Time.

But that's a faerie, not a bug.
Still annoying.

Jody W. and Meankitty said...

I meant to do that.

Edittorrent said...

Remus, I remember Clippy. There were websites devoted to his assassination!

Edittorrent said...

I've also heard it referring to something that the person in charge meant to happen, while pretending it was an accident.

Like planned obsolescence. The guy who designs the tire to shred at 30K miles (sorry, I'm sure they don't do that, but I just had a shredded tire and am suspicious), and he says innocently, "Oh! That's a problem!" And someone who knows that he really designed it to fail might observe, "The early shredding is a feature (planned), not a bug (an accident)."

I've also heard it used for policy that the policymaker intends to fail or have some bad consequence. Like if a draconian new policy (say, all cashiers have to work standing up all day) causes the older (more highly paid) workers to quit, it's a feature because what the policymaker really wanted was for the highest paid workers to quit.


Jordan McCollum said...

I just came across a good example, I think. The latest version of IE: whenever you try to paste into a window, it has a popup warning to verify you want to do that.

It's supposed to be a feature, but it's definitely more like a bug.

However, like others mentioned, I always think of this in a sarcastic "Oh, I meant to do that" sense, where the "feature" makes the product more difficult to use.