The Principle of Least Effort
Tags: programming, architecture, psychology, design
Published: 2021-11-15 14:15:32

Start with two restaurants. They’re identical in almost every way — the same kind of location, same style and quality of food, same ambiance, same everything —but there is one key difference. The website of restaurant A has a very simple booking page right there at the front — when you want to book it’s instant. The website of restaurant B is full of mouth-watering snapshots of the menu, but any contact details are buried deep within the site and even then it’s just a phone number.

Customers are lazy (and hungry), they take the path of least resistance. For restaurant A, since it’s trivial to book, customers are knocking the door down. Sadly, restaurant B, isn’t quite as popular. Because there is a barrier to entry a lot of customers give up and go elsewhere.

## The principle of least effort

The principle of least effort can be found in a lot of disciplines — evolutionary biology, economics, psychology, software design.

> “… animals, people, and even well-designed machines will naturally choose the path of least resistance or “effort”.” — Wikipedia

The idea was best documented by researchers in the information science field. Their assertion was that someone looking for information will use the most convenient source, not necessarily the best or most comprehensive one. A user will use the tools that they are most familiar with or are nearest to hand as long as the information they receive meets some minimal standard.

If you have a question, you’re likely to consult a friend with limited knowledge of a subject rather than tracking down an expert (e.g. a mechanic, financial advisor, medical professional, etc). It’s quicker and much less effort, not to mention less expensive.

This goes some way to explain the scourge of misinformation spread by social media. Facebook, Twitter, Instagram, (Medium?) are very palatable, easy to consume, nagging you to take a look, and are curated by algorithms to suit your very specific tastes. A newspaper takes more effort to consume (and certainly has it’s fair share of issues) but reading an informative book, or even conducting research, takes a lot more effort so we commonly fall into the trap of consuming from the most poisonous source. Information is readily available on Facebook but it’s often the wrong information, hence the epidemic of populism, anti-vaxxers and the like.

## Simple communication

One form of The Principle of Least Effort was popularized by the linguist George Zipf. Without diving deep into the probability, Zipf’s law has implications on the way we communicate.

> “… neither speakers nor hearers using a given language want to work any harder than necessary to reach understanding …” — Zipf

Communication is effort, and we don’t want to use any more energy than necessary doing it. Unfortunately business writing in particular, tends to be over-complex and full of jargon. Rather than trying to impress with your power over the language, keep emails and documentation simple. Keep them short and to the point.

Rather than presenting a problem — which can be taxing for the reader to understand — present a few solutions. It’s far easier to pick from a couple of simple options than to completely digest and unpick a problem from first principles.

## Make it easy to do the right thing

Years ago I worked for an IT consultancy. Every week we had to fill in not one but three separate time-sheets, each for different departments! Guess how often everybody logged them all on time, if at all — never. It was a complete waste signing into three different applications to log the same information in triplicate.

If something is difficult or time consuming, it won’t get done. If a shortcut is available, it’ll often get used as an alternative to an “official” process. This has implications for interface design, library design, security and more.

A UI should lead its users to naturally perform the correct action. An API or library should be intuitive to use and should align closely with [The Principle of Least Astonishment](https://notmattlucas.com/the-principle-of-least-astonishment-97fb95c0b57).

Billion dollar businesses have even been built from this principle. In 2010, connecting to payment systems, such as PayPal, was frustrating and often involved tricky integrations. John and Patrick Collison founded Stripe with the aim of allowing software developers to plug-in with just a few lines of code. Developers flocked to Stripe because of the simplicity it provided, it became the path of least resistance. Stripe is now valued at 95 billion dollars!

## Further reading

* [The Principle of Least Effort — Wikipedia](https://en.wikipedia.org/wiki/Principle_of_least_effort)

* [Zipfs Law — Thoughtco](https://www.thoughtco.com/principle-of-least-effort-zipfs-law-1691104)

* [The Principle of Least Effort Week 46 of Wisdom — Unearned Wisdom](https://unearnedwisdom.com/the-principle-of-least-effort-week-46-of-wisdom/)

* [The Law of Least Effort — Crowdspring](https://www.crowdspring.com/marketing-psychology/law-of-least-effort/)

* [Microservices, make it easy to do the right thing — Martin Fowler](https://martinfowler.com/articles/microservices.html#MakeItEasyToDoTheRightThing)

* [Zipfs Law — Britannica](https://www.britannica.com/topic/Zipfs-law)

* [Startup Lessons: How Stripe Created A $35 Billion Giant](https://www.forbes.com/sites/tomtaulli/2019/09/20/startup-lessons-how-stripe-created-a-35-billion-giant/?sh=63536d335060)

## A final word

This post was written as part of a series on laws of software development for #PragProWriMo 2021 run by the [The Pragmatic Programmers](https://medium.com/@pragprog).