The Best Systems Do Not Remove Friction. They Give It Somewhere to Go.
Hatched by Peter Buck
Aug 25, 2026
11 min read
1 views
91%
What if the most humane feature of a system is not what it helps you do, but what it temporarily prevents others from asking you to do?
A crowded subway can be loud, dirty, delayed, and intrusive. Yet inside it, a passenger may experience something unexpectedly precious: a few minutes in which nobody is requesting a response. The same paradox appears in software. We automate a process to make it smooth, then discover that the tools fail, connections break, data arrives in strange forms, and exceptions multiply. What looks like inefficiency may reveal a deeper design problem: the system was built to eliminate friction without deciding who should absorb it when reality refuses to cooperate.
These two situations seem unrelated. One concerns public transportation and visual order. The other concerns software automation. But both expose the same question:
Can a system create dependable relief without pretending that complexity, interruption, and human judgment have disappeared?
The answer requires rethinking what we mean by good design. Reliable systems do not simply remove obstacles. They shape friction, contain it, and turn it into a boundary that protects attention.
The Hidden Service of a Harsh Environment
We usually evaluate environments by their obvious qualities. Is the train clean? Is it fast? Is the interface intuitive? Is the workflow automated? These are reasonable questions, but they miss a less visible service that some environments provide: they establish a temporary social contract.
On a subway, everyone is physically close, but social interaction is often restricted. The carriage imposes a kind of mutual nonengagement. You may be surrounded by hundreds of people and still receive a small zone of psychological privacy. The environment is not comfortable in the conventional sense, yet it can be liberating because it suspends the expectation that you are available.
This is why a commute can become a form of recovery. Those minutes are not necessarily productive. They may not advance a project, improve a skill, or generate a measurable output. They simply interrupt the stream of demands. A person gains strength not from doing more, but from being briefly released from response.
The distinction matters because modern design often treats every pause as a defect. If a passenger is waiting, the system should optimize the wait. If an employee has spare attention, an application should fill it. If a customer has not clicked, a notification should bring them back. We have built an economy around converting every unclaimed moment into an opportunity for action.
But availability is not the same as capacity. A person can be reachable and still be unable to think. A system can be connected and still be unreliable. A process can be automated and still demand more supervision than the manual version.
The subway’s strange gift is that it makes nonavailability legitimate. It gives a person an excuse, a physical setting, and a socially understood reason not to answer. The harshness of the environment helps create the boundary. No one expects a thoughtful email reply while you are underground, pressed between strangers, moving through a tunnel.
In other words, the subway does not provide solitude by removing people. It provides solitude by constraining interaction.
Automation’s Uncomfortable Lesson
Software automation promises a different kind of relief. Connect the tools, define the rules, and let the process run. A new customer enters a database, an invoice triggers a notification, a form sends information to a reporting system. The visible ambition is to remove repetitive work so that people can focus on more valuable activity.
Yet tools and connections fail in unexpected ways. A field changes its name. A service becomes unavailable. A user enters a date in an unfamiliar format. A permission expires. One system quietly truncates information that another system considers essential. The automation works perfectly for the standard case and behaves disastrously at the edges.
This is often described as a technical challenge, but it is also a problem of social design. Every automated process distributes responsibility. When the system works, responsibility becomes invisible. When it fails, someone must notice the failure, interpret what happened, decide whether the result can be trusted, and repair the consequences.
If those responsibilities were never designed, they land on whoever happens to be nearby.
A supposedly automated report may therefore create a new kind of labor. Someone checks whether the data looks plausible. Someone watches for silent failures. Someone reconciles two systems that disagree. Someone answers the customer whose request disappeared between a form and a database. The process has not eliminated work. It has moved work from the center of attention to the margins, where it is harder to see, schedule, or value.
This is the software equivalent of a public space that claims to offer privacy while continually interrupting its occupants. The system appears efficient because it hides its demands. But hidden demands are not absent demands. They are simply assigned without consent.
The crucial design question is therefore not, “How do we automate this task?” It is:
“When the normal path breaks, who is expected to notice, decide, and recover?”
That question exposes the connection between the quiet subway ride and the unreliable automation. Both involve the management of human attention. One protects attention through physical and social constraints. The other often consumes attention by disguising exceptions as rare accidents.
Friction Is a Budget, Not a Bug
A useful way to think about systems is to treat friction as a budget. Every process contains difficulty. The only choice is where that difficulty appears, when it appears, and who pays for it.
A subway may impose friction through waiting, crowding, fixed routes, and limited access. In exchange, it creates predictable periods in which passengers are not expected to negotiate every movement or answer every request. The system is unpleasant in some dimensions, but its boundaries are legible.
An automated workflow may appear frictionless at first. A few clicks replace a manual sequence. But if the process cannot handle exceptions, friction returns later in a concentrated form. The employee who inherits a broken workflow pays with urgent investigation, duplicated work, and anxiety about invisible errors.
This suggests a simple equation:
Total friction = visible friction + hidden friction + recovery friction.
Visible friction is the waiting, form filling, confirmation, and deliberate checking that users can see. Hidden friction is the monitoring and mental effort that users perform because the system does not make its needs explicit. Recovery friction is the cost of repairing a failure after the normal path has collapsed.
Good design does not always minimize the first category. It minimizes the total.
Consider a payment system that asks for one additional confirmation before transferring a large sum. That step is visible friction. It may feel slower, but it can prevent an expensive recovery process. Or consider a data import tool that refuses an ambiguous date rather than guessing. The refusal interrupts the workflow, yet it makes uncertainty visible while correction is cheap.
By contrast, a system that accepts everything and quietly guesses may feel elegant. It also creates a delayed liability. The error appears later, after it has been copied, aggregated, and trusted. What looked like convenience was merely friction deferred.
The same logic applies to attention. A notification that arrives immediately may reduce the sender’s friction, but it transfers the interruption to the recipient. A policy that expects instant replies makes communication easy for the requester and expensive for everyone else. A platform that removes every pause may increase activity while reducing the ability to think.
Friction is never removed. It is reassigned.
The ethical question is whether that reassignment is visible, proportionate, and reversible.
Designing Protected Intervals
The strongest connection between public transit and automation is not that both can be efficient. It is that both can create, or destroy, protected intervals.
A protected interval is a bounded period during which a person, team, or system is allowed to operate without constant interruption. It can be a subway ride, a batch processing window, an office hour with notifications disabled, or a ten minute review period before an automated action becomes permanent.
Protected intervals have three properties.
First, they have a clear boundary. People know when the interval begins and ends. A vague request to “focus more” is weak because it provides no social protection. A meeting free block from nine to eleven, with a shared expectation that nonurgent messages wait, is stronger.
Second, they limit incoming demands. The point is not merely to make concentration desirable. It is to reduce the number of things competing for attention. A system that offers a focus mode while continuing to send urgent looking alerts has preserved the appearance of protection without creating the condition itself.
Third, they include a recovery path. When the interval ends, missed information must be findable, prioritized, and easy to process. Otherwise people will resist the interval because they fear that disconnection creates a backlog they cannot control.
Automation needs the same architecture. A process should not merely execute the normal case quickly. It should create a safe interval in which the system handles routine work while preserving a clear channel for uncertainty.
For example, imagine an automated customer support workflow. Simple requests receive immediate responses. Requests involving refunds, unusual account histories, or conflicting information are not forced through the same pipeline. They enter a review queue with the relevant context attached. The automation has not failed when it asks for judgment. It has succeeded by locating judgment where it belongs.
This is a better model than trying to automate everything. Automate repetition, not responsibility. Let software gather information, apply stable rules, detect anomalies, and prepare options. Keep accountable human decisions visible, especially when the consequences are difficult to reverse.
The subway offers a parallel lesson. Its route, signage, doors, and platform boundaries constrain choices so that passengers do not need to renegotiate the entire environment every minute. Constraints are not the opposite of freedom here. They are what make a small amount of freedom possible.
A person can read, stare out the window, or do nothing because the environment has already settled many questions on their behalf.
A Practical Test for Humane Reliability
Before adding an automation, notification, or integration, ask five questions.
-
What attention does this system claim to return? Name the specific relief. Is it fewer data entries, fewer status checks, fewer interruptions, or fewer decisions?
-
Where will uncertainty appear? List the likely mismatches, missing information, outages, permissions problems, and unusual cases. If the answer is “someone will notice,” the design is incomplete.
-
Who pays when the normal path fails? Identify the person who investigates, communicates, repairs, and absorbs the reputational cost. Make that work explicit.
-
What should the system refuse to guess? A trustworthy boundary is often more valuable than a broad promise of seamlessness. Refusal can preserve data quality and human attention.
-
What protected interval does the design create? If the system runs successfully, what uninterrupted time becomes available? If no one receives protected time, the automation may simply be relocating labor.
These questions can be applied to a personal workflow as easily as to an enterprise system. Turn off nonessential notifications during a defined block. Use a single place for tasks that require review. Add a confirmation step before irreversible actions. Create an exception queue rather than allowing anomalies to disappear into a successful looking dashboard.
The goal is not maximum automation or maximum solitude. Both extremes can be harmful. Total isolation prevents coordination, while total connectivity prevents recovery. The goal is controlled permeability: a system that allows necessary signals through without making every signal equally urgent.
Key Takeaways
-
Treat friction as a budget. Do not ask only whether a process is faster. Ask where its difficulty has moved and whether recovery costs have increased.
-
Design for exceptions before optimizing the normal case. Decide who notices failures, who makes judgments, and how the system communicates uncertainty.
-
Create protected intervals deliberately. Define periods when people can work, travel, think, or rest without being expected to respond.
-
Make boundaries visible. A system should clearly show what it can handle, what it has rejected, and what requires human review.
-
Automate repetition, not responsibility. Use software to reduce mechanical effort while preserving accountable decisions at the points of ambiguity and consequence.
The deepest mistake in modern system design is assuming that a better experience means a smoother surface. Smoothness can be deceptive. A road covered in ice is smoother than a road with visible gravel, but it is much less trustworthy. A workflow that never interrupts may be less humane than one that occasionally stops and says, “This needs a person.”
The subway’s paradox gives us a better standard. A system can be harsh in its materials and still generous in what it permits. It can crowd us physically while giving us psychological room. Software can do something similar, but only if it stops treating every interruption as a failure and every exception as an inconvenience to conceal.
A truly reliable system does not promise that nothing will go wrong. It ensures that when something does go wrong, the problem becomes legible, the responsibility has an owner, and human attention is not consumed by surprises that the design could have anticipated.
Perhaps the purpose of good design is not to remove every obstacle between us and action. Perhaps it is to build enough structure around us that, for a little while, we are free from having to react to everything.
That is a more demanding definition of efficiency. It measures not only how much work a system completes, but how much of a person it leaves intact.
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣