Friction in Interface Design: Slowing Users Down (on Purpose)
In case of fire, break glass then pull down.
How easy something is to achieve should be inversely proportional to its importance. Pulling a fire alarm takes two steps, verifying the intent and avoiding accidental activation — handy for how consequential the action is.
Software interfaces follow the same logic. When a quick click, tap, or swipe has the power to seal your fate (for better or worse), good user experience may call for speed humps.
Interface, meet friction.
What’s Friction in the Context of Interface Design?
Recalling physics, you’re likely familiar with friction as a concept. It isn’t inherently good or bad on its own: We’re fans when it comes to tire treads, brake pads, and trying to start a fire with sticks. That resistance is a rub, though, when looking at moving engine parts, gears, and taking a tumble on asphalt.
Interface design has the same relationship with friction as a matter of user experience. It’s good in error reduction, security, and perceived quality (more on those in a bit). It’s bad against the general application mandate that faster equals better, where examples include:
- Processes with too many steps
- Repeated actions that take too long
- The frustrating feeling that the software’s just in your way
A spreadsheet is a great example. Deleting a thousand rows at once is potentially problematic and rare, so a confirmation step seems like helpful friction. Confirming the deletion of one row is closer to the bad side of the spectrum — it’d double the length of a common task. User experience maps out these sorts of use cases alongside their relative frequency and danger, picking the right places to dial up resistance.
The Benefits of Good Friction
Deployed correctly, friction offers a way to polish an interface’s experience. Here’s a collection of examples in that light.
Avoid Unrecoverable Situations
As we’ve alluded to already, software usually has some pretty destructive features baked in. Wherever there’s a place to delete, send, change, or do something with a cascading impact, the interface requires a bit more thought. An undo button isn’t always possible, and your users will pin the blame squarely on your app.
MailChimp’s Send Confirmation
Email is a great example of something that lacks an undo, and MailChimp takes that step seriously by adding a bonus confirmation dialog. Users have an extra click to make, but they’re presented with an on-brand animation further underscoring how permanent the whole thing is. It’s abundantly clear that once completed, these messages are forever.
Google Meet’s Two-Step Join
Nothing’s quite as hard to live down as joining a meeting without pants — just ask this guy. Google Hangouts makes use of good friction with a 2-step process to join a meeting. Users are shown a preview of what everyone else will see, including the option to turn off their microphone or video.
GitHub’s Repository Deletion
A code repository can easily represent years of work from hundreds or thousands of developers, so deleting one is a big deal. GitHub dials the warning up to eleven with copywriting, styles, and ultimately requires an administrator to type the name of the repository before carrying out the operation.
Promote Security and Build User Trust
Beyond the undo-able, friction’s also an important player in the security field. As we place more and more trust in the applications we touch, anything that’ll give us a leg up around personal information and assets is welcomed.
Passwords are a pretty suspect gatekeeper on their own, and all of those sticky-notes-on-monitors out there aren’t doing security much of a favor. Multi-factor authentication slows down identity verification a bit, but it’s highly effective in blocking automated attacks.
Securing Checkout Processes
The popularity of one-click (or completely click-free) shopping is evidence of just how much we value convenience. Removing checkout friction increases revenue, so user experience becomes a balancing act between speed and safety.
Many online retailers bridge the two with a CVC re-entry step, even when the card is saved. Apple Pay goes biometric, leveraging Touch ID or Face ID. These measures are quick to satisfy while defending against more password and still-logged-in shenanigans.
Answering Questions to Join a Facebook Group
Internet security extends beyond the need to keep sensitive information safe: It’s also responsible for protecting the spaces we occupy online. Administrators of Facebook groups can add a series of questions for newcomers to fill out, helping discover spam, bots, and people with malicious intent.
Steering Towards a Happy Path
Here’s where we enter murky waters. Friction’s handy for steering users towards features and products they might’ve missed, but whether or not it’s good comes down to a question: Is this meant to help the customer or us?
Zoom’s Open Desktop App Prompt
Joining a Zoom meeting? You’re likely familiar with the recurring prompt to launch their desktop app by now. There’s an altruistic point there, offering up a number of advanced features. Whether or not taking advantage of those features helps lock you into their ecosystem is a deeper conversation.
Hulu Subscription Cancellation
Subscription cancellation is one of the better examples of bad friction, where you’re forced into discussions with retention specialists or dumped into an over-long series of confirmations designed to make you feel bad. The kind of poor behavior that inspires legislative action.
Hulu sits closer to the light, presenting outgoing users with a (potentially unknown) option to pause instead. It stands to help both sides, stopping monthly payments while leaving the door open to easily resume at a later date, data intact.
Tips, Considerations, and Best Practices
These last few examples dipped a toe in the ethically difficult ocean of friction options. When you aim to sort out the right approach for your software, here are a few pointers to keep in mind.
For the Users’ Benefit
Friction is a means to help users navigate complex interfaces, not a way to maximize revenue. Planning requires a careful look at the dangerous, irreversible, and important bits of your application, then focusing time and effort on helping people navigate those waters.
Be wary of trying too hard to be helpful, though. A two-step process for a video chat is welcome, but two actions to accept a phone call would be irksome.
Give Users Autonomy
Good friction isn’t always universal, and it isn’t always forever. Where possible, help users out with some control over the things that may slow them down.
This includes mechanisms like optional, skippable, and snooze-able. Whether it’s a tour that you can skip, a “Don’t show me this message again” option in a dialog box, or the ability to snooze a reminder, users will appreciate the freedom of choice.
Iterate on Common Stumbling Blocks
Extra reminders, steps, and checks won’t stop bad things from happening. If destructive results are still commonplace, look to other avenues — version control, restore, undo, and other viable history features.
User testing helps surface all of this quickly. Where do power users trip up? How about newcomers? Are they blaming themselves, or the application? Stumbles here are telltale signs of places in need of some extra polish.
Adding Resistance with Purpose
We’ve spent decades trying to make web software fast. It’s tricky to run against that current and identify places where ethics, security, or destructive potential benefits from a slowdown. Interfaces can be too quick.
During planning, testing, and quality assurance, make sure there’s a to-do for friction. A hundred extra clicks may still be substantially faster than a wrong one.
Everyone on your project wants to accelerate software development. But to understand what levers you can pull, you have to understand why some things take time.