Back PJ Onori’s blog

In defense of hard

Once upon a time, software was a tool used in a professional setting. That seems like a lifetime ago. Software is now engrained in daily modern life. Far from the professional tool, it’s for everyone. Usability and ease-of-use were less of a concern (if any concern at all) before this shift. Software companies could rely on training and manuals to make up for unintuitive interfaces. That all changed as software became more consumer-focused. A strong emphasis was put on reducing friction and cognitive load to encourage adoption — and it worked. The problem is that it may have worked too well. As software becomes more frictionless and intuitive, there’s less inconvenience to remove. With most of the annoying and unnecessary friction gone, we’ve started to cut the kind of friction that can be vital to growth and accomplishment. In doing so, we’re stripping out the opportunities for positive experiences.

When easy becomes vapid

The line between simple and simplistic is subjective. No one wants unnecessary complexity. However, we cross the line when simplifying a concept negatively impacts the user. An example is the ubiquitous auto spell check feature in today’s software. While convenient, it can become a crutch leading some unable to adequately proofread.

Vapidity lets people down

Designers put immeasurable time and resources into removing cognitive load from our daily interactions. On the surface, there is nothing wrong with this, yet, overemphasis on easy comes at a cost. This effort often results in a shallow derivative of the subject’s original form, trivializing both subject and user. The premise for removing difficulty is justifiable. Many people feel intimidated when presented with too much complexity. Yet the conclusion to remove complexity at any cost misses the mark. The simplification-at-any-cost approach leads to potentially innovative solutions being dead on arrival if they have the unfortunate side-effect of a learning curve.

Simplistic products give a false impression of competence which removes the incentive to learn. This illusion of aptitude ultimately wastes peoples’ time. It either creates dependency on the product or let-down when people discover their domain knowledge was never adequate.

An example of trivializing important, complex experiences is found on The website takes the burden out of sharing your condolences by writing them for you.

There should be nothing easy about writing the condolences for the loss of a loved one. This is a prime example of how over-simplifying tasks robs opportunities for growth. When we automate something so fundamentally human, we strip out our most essential experiences. Making the naturally complex unnaturally simple treats neither the subject or the user with respect. This denies people the skills they need to perform a task when it inevitably becomes necessary.

No one advocates for designing solutions that are unnecessarily obtrusive or convoluted. We should not need to “walk in the snow uphill both ways” for every single thing we do in our lives. Yet we should also not create the false impression that one can walk downhill both ways.


Our goal should be to transform the difficult into rewardingly challenging. While nothing below is particularly new, they are still worth noting.

Challenge people (in the right ways)

Expect more of your users and make your product worth their time. Some of our most rewarding moments come from overcoming challenges. Not the convoluted, time-wasting moments, but the difficult, yet important tasks that we had to work through. Why then would we shy away from presenting these types of opportunities to our audiences? Software should expect or even a demand people to learn and grow to “get to the good stuff”.

Determining the correct level of difficulty is necessary for a fulfilling experience. Too elementary, and the value to engage is questionable. Too onerous and immediate frustration kicks in. Regardless of its difficulty, this equilibrium is crucial to maintaining a state of flow. Mihaly Csikszentmihalyi states one of the three conditions for flow is, “… a good balance between the perceived challenges of the task at hand and his or her own perceived skills. One must have confidence that he or she is capable to do the task at hand.”

Honest trumps simple

Superficially presented subjects lead to superficial understandings of them. In dumbing down our language, concepts and processes, we often warp their true form. Some tasks are just tough. Some require weeks, months, or years of practice to become proficient. That’s OK. It’s our responsibility to be upfront about this and to help encourage/empower users’ growth. It’s irresponsible to insinuate a shortcut exists when it doesn’t.

Simple, with depth

Some of the most successful products don’t take much time to learn, but take a long time to master. This comes from drawing out the subject’s full complexity until the user is ready for it. The elementary is obvious, the advanced is more subtle. An example of this is the OS X close button’s unsaved state. If a file has unsaved changes, the close button will have a dark dot in the middle.

Explicit? No. Yet I doubt that was the intention of this design decision. It was there, adding depth to the experience if/when it was noticed, but not critical if missed.

Articulate the importance of complexity rather than avoid it

If a subject is naturally complex, work to make it no more complex than it needs to be — but no less. People are not averse to complexity, but they need to know it’s worth their time and energy. Educating them on how to do something is not enough, there should be education on why it’s important. People enjoy learning if the subject is engaging.

Challenging users in the correct manner will lead to them being more self-sufficient. Informed users have a better idea of what they want and can better articulate why they want it. A person engaged with a subject is more willing and able to grow with it.

The task to make difficult processes simple, while preserving their true form is significant. Selling it to people can be even more difficult. For myself, the debate is not whether it is necessary, but where the line is drawn. No matter where each of us land on this line, if designers take the easy way out, we can expect no better from users.