Power of Easy
Something being easy makes a huge difference in how often it is used. Even small frictions can add up and make a task less desirable.
In the book Nudge, Thaler and Sunstein talk about how small changes to defaults impact major decisions like whether they donate their organs and how they save for retirement. Whenever you’re designing something make it as easy as possible for people to do the desired thing; and make sure it’s easy from their perspective - where they don’t care about the product they’re using but the task they are trying to achieve.
People will often work around obstructions to their action in the easiest way possible. The EU-mandated Cookie banners are worthless because they colour the “accept” banner in a highly salient colour and make it easy to press, while obstructing the task you’re trying to perform (viewing the website). Back in the days of installing software to your computer this used to be abused by bundling a bunch of adware in with the default selection being “install it” as most people click through as fast as possible; it’s still true for End User Licence Agreements.
But when the friction becomes too much people will just avoid doing the task. Simple things like a credit card form complaining about spaces can be frustrating enough to stop people. When designing security it’s worth thinking about how easy it will be for people to do this; making it hard for people to share files the “secure” way inevitably leads to people finding egregious workarounds like uploading to external third party services.
I find AWS very hard to use. The web interface is terrible, the command line interface is too low level to be usable and the APIs are very low level too. Security tends to be complex and easy to get wrong. I’m pretty sure everywhere using AWS writes their own tooling to make it easier to use, which seems crazy given the number of companies using AWS. Thankfully some people have released some usable wrappers like fastec2.
I think awareness of easy is growing but a lot of software engineers still underestimate how powerful easy is. Making it easy to get started for people trying to achieve a task is very powerful. These can quickly get you into good habits.
A good trick is to write simple command line interfaces or web pages for internal APIs or perform common functions. It’s very easy to do quickly and can quickly build up a capability.
If you want to do more of something, make it a little easier to do. If you want to do less of something, make it a little harder to do. It’s remarkably effective; much more than it should be.