3

I'm not really sure if this is the best place to ask this question.

In this article, Joel Spolsky argues a case for feature bloat. In summary: the total userbase requires all the features, and if you leave a feature out, you prevent one or more of those users doing their job, and so they don't buy.

From a UX perspective, is there any further justification for the argument that bloat adds value?

4
  • 3
    I'm voting to close this question as off-topic because it isn't a UX question, but just a request to send articles about a topic.
    – msp
    Commented Apr 22, 2015 at 11:52
  • 1
    I believe this is a valid and good question which can be answered objectively. UX designers frequently have to trade off feature breadth in favor of user experience and this article provides contrarian logjc
    – tohster
    Commented Apr 22, 2015 at 15:12
  • I've edited the question to narrow the scope to a question about UX rather than a request for articles.
    – tohster
    Commented Apr 22, 2015 at 16:18
  • to the moderators, isn't this a human computer interaction question?
    – Tom
    Commented Apr 22, 2015 at 23:41

2 Answers 2

4

Joel is not always right...

The article conflates two different arguments in support of bloat. It makes the case that:

  1. Resource bloat can improve software because (a) it allows developers to ship faster; (b) it allows software to support more features, and (c) bloat is relative, meaning that if computing power grows faster than resource bloat, then in "real" or uninflated terms the software actually doesn't perform worse.

  2. Feature bloat is good because it helps address more users, because some minority of users will want to use rare features.

From a UX perspective, #1 is well-argued and mostly a point of indifference (there is some meaningful opportunity cost of resources to consider).


Feature bloat, however, is significant...

The key UX tradeoff here -- and one that many designers are familiar with -- is how to balance the marginal benefit of more features with the marginal cost in terms of learning curve, complexity, and cognitive load for users.

Adding features for the minority can worsen user experience for the majority

Here is the concept illustrated on a typical feature-frequency curve:

enter image description here

While Joel has been extremely successful as a tech entrepreneur, there are other UX-oriented entrepreneurs who have articulated this feature-usability tradeoff:

“Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features.” ― Steve Jobs

One of the huge advances in the last 10 years of UX has been the advance of minimalism and the use of design to simplify and hide complexity. The feature-usability tradeoff is still here (and there is a lot of software out there which over-simplifies features), but tradeoff absolutely remains.

enter image description here

2
  • Might worsen. Isn't it a complex analysis to determine whether it really negatively affects the user experience? Windows 95 was more complex underneath a much better interface. People were happy to upgrade despite this increase in underlying complexity.
    – Tom
    Commented Apr 22, 2015 at 16:11
  • @Tom absolutely. I actually hadn't finished the answer when you wrote your comment, so I did conclude with a note on the positive effects of design on simplifying, presenting, and hiding complexity.
    – tohster
    Commented Apr 22, 2015 at 16:21
1

Bloat by size and efficiency is very different to a bloated feature set

Feature Set

In the argument around optimal set of software features, add adding "everything" in the Kano model provides a strong way to manage the coverage of features for a population. Enables one to strike a balance between "all the features for everyone" and "enough features to make enough people very happy"

Size and efficiency

Assuming software is equally well implemented, then the point Joel is arguing is that taking space to add features is well worthwhile.

This never holds for poorly implemented software that impacts UX directly.

In many cases that is true today given huge PC capacity and all the applications delivered on-line. However what Joel in 2001 did not predict is that many of users in 2015 would have on 16GB of storage on their primary computing devices, the smart phone. So big apps are unwelcome. Also these devices have limited navigation UI, and focussed purpose applications, so lot's of features is an anathema.

In that article bloat referred to size of software download, install and RAM usage.

Assumption of Monolithic Software

A key problem of the 2001 article is it was assumed, as was prevalent Microsoft model, that all features of an application had to be contained within that application.

Prime example Joel used in article is Mozilla. Today's Chrome and Firefox browsers ship with fewer features, but can run hundreds of times more functionality thanks to extensions and plug-ins. User can pick and choose what they need. Likewise can make comparison Microsoft Word(tm) to Emacs or Sublime text.

2
  • I think he's combining the two ideas: features, and software resource requirements. The Kano model seems to be taking the choice out of the hands of the users, which I guess might be a bad idea. And isn't the original argument the same for mobile apps, since the resources available will also increase (though probably not at the same rate)? I like the point about assuming monolithic software... that certainly complicates things, but it makes me think, are there benefits of having monolithic designs that will still be valuable today? Thanks for the answer -- more to think about.
    – Tom
    Commented Apr 22, 2015 at 12:12
  • Indeed, the topic of asking a user what they want has been well thrashed through. In short don't ask the user. uxmyths.com/post/746610684/… and also ux.stackexchange.com/questions/13674/… Modular software allows a user to themselves make facilities they need. The ultimate in user power.
    – Jason A.
    Commented Apr 22, 2015 at 20:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.