

The complexity of user experience - martinkl
http://martin.kleppmann.com/2012/10/08/complexity-of-user-experience.html

======
overbroad
The biggest problem I see that has plagued software design and the neverending
quest for features as a means of recruiting users is...

Large, monolithic do-it-all programs.

Users too often have no choice over what functionality they can acquire or
reject. If they want one feature, then in order to acquire it they are often
required to accept numerous other features they don't need and maybe don't
even want (because it makes the software more complex).

Whether intentional or not, UNIX design addressed this problem by separating
functions into small, discrete, and often trivial programs.

But there is still a very strong general idea among developers that to acquire
one thing, you must accept everything. It's an interesting psychology. This
goes beyond features in programs and applies even more generally to how
working materials (code, docs, etc.) are made available. Packaging eveything
together is good when you want everything and do not want to have to acquire
each part and assemble them yourself. But it can be counterproductive when you
want only one or a few parts and not everything.

Examples of this are everywhere.

Frameworks. Combined source trees. Huge tarballs of many disparate programs
form various sources packaged as a "system".

It is possible to separate the parts but not always easy. There is often an
implied expectation that you will not try to separate them. This type of
kitchen sink packaging often makes extra work for anyone wanting to just
obtain one part and not the whole enchilada.

One of my favorite examples is multi-GB Microsoft downloads in order to obtain
a few commandline utilities of several KB, e.g., WAIK.

I have seen one person attempt to solve this by mounting the ISO over HTTP and
then extracting the desired given KB-sized program. This is slightly less than
"convenient".

When things are packaged this way, it can make the job of tackling complexity
just a wee bit more challenging.

------
seestheday
I'd also like to add: way too many people think they're good at UX. I know
enough about it to know I'm mediocre at it. It takes a tremendous amount of
experience/skill to get a ux for something that has any amount of complexity
to be easy to use.

Same problem with design/creative. Lots of people think they're good at it.
Once you learn a little you'll find out that you don't know anything and
you're pretty bad.

