Interface Design Labors: Feature-Creep

by Luke Wroblewski April 29, 2004

Feature-creep occurs on two levels. The first is during the design phase of a project and can loosely be defined as “the tendency to add just another little feature until the whole product is overwhelmed with them”.

Sometimes these features are responsible for meeting user needs more effectively; sometimes they help a product achieve business goals; sometimes they do neither; but they always mean more work for the design team. Where does this new concept fit into the Information Architecture of the application? What impact does it have on the rest of the interface? Very soon a well-thought out interface can become littered with tools and content that fall into a “miscellaneous” bin. Of course, one might argue that an interface design needs to have a framework behind that is able to scale and effectively accommodate new functions and content. But the very notion of “scaling” an interface brings us to the gates of featuritis.

“Features are often the currency of software development and marketing” (Dave Fore, Cooper).

An effective interface design not only meets user needs, but also achieves business goals. The problem is that there is an endless pool of user needs to meet (“wouldn’t it be cool if…”) and business goals are always derived from a “grow or die” mentality. As a result, our products continue to grow and each redesign of a software package brings more features (frequently driven by new technologies). Mac OS X 10.2 boasted “150 new features” more than 10.1. Sounds great, but every last one of those adds more complexity to the interface and more challenges for the design team.

All that said, feature creep often does a lot of good for interface design strategies. We need to innovate to accommodate featuritis (that makes for interesting design problems); we need to revisit our users to understand when and how they may use new features (that better informs our understanding of their needs); we need to think in terms of frameworks and flexible designs that can grow or change as technology and user needs change; and, perhaps most importantly, we need to form mutually beneficial relationships with marketing, product development, and business units (that means aligning our goals and learning the language of other disciplines). After all, it’s when these considerations are in alignment with user experience strategies that great products get made.