Web Development

The Art and Science of Naming UI Components and Design Tokens

Naming is one of the most persistent challenges in software engineering and digital product design. While often dismissed as a secondary administrative task, the nomenclature used to define UI components, design tokens, and CSS variables dictates the efficiency of cross-functional communication and the long-term scalability of digital systems. When teams rely on ambiguous or conflicting terminology, they inadvertently create "dialect silos," where designers, developers, and product managers interpret the same interface elements through fundamentally different lenses. This fragmentation frequently leads to technical debt, poor feature discoverability, and friction in the user experience.

A Practical Guide To Naming Things — Smashing Magazine

The Linguistic Foundation of Digital Architecture

Language serves as the cognitive framework for complex systems. In the context of interface design, a name is not merely a label; it is a contract of intent. When a button is labeled "Primary-Blue-Large," it becomes tethered to its visual appearance rather than its functional role. Conversely, if the same button is named "Action-Main-Submit," the architecture remains flexible, allowing the underlying visual styles to evolve without necessitating a complete rewrite of the codebase.

Industry experts have long identified that the primary failure mode in naming is the lack of a standardized taxonomy. A study of enterprise-level design systems reveals that teams often struggle with two extremes: generic names that lack context (such as "box" or "item") and overly specific names that prevent reuse (such as "login-page-footer-button"). The goal of modern design systems is to find the "Goldilocks zone"—names that are descriptive enough to be understood but abstract enough to be durable.

A Practical Guide To Naming Things — Smashing Magazine

Chronology of Naming Evolution

The evolution of design systems over the last decade has shifted the focus from "pixel-perfect" static assets to "token-based" programmatic systems. Historically, developers and designers worked in parallel, often with disconnected vocabularies. The advent of design tokens—the atomic building blocks of a design system—forced a reconciliation of these two worlds.

  1. Phase 1 (The Wild West): Early web development relied on ad-hoc CSS class naming. Conventions like OOCSS or BEM (Block, Element, Modifier) emerged to provide structure, but these were largely localized to individual projects.
  2. Phase 2 (The Component Era): With the rise of React, Vue, and Web Components, the focus moved toward encapsulated UI. Naming became centered on component libraries.
  3. Phase 3 (The Tokenization Era): Current best practices involve a multi-layered taxonomy. Teams now distinguish between "primitive" tokens (raw values like color hex codes) and "semantic" tokens (functional roles like "background-surface-primary").

Essential Resources for Standardizing Nomenclature

To mitigate the risks of inconsistent naming, several organizations have developed open-source toolkits that serve as industry benchmarks.

A Practical Guide To Naming Things — Smashing Magazine
  • Classnames (by Paul Robert Lloyd): This repository provides a thematic guide for naming HTML classes, encouraging developers to look toward domains like architecture, typography, and music to find logical, non-visual categories for their code.
  • Color Parrot (by David Aerne): Managing color palettes across products is notoriously difficult. Color Parrot maintains a database of over 30,000 unique color names, helping developers move away from ambiguous labels like "dark-blue-v2" toward more descriptive, standardized identifiers.
  • The Component Gallery: Curated by Iain Bean, this resource provides a comprehensive view of how industry-leading design systems—including those from Google, Shopify, and Atlassian—name their components. It allows teams to compare the naming conventions for elements like accordions or tooltips to ensure their internal language aligns with user expectations.

Case Study: The Intuit Flexible Token Taxonomy

The challenge of scaling a design system across multiple brands is best exemplified by Intuit. Managing the design language for products as diverse as Mailchimp, QuickBooks, and TurboTax required a robust, hierarchical taxonomy.

Nate Baldwin, representing the Intuit team, outlined a methodology that separates tokens into distinct categories: Global, Alias, and Component-specific. By moving away from product-specific naming, Intuit successfully established a "shared language" that allows designers to transition between product teams without having to relearn the taxonomy. This approach underscores a vital principle: the most successful naming systems are those that decouple the what (the component) from the how (the visual styling).

A Practical Guide To Naming Things — Smashing Magazine

The Impact of Naming on Feature Adoption

The implications of naming extend far beyond the developer’s terminal; they directly impact product performance. Research by UX strategist Erin Gannon suggests that feature adoption is often hampered not by poor functionality, but by poor labeling. When a feature is named using internal corporate jargon, users struggle to map the tool to their "jobs-to-be-done."

When a feature name does not match the mental model of the user, the "discoverability loop" breaks. Users encounter the feature but fail to understand its utility, leading to stagnation. The recommended industry practice is to conduct linguistic research: observe how users describe their own workflows, and mirror that terminology within the product interface. If a user describes a process as "archiving," naming the button "Trash" will create cognitive dissonance that lowers interaction rates.

A Practical Guide To Naming Things — Smashing Magazine

Structural Frameworks for Complex Systems

For organizations managing multi-brand, multi-themed ecosystems, the Vodafone UK Design System provides a template for success. Their "Variables Taxonomy Map" illustrates the necessity of a four-tier structure:

  1. Brand: The foundational constants.
  2. Primitives: The raw design values.
  3. Semantics: The functional context.
  4. Pages/Patterns: The application-specific implementation.

This tiered approach allows for "theming" at scale. By changing a primitive value (e.g., a primary color), the entire semantic layer updates automatically, reflecting the new brand identity without requiring manual updates to thousands of individual components.

A Practical Guide To Naming Things — Smashing Magazine

Conclusion and Strategic Implications

The cost of poor naming is a "hidden tax" on productivity. When team members spend 10 to 15 percent of their time debating the naming of a new variable or component, they are effectively leaking resources that could be directed toward feature innovation.

A formal naming strategy should be viewed as a mandatory component of a product roadmap, not an afterthought. Organizations are encouraged to audit their current design systems for "naming debt" and establish a clear, documented taxonomy that is accessible to all stakeholders. By adopting the principles of descriptive, functional, and user-centric nomenclature, teams can reduce the friction of collaboration and build products that are as coherent on the inside as they are on the outside.

A Practical Guide To Naming Things — Smashing Magazine

For those looking to refine their approach, the industry is increasingly moving toward open-source documentation. Leveraging tools like the Design Token Naming Guide or the Onym repository provides a solid starting point for teams seeking to bridge the gap between abstract code and human-readable intent. In the final analysis, a clear name is the most effective form of documentation a developer can provide for their future self and their colleagues.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Jar Digital
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.