Click here to Skip to main content
13,863,424 members
Click here to Skip to main content
Add your own
alternative version

Tagged as



2 bookmarked
Posted 28 Aug 2012
Licenced CPOL

Ockham's Razor: Simply Sharp Design

, 28 Aug 2012
Rate this:
Please Sign up or sign in to vote.
All other things being equal, the simplest solution is the best.

Ockham's Razor is known as the law of economy. It states, "All other things being equal, the simplest solution is the best." The concept was developed by William Ockham. He was a 14th-century English logician and authored the statement, "Plurality should not be assumed without necessity." The phrase Ockham's Razor first appeared in the works of Sir William Hamilton in 1852. Its modern representation is best known as KISS, or Keep It Simple, Stupid. Apple is known for their simplicity. It extends from their hardware and software through to their packaging. Another unlikely proponent of simplicity was Albert Einstein. He continually re-examined his scientific theories in the name of simplicity. He stated, "If you can't explain it to a six year old, you don't understand it yourself."

In software development, simplicity can be a differentiator. Its pursuit can also save time and money. Unfortunately, many individuals associate simplicity with minimalism. Although one may afford the other, a well crafted design executes the proper balance between simple and functional. Simplicity in software design focuses on removing barriers. Too many buttons, a cluttered interface, a loud color, and excessive navigation are a few examples. Each of the previous examples have a simple solution: remove a few buttons, clarify the interface, tone down specific colors, and reduce navigation options. Although removal and reduction are common steps to achieving simplicity, they should not compromise the design. The goal is to reduce cognitive load. Pushing the envelope is healthy but user experience should not be sacrificed. Simplifying a design can also help anticipate and eliminate barriers and obstacles.

Every developer has witnessed a cluttered screen with an excess of features, fields, and information. From this, a common response to simplicity is, "I'm not sure we can make this better. Everything is needed." This is where proper definition helps. It's important to define the purpose of each screen and its features. With that definition, priority for each item should be assigned without duplication. Assigning priority, at a minimum, should include business value and expected use. The prioritization process provides a natural grouping of essential versus ancillary features. If a design isn't flowing, ask what can be removed before looking to add more. An easy way to simplify a complicated interface is through the use of a wizard or advanced user option. It's important to focus on the primary use and make that as easy as possible. If a design's simplicity is unclear, solicit feedback from users foreign to the product. Don't forget to take notes.

Final Thoughts has made simplicity their business model. Unlike Amazon, Woot sells one product a day, regardless of inventory limitations. They found success and have fought hard to retain their approach. Simplicity has broad implications and reaches a wide variety of topics. Although recent relevance has magnified, it has deep roots. It continues to resonated throughout modern history. Many notable individuals have supported this philosophy. Take heed as they did:

  • "Simplicity is the ultimate sophistication." -Leonardo da Vinci
  • "Less is more." -Mies Van Der Rohe
  • “Nature is pleased with simplicity.” —Isaac Newton
  • "Our life is frittered away by detail. Simplify, simplify." -Henry David Thoreau
  • "The greatest ideas are the simplest." -William Golding


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

You may also be interested in...

Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web04 | 2.8.190214.1 | Last Updated 28 Aug 2012
Article Copyright 2012 by Zac Gery
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid