When Labels Stop Describing and Start Substituting: The Hidden Discipline Behind Good Interfaces and Good Language
Hatched by Peter Slater Piazza
Jul 17, 2026
9 min read
1 views
74%
The Strange Problem With Naming Things
What do a user interface button and a courtroom address have in common? At first glance, almost nothing. One belongs to software design, the other to legal language. But both reveal the same deeper problem: humans love shortcuts so much that we often begin treating labels as if they were the things themselves.
In software, we call a reusable piece of interface a component. A button should be a button everywhere, an input should behave like an input everywhere, and a card should not have to be reinvented every time it appears. In language, we sometimes take a form of address that belongs to a person and stretch it until it is applied to an institution, a court, or a legal office. The result may feel convenient, even respectful, but it quietly blurs a boundary that matters.
That boundary is the heart of the issue. Whether we are designing software or speaking formally, the real challenge is not merely efficiency. It is knowing what is being represented, what is being reused, and what should never be substituted.
The moment a label starts doing the work of a thing, clarity begins to erode.
This is why a discussion that seems to involve code on one side and grammar on the other actually points to a single, deeper question: How do we build systems of reuse without losing the identity of what we are reusing?
Reuse Is Powerful, But It Has a Boundary
The genius of component-based design is obvious. If you need a button in ten places, you should not invent ten buttons. A well-built component saves time, reduces bugs, and creates consistency. It lets you define behavior once and deploy it many times. In the best case, the system becomes easier to maintain, easier to understand, and easier to scale.
But reuse can become dangerous when we confuse shared form with shared meaning. A button is not just a colored rectangle with text. It is an interface object with state, props, behavior, accessibility rules, and context. Reuse works only because we respect its internal identity. We do not copy the visual shape and assume that is enough. We preserve the logic that makes it a button rather than a random block of pixels.
This same principle applies to language. A pronoun of treatment is not just decoration. It encodes a relationship between speaker and person addressed. When used properly, it signals respect, hierarchy, distance, or formal tone toward a human being. But when we apply that same form to an institution, we are no longer addressing a person. We are projecting a human form onto an organizational structure.
That may feel harmless, but it is a category shift. And category shifts matter.
Think of it this way. If you reuse a UI component in the wrong context, the interface may still render, but the interaction becomes awkward or misleading. If you reuse a form of address in the wrong context, the sentence may still sound formal, but the referent has changed. In both cases, the surface appears stable while the underlying logic slips.
The real discipline, then, is not simply reuse. It is controlled reuse.
The Hidden Risk of Abstracting Too Far
Abstraction is one of the most powerful tools in modern thinking. It lets us reduce complexity and build reusable systems. React is built around this intuition: instead of writing everything from scratch, we create components, pass in props, manage state, and let JSX make the structure readable. The promise is elegant: describe the interface once, then reuse it intelligently.
Yet abstraction has a shadow. Every abstraction removes detail, and every removal introduces the possibility of overextension. If we abstract too aggressively, we start believing that one pattern can cover everything. The same problem appears in language when a respectful form designed for persons gets generalized to entities, offices, or procedures. The abstraction becomes so convenient that it stops being accurate.
This is a subtle but important failure mode in all systems. We begin with a useful shorthand. Then the shorthand becomes habitual. Then habit becomes doctrine. Finally, we defend the shorthand even when it no longer fits.
In software, this shows up when a generic component gets used everywhere, even where it shouldn’t. A single modal or button component may be forced into unnatural situations because the team wants consistency more than fit. The result is brittle code and awkward UX. In language, the same pattern appears when a form of address is applied by inertia instead of judgment. The result is formal-sounding speech that no longer accurately reflects who, or what, is being addressed.
The deeper issue is not that reuse is wrong. The issue is that reused patterns must remain answerable to reality. A component must still serve the interaction. A term must still fit the referent. When they stop fitting, the problem is not that we failed to reuse enough. It is that we reused without re-checking the boundary.
Good systems do not eliminate distinctions. They make distinctions reusable without making them meaningless.
A Mental Model: Form, Function, and Referent
To connect these ideas clearly, it helps to use a three-part framework:
- Form: What does it look or sound like?
- Function: What does it do?
- Referent: What is it actually pointing to?
In React, a component has a form, such as a button, card, or input. It has a function, such as submitting a form or collecting text. And it has a referent, the actual thing it represents in the interface. A button component can look different across applications, but it must remain functionally a button. If a clickable banner is pretending to be a button, the user may be misled.
In formal language, the same framework applies. A pronoun of treatment has a form, such as honorific phrasing. Its function is to signal respect or distance. Its referent should be a person, because the social meaning of the form depends on personhood. When the referent is an entity, such as a court or department, the form may still sound elevated, but the mapping is no longer clean.
This model reveals a practical truth: clarity collapses when form and function outgrow referent.
That is why thoughtful design and thoughtful language both demand a kind of ethical precision. Not moralism, but precision. Not pedantry, but fidelity to reality. A reusable component is useful because it is anchored to stable behavior. A respectful form is meaningful because it is anchored to stable social relationships. Once the anchor loosens, the system becomes performative rather than informative.
Here is the surprising implication: the best abstractions are not the ones that go furthest. They are the ones that preserve the most important boundaries while still reducing repetition.
Consistency Is Not the Same Thing as Universality
One reason people overextend components and terms is that consistency feels like virtue. In software, consistency reduces cognitive load. Users learn one pattern and can apply it elsewhere. In language, consistent formality can create a tone of seriousness and respect. So why not standardize everything?
Because consistency without discrimination becomes flattening.
A design system that makes every element look similar can become lifeless. More importantly, it can hide differences that users need to notice. Not every action deserves the same emphasis. Not every control should be treated the same way. Similarly, not every formal setting benefits from the same address pattern. A human judge, a court office, and a legal document are not interchangeable in meaning, even if they belong to the same institutional universe.
This is where mature judgment enters. Good design systems do not erase variation. They organize it. Good language does not merely sound elevated. It assigns respect accurately. The goal is not universality, but appropriateness at scale.
Think about a library. Shelves create order, but they do not claim that every book is the same. Labels help you navigate, but they still preserve difference. A good catalog is useful precisely because it classifies without collapsing. The same should be true of both interface components and forms of address.
When you treat every institution as though it were a person, or every interface element as though it were identical, you gain simplicity at the cost of truth. And truth, in both language and design, is what makes systems trustworthy.
Why This Matters Beyond Code and Grammar
At first, this may seem like a niche concern. But the pattern shows up everywhere: in branding, management, law, education, and product design. Organizations love scalable language. Engineers love reusable architecture. Teams love templates, because templates save time and reduce ambiguity. Those are legitimate needs.
But there is always a tension between standardization and specificity. The more we scale, the more tempted we become to replace judgment with formula. And formulas are seductive because they feel objective. Yet the world resists perfect formulae. Humans are not components, and institutions are not people.
This is why overgeneralization is so costly. It creates a surface of professionalism while concealing conceptual errors. A company may adopt polished terminology and elegant design patterns, but if its labels no longer map to reality, the whole system becomes harder to trust. Users sense this immediately, even if they cannot articulate it. So do readers, clients, and legal professionals.
There is a deep cultural lesson here: precision is a form of respect. When we name things accurately, we honor their differences. When we design interfaces around actual behavior, we respect users. When we address people as people and institutions as institutions, we respect language itself.
That is why the best abstractions feel almost invisible. They reduce friction without replacing judgment. They guide without pretending that every context is the same.
Key Takeaways
- Reuse should preserve identity, not erase it. A component or a term is only helpful if it still fits the thing it represents.
- Check the boundary between form and referent. Ask whether the label still points to the right object, person, or system.
- Avoid letting consistency become an excuse for flattening. Standardization is valuable, but only when it leaves room for meaningful distinctions.
- Treat precision as a design principle. Whether in code or language, accuracy builds trust.
- When something feels convenient but slightly off, investigate it. That discomfort often signals a category error worth fixing.
Closing the Loop: What Good Systems Actually Do
The deepest link between reusable components and proper forms of address is not technical or grammatical. It is philosophical. Both ask us to build systems that can scale without becoming false.
A good interface does not merely repeat itself. It repeats itself in ways that remain true to the user’s needs. A good formal expression does not merely sound respectful. It respects the structure of what is actually being addressed. In both cases, the achievement is not repetition, but disciplined repetition.
Perhaps that is the real lesson: mature systems do not confuse convenience with correctness. They make reuse possible only after they have clarified what may be reused, where, and why. The more elegant the system, the more carefully it protects the line between similarity and identity.
So the next time you build a component, choose a label, or reach for a familiar form of address, ask a sharper question: Am I preserving meaning, or just copying a shell? The answer will tell you whether your system is truly scalable, or merely repetitive.
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 🐣