Skip navigation.
KDE Developer's Journals

define: Featuritis

seele's picture

Featuritis is a condition in which the functionality of an application increases with each revision (and such, complexity increases). The functionality that aggravates this condition is usually that which a single user (or group) requests (or is given) without consideration of the implications it has on the rest of the users, interface, and experience the application is meant to address.

Don Norman goes in to great length about this in The Design of Everyday Things: "Complexity probably increases as the square of the features: double the number of features, quadruple the complexity. Provide ten times as many features, multiply the complexity by one hundred."

Adding functionality and features to an application are not bad things, if the benefits are kept in balance with the necessary learning, memorability, and ease-of-use required of the application. These additions become negative when the features obstruct unrelated tasks (cluttered or confusing interface), are not worth the training time (a lot of learning for a simple or infrequently used task), cost more to develop than will return (ROI), and etc.

As Creating Passionate Users describes it:

Featuritis curve

This is where good usability engineering comes in to save the day. Good user profiles, requirements analysis, usability and ROI goals can help identify a good feature from a bad feature. Some features may be harder to evaluate and may require additional user profiling or usability testing to see if it is really something users want. Ideally, features which may cause featuritis can be identified early on, and eliminated or evolved to provide a better experience with the application.

The moral of the story? Just because you can, doesn't mean you should. Bigger isnt always better if you can't use the tool. And sometimes you may just need some TLC from your friendly usability geek.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
stevea's picture

plugins?

Isn't this a supporting case for Plugins/Extensions? It seems to work fairly well for the applications that use such an architecture.

geiseri's picture

IMHO YES!

KDE has an awesome component system. Users/System Admins/Distributor should be able to tweak apps to their needs WITHOUT patching the piss out of them. If features in our image viewers where plugins my wife could have a SIMPLE image viewer that could zoom and rotate images. That's all she cares about.

datschge's picture

I respectfully disagree (partly)

I dislike the notion of "bad feature". Usability is also just a feature. And users want features since they equal this with usefulness (who doesn't like taking the famous "bloated" swiss knife when backpack tarvelling). What they tend not to like is being faced with complex interfaces and having to look up how to do this and that (equal extra work, equal a decrease in the perception of usefulness). "Featuritis" thus is a misnomer since not the feature itself matter (they may well be useful by itself) but the way they are presented, organized, how easily they are findable and usable in a particular user's workflow without hindering. People who know about the features can adapt their workflow, but adapting ideally shouldn't be necessary. I know that in effect I would most likely be saying and proposing the same, but it's exactly this used vocabulary (the words I put in quotes above) which in my experience makes many (technical) people wary of anything declared "usabilitiy", and this isn't neccessary imo.

seele's picture

Usability is not a feature!

Usability is not a feature, it is a requirement.

Saying usability is a feature is like saying good code is a feature, or that it runs every time you execute the application is a feature. Its part of the development cycle, its not something you add on after the fact.

As for the swiss army knife, you take it with you for backpack travelling, but you dont use it at the dinner table. Sure, it has a cork screw for that bottle of wine, several blades of choice to dissect your meal, and a tooth pick for after dinner, but are you really going to use it?

Dont get me wrong, complex tasks, have complex interfaces, but they can still be usable. Its when the over abundance of features interferes with understanding of the application, learnability, satisfaction, performance, etc. that it becomes a negativism. What happened to K.I.S.S? An application can do too much, especially if it is many things not well.

ita_'s picture

related solutions

As a developer there are perhaps two thing that can save a project from a premature featuritis:
* stick to the usecases
* learn to say no

Power-user (representing a minority of the users) often have very strong opinions on what should be done and can persuade developers fairly easily. Some developers are also very sensitive to users feedback and do not always have clear objectives (especially when they code for the fun of it).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.