All other things being equal, the simplest solution is probably the best. That’s the basic understanding of what Ockham’s razor tells us, an adage named for 14th century English logician, William of Ockham. In other words: Keep It Simple, Stupid.
Ockham’s razor as it informs design decisions in software and web application development can perhaps be best embodied by the 37signals Getting Real approach, which counsels developers to underdo the competition. “Do less than your competitors to beat them,” says the company in their book Getting Real. “Instead of oneupping, try one-downing. Instead of outdoing, try underdoing.”
37signals explains that, among other things, less means “less features” and “less options/preferences.” The idea is that simplicity will yield technology that is easier to use and more elegant. But Northwestern Professor and former Apple Vice President Don Norman disagrees. Writing for the Association for Computer Machinery’s Interactions magazine, Norman argues that simplicity is not the answer and does not necessarily lead to better design.
“Simplicity is not the goal. We do not wish to give up the power and flexibility of our technologies,” writes Norman. “The garage door opener may be simple, but it hardly does anything. If my cellphone only had one button it certainly would be simple, but, umm, all I could do would be to turn it on or off: I wouldn’t be able to make a phone call.”
People actually want more features and functionality. They also want ease of use, he says, but there is a popular false dichotomy that equates simplicity with ease of use, and features with capability. Norman lays out the following, which he says is an implicit assumption:
- Features ==> Capability
- Simplicity ==> Ease of use
“These two statements translate into simple logic,” says Norman. “Everyone wants more capability, so therefore they want more features. Everyone wants ease of use, so therefore they want simplicity.” But Norman argues that this is false logic. “The arrow goes left to right: this says nothing about the right to left direction. So extra capability does not require more features. Similarly, ease of use does not require simplicity.”
People very likely do want more capability and easier to use products, but to deliver those things doesn’t require that designers succumb to feature creep or make simplicity a design rule. Norman lays out some design rules to create better products that are easier to use but don’t sacrifice capability in the name of simplicity.
- Modularization – Break up big, complicated tasks into smaller, more manageable ones.
- Mapping – The relationship between actions and the results they bring about should be clear.
- Cohesive conceptual models – People should understand what they’re supposed to do, what doing it makes happen, and what’s expected of them. “See any Apple product,” says Norman.
“The argument is not between adding features and simplicity, between adding capability and usability,” Norman writes. “The real issue is about design: designing things that have the power required for the job while maintaining understandability, the feeling of control, and the pleasure of accomplishment.”
The Principles of Beautiful Web Design, 4th Edition
Learn PHP in One Day and Learn It Well
Docker for Web Developers