Eddie Osmani: Paralysis of Choice

This is a translation of the post “Front-end Choice Paralysis” by Addy Osmani, published July 1, 2014.

In front-end development, we constantly encounter such a problem as an abundance of choice. We see an abundance of tools, frameworks, languages, abstractions, and platforms. Such a choice is, of course, good for competition and further development, however, faced with so many options, you can fall into a stupor. Instead of making your choice, you feel abandoned, with a sense of uncertainty in front of a huge bunch of options. This is not necessarily a front-end development industry problem — this is a human nature problem.

Let's take a simple example - let's say we want to watch a movie on Netflix.

A week ago, I wanted to watch a movie there. I stole a couple of hours, which, I thought, would be enough to select and view something.

But I didn’t even think about the fact that since the last time I performed this action, some time has passed. The Netflix catalog has replenished with hundreds of new films, and I began to choose. And choose. And choose again. Gotta see Twilight! Or Twilight 2. Or 3. An endless tale about a girl who must choose between a pumped up press and a steady addiction. Avatar! The film is about how the Blue Man Group went to Jurassic Park.

Too many choices, I felt excited. In short, there was paralysis of choice. For an hour I was trying to choose a movie that would suit me, and I managed to watch it less than half when the time was up. My subscription now looks to me like a difficult relationship, which you are usually afraid of ending.

Psychologist Barry Schwartz described this phenomenon in his 2004 book, The Paradox of Choice , in which he proved that eliminating too many options can reduce consumer fatigue.
He summed up a very interesting experiment by Sheena Iengar and Mark Lepper:
“When the researchers installed [in the grocery store] a stand showing a number of jars of exotic, high-quality jam, buyers could try the samples, and if they bought a jar, they would receive a discount coupon of $ 1. Once for tasting 6 varieties of jam were available. On the other - 24. Both times all 24 species were available for purchase. A wide selection attracted more buyers to the table than a small one, however, on average, people always tasted about the same number of types of jam. However, when it came to buying, the difference became apparent. 30 percent of people tasting jam from a small set bought it; and only 3 percent of the people who made the choice from a variety of options did the same. ”

The fact is that with an abundance of choice, your uncertainty about which option suits you the most increases. Instead of being happy with your decision, you feel tired. Did I choose? Maybe it was better to choose something else? What did my friends choose? Maybe it was better to ask them? I do not want to seem stupid. You fall into the pit, wondering if you have missed the opportunity to get something better. How many times have you reviewed the technology stack that you use?

When you have so many choices, you can also overestimate your expectations. Maybe you even think that if you wait a bit, you will find the “most suitable” option. It is clear that in this scenario, the right choice should be breathtaking. However, often when it comes to light that the “right” choice is one, you feel unsatisfied. Such high expectations are difficult to satisfy, and you remain in this state of dissatisfaction.

Javascript has the so-called “Another Framework Syndrome” (how many solutions for MVC, rendering templates or data-bindings do you have?), Perl has the syndrome “There is more than one way to do this”, and Python has “Must have the obvious way to do this, ”Zen development in Python.

We all need to start being realistic in our expectations. Competitions can easily coexist, but perhaps a developer with a passing interest in a tool or framework will get more from less choice than someone who has a strong interest and rich experience in using only a limited set will get from a wide selection.

If you are an experienced developer, talking with someone who is stuck when choosing a solution, help him simplify the task. This is a great experience, it can help narrow down your choices to a state that won't look intimidating. Even removing a few points from the list of options can give a person the opportunity to clarify the situation for themselves and choose something that he can at least evaluate before making a decisive choice.

Also popular now: