In the realm of digital product development, an old and pervasive adage holds true: “There are only two hard things in Computer Science: cache invalidation and naming things.” Attributed originally to Martin Fowler and popularized across the software engineering community by Phil Karlton, this sentiment strikes a chord with every designer, front-end engineer, and product manager.
Language is not merely a tool for communication; it is the very framework through which we conceptualize problems and negotiate solutions. When teams struggle to agree on the nomenclature for a color palette, an icon library, a complex user interface (UI) component, or a functional feature, the friction extends far beyond semantics. It introduces operational drag, fractures cross-functional collaboration, and ultimately degrades the user experience.
When names are too generic—such as calling a button .btn or a container .wrapper—they lose contextual meaning, forcing developers to dive into deeply nested source code to understand their purpose. Conversely, when names are too rigid and specific—such as .dark-blue-submit-button-homepage-v2—they stifle flexibility, preclude reuse, and quickly become obsolete when the product inevitably evolves.
This comprehensive guide explores the structural anatomy of naming in modern product design and engineering. Drawing from elite industry frameworks, crowd-sourced repositories, scalable design token taxonomies, and cross-functional alignment strategies, this article serves as a masterclass in establishing a cohesive organizational lexicon.
Detailed Chronology: The Evolution of Naming Frameworks in Digital Design
To understand how the tech industry arrived at today’s sophisticated taxonomies, it is helpful to trace the evolution of how we label digital elements.
The Wild West of Class Names (Early Web Era)
In the nascent days of the web, naming conventions were largely ad-hoc. Developers relied on idiosyncratic abbreviations, personal preferences, or layout locations rather than semantic value. A sidebar might be styled using .left-col or .red-box. As applications scaled, this localized thinking resulted in massive stylesheet bloat, specificity wars, and cascading style sheet (CSS) breakdowns when layouts shifted from left to right.
The Advent of Methodologies (BEM and Beyond)
Recognizing the unsustainable nature of unstructured class names, the industry introduced methodical naming structures in the early 2010s. The BEM (Block, Element, Modifier) methodology popularized by Yandex transformed front-end development by introducing predictable, modular naming conventions like .block__element--modifier. This era forced teams to think in terms of component-driven architecture, even before component-driven development frameworks like React and Vue dominated the ecosystem.
The Rise of Design Systems and Tokens (Present Day)
Today, the challenge has grown exponentially more complex. Modern organizations no longer build isolated web pages; they build multi-brand, multi-platform, multi-themed design systems. A single color token must now bridge the gap between Figma design files, Android and iOS native mobile apps, and enterprise web applications. Consequently, naming has evolved from a developer-centric afterthought into a foundational design architecture discipline.
Supporting Context & Metrics: Resources and Methodologies for Modern Naming
Mastering the art of naming requires looking outside of one’s immediate team and leveraging established community resources. Leading organizations have begun treating naming infrastructure as a first-class citizen of their design operations (DesignOps).
1. Breaking Out of Lexical Echo Chambers: ClassNames
When struggling to name HTML classes, CSS properties, or JavaScript functions, designers and engineers often fall back on a tired vocabulary. To help teams think outside the box, Paul Robert Lloyd developed ClassNames (classnames.paulrobertlloyd.com), a curated resource featuring thematically grouped lists of words tailored for code architecture.
Rather than relying purely on technical jargon, ClassNames supplies terms categorized by behavior, likeness, grouping, association, and unconventional domains such as architecture, fashion, theater, music, and publishing. By tapping into rich semantic vocabularies, developers can assign evocative, highly descriptive names to abstract code concepts.
2. Standardizing the Spectrum: Managing Color Taxonomies
Color naming has long been a subjective battleground. One person’s "cerulean" is another’s "sky blue" or "cornflower." To solve this at scale, David Aerne maintains a massive repository known as Color Names (github.com/meodai/color-names), housing over 30,000 unique color designations sourced from user contributions and historical references.
Complemented by tools like Color Parrot (parrot.color.pizza), this ecosystem provides developers and designers with precise, programmatic, and human-readable names for arbitrary hex codes, eliminating guesswork and standardizing color communication across design handoffs.
3. Layer and Group Hygiene in Design Tools
In collaborative design tools like Figma, messy layer panels are productivity killers. Javier Cuello outlined a definitive set of best practices in his Design Naming Guidelines (goodpractices.design/guidelines/naming), emphasizing that an effective layer or component name must possess a logical structure:
Concise and Meaningful: Avoid overly verbose strings; prioritize immediate clarity.
Universal Comprehension: Names must be easily understood by both junior and senior team members, as well as stakeholders.
Decoupled from Visual Properties: Avoid naming layers after transient visual styles (e.g., avoid Blue Box when the backing token might shift to dark mode; instead, use Container Primary).
4. Enterprise Token Taxonomies: The Intuit Case Study
As organizations scale, managing design tokens becomes a critical engineering challenge. Nate Baldwin documented how the product ecosystem at Intuit—parent company to Mailchimp, QuickBooks, TurboTax, and Mint—tackled this hurdle.
Intuit engineered a flexible design token taxonomy capable of transcending individual brand themes. By establishing a rigid hierarchy separating primitive values from semantic roles, the Intuit design system team created a unified language that supports diverse financial and marketing products under a single architectural umbrella.
Official Statements and Industry Insights
Industry leaders consistently emphasize that naming is an upstream UX problem. When internal or external systems suffer from poor vocabulary, friction cascades through the entire product lifecycle.
"The right name is the one that is well-understood and actively used by both the team and the users," notes interface architecture expert Vitaly Friedman. "So much time is wasted speaking about the very same thing but in different dialects—the designer’s dialect, the developer’s dialect, the product manager’s dialect, and the user’s dialect. That fragmentation is what quietly sabotages productivity."
This sentiment is echoed in feature discoverability studies. Product strategist Erin Gannon, in her landmark guide “What Do We Call This Thing?”, argues that feature adoption failures are frequently rooted in poor naming choices rather than inferior code or design:
Value-Driven Language: Feature names must signal the ultimate outcome or user benefit (the "job-to-be-done").
User-Centric Lexicon: Teams must actively listen to how users describe their own workflows, adopting user vernacular rather than internal corporate acronyms.
Furthermore, multi-brand organizations like Vodafone UK have formalized these insights into concrete tooling. The Vodafone UK Variables Taxonomy Map on Figma demonstrates how to architect a multi-tiered token system that spans four distinct levels—ranging from raw brand primitives to page-specific semantic assignments—building directly upon foundational work by design systems pioneer Nathan Curtis.
Future Outlook: The Next Frontier of Semantic Architecture
As artificial intelligence, automated code generation, and multi-modal design tools become ubiquitous, the importance of pristine, logical naming conventions will only intensify.
AI-Assisted Semantic Validation
In the near future, design systems will increasingly incorporate automated linters powered by large language models (LLMs). These tools will evaluate incoming component names against organizational glossaries in real time, flagging ambiguous terms (like temp or box2), detecting naming conflicts across multidisciplinary repositories, and suggesting token mappings aligned with established semantic structures.
The Convergence of Design and Code Tokens
With the maturation of W3C Design Token Community Group specifications, the gap between design tool variables (Figma variables, Tokens Studio) and code tokens (Style Dictionary, JSON outputs) is rapidly closing. Future-proof organizations are investing heavily in automated synchronization pipelines where a single naming change cascades seamlessly from designer canvases to production component libraries without manual intervention.
Conclusion: Wrapping Up
Naming is an ongoing organizational discipline, not a one-time setup task. By leveraging curated community repositories like Iain Bean’s Component Gallery, Romina Kavcic’s Design Token Naming Guide, and Onym’s product naming frameworks, teams can drastically reduce cognitive friction.
Investing time in establishing a clean, unified lexicon pays compounding dividends. It eliminates cross-departmental dialects, bridges the gap between design intent and engineering execution, and ultimately builds more resilient, accessible, and intuitive digital experiences for everyone.