Executive Overview

In the realm of software engineering, web development, and digital product design, there is a legendary adage attributed to computer scientist Phil Karlton: "There are only two hard things in Computer Science: cache invalidation and naming things." While developers have long lamented the friction of finding the right moniker for a function or a CSS class, the challenge extends far beyond the codebase. Today, multidisciplinary teams across design, product management, and engineering grapple with a persistent cognitive hurdle: finding a shared, unambiguous vocabulary for colors, UI components, layout layers, design tokens, and entire product features.

The language we choose does more than just label elements on a screen; it fundamentally shapes how we think, how we communicate, and how our systems scale. When teams suffer from linguistic fragmentation—speaking in divergent dialects where designers use one set of terms, developers another, and product managers a third—the resulting friction manifests as low feature adoption, bloated style sheets, fragmented design systems, and pervasive user confusion.

This comprehensive guide explores the structural anatomy of naming across the digital product lifecycle. Drawing on industry-leading methodologies, open-source repositories, and enterprise case studies from organizations like Intuit and Vodafone UK, we examine practical strategies, resources, and mental models to help cross-functional teams establish a harmonious, scalable taxonomy.

A Practical Guide To Naming Things — Smashing Magazine

Detailed Chronology: The Evolution of Naming Challenges in Digital Products

To understand why naming remains such a friction point in modern product development, it is helpful to trace how digital artifacts have evolved and how the burden of classification has shifted over the past two decades.

The Early Web: Ad-Hoc IDs and Inline Styles

In the nascent days of the web, naming was largely an afterthought. Developers relied on idiosyncratic, localized naming conventions—often utilizing arbitrary IDs (#content2, #left-sidebar-old) or relying entirely on presentational tags. Because applications were monolithic and teams were small, the cost of poor naming was localized. A poorly named div rarely brought down a global enterprise system.

The Rise of CSS Methodologies and Design Systems

As web applications matured into complex, dynamic interfaces, the lack of scalable naming conventions led to catastrophic maintainability issues, famously characterized by cascading style sheet (CSS) spaghetti. This catalyzed the invention of structured naming methodologies:

A Practical Guide To Naming Things — Smashing Magazine
  • BEM (Block, Element, Modifier): Introduced a strict mental model (block__element--modifier) to scope styles and prevent global namespace pollution.
  • SMACSS and OOCSS: Provided architectural frameworks for categorizing rules based on layout, state, and appearance.

Despite these engineering frameworks, a significant chasm remained between the design tools (such as Sketch and early Figma files) and the code repository. Designers named layers Rectangle 40 or Group Copy, while developers tried to map those layers into semantic code structures, resulting in a permanent translation tax during handoffs.

The Design Token Era and Multi-Brand Complexity

Today, the industry has entered the era of design tokens—agnostic, platform-scale variables that store design decisions (colors, typography, spacing) to power multi-platform, multi-brand experiences. Systems like those managed by Intuit and Vodafone UK must now support dozens of products, regional variants, and thematic modes simultaneously.

In this hyper-connected ecosystem, naming is no longer just about writing clean code; it is about establishing a unified taxonomy map that bridges brand identity, design primitives, semantic application layers, and component-specific states. A failure in token taxonomy today ripples across mobile apps, web properties, and marketing sites, making structured naming an operational imperative.

A Practical Guide To Naming Things — Smashing Magazine

Supporting Context & Metrics: The Cost of Semantic Misalignment

Why should organizations invest precious engineering and design hours into optimizing their naming conventions? The answer lies in cognitive load, workflow velocity, and user adoption metrics.

The Cost of Linguistic Fragmentation

When product teams operate in isolated silos, they develop insular vocabularies:

  1. The Designer’s Dialect: Focuses on visual composition, spatial relationships, and aesthetic hierarchy (e.g., Primary/Blue/600, Hero-Banner-Large).
  2. The Developer’s Dialect: Focuses on DOM structure, state management, and reusability (e.g., flex-col-reverse, btn-primary-active).
  3. The Product Manager’s Dialect: Focuses on business value, metrics, and user journeys (e.g., Onboarding-Step-Two-Conversion-CTA).
  4. The User’s Dialect: Focuses on immediate utility, plain-language intent, and real-world tasks (e.g., "Save my progress", "Next step").

When these four dialects fail to align, communication breaks down. Studies in human-computer interaction and organizational workflow suggest that teams spend up to 20% of their collaboration time clarifying what specific UI elements or metrics refer to.

A Practical Guide To Naming Things — Smashing Magazine

Feature Adoption and Discoverability Metrics

The stakes are exceptionally high when naming user-facing features. UX research consistently demonstrates that poor feature adoption is rarely a reflection of low utility; rather, it stems from poor discoverability rooted in ambiguous naming.

  • The Job-to-Be-Done Principle: Features named after internal engineering architecture (e.g., DataSync Module v2) routinely suffer from abysmal user engagement.
  • The Plain-Language Advantage: Features named around user outcomes and immediate value (e.g., Auto-Save Archive) experience significantly higher initial discovery, faster comprehension, and smoother integration into existing user workflows.

Practical Frameworks: Tools and Strategies for Every Naming Challenge

Navigating the vast landscape of nomenclature requires more than intuition; it requires systematic tools and reference frameworks. Below is a curated breakdown of resources and methodologies categorized by the artifact being named.

1. General Code and Class Names: Classnames

When struggling to find evocative, non-generic names for HTML classes, CSS properties, or JavaScript utility functions, developers often fall back on overused terms like wrapper, container, or box.

A Practical Guide To Naming Things — Smashing Magazine

To break out of this creative rut, resources like Classnames (curated by Paul Robert Lloyd) offer thematically grouped lists of words. Moving beyond standard technical terminology, these collections draw inspiration from nature, art, theater, music, architecture, fashion, and publishing. By incorporating terms that describe behavior, likeness, order, and grouping from outside traditional computing vocabulary, teams can create expressive, memorable class names that avoid generic ambiguity while maintaining semantic clarity.

2. Color Palettes and Design Tokens: Color Names & Token Taxonomies

Naming colors programmatically or systematically has always been a subjective minefield. Is a hex value #3b5998 best described as blue, facebook-blue, slate-azure, or something more poetic?

  • Color Names Repository: Maintained by David Aerne (meodai), this massive open-source repository aggregates over 30,000 unique color names sourced from diverse references and thousands of user contributions. Accompanied by interactive pickers like Color Parrot, it provides a reliable standard for programmatic color naming.
  • Design Token Taxonomies: Enterprise systems require structured hierarchies. Drawing on foundational work by Nathan Curtis, modern design systems organize tokens into multi-tiered architectures. For instance, Vodafone UK’s Variables Taxonomy Map illustrates a robust four-tier structure connecting brand primitives, themes, semantics, and page-level applications. Similarly, Romina Kavcic’s Design Token Naming Guide & Builder offers interactive tools and inventory spreadsheets that allow teams to configure token structures incorporating components, categories, states, and roles without losing track as systems scale.

3. Layers, Groups, and Components: Good Practices & The Component Gallery

In design tools like Figma, unorganized layer panels destroy collaboration velocity. Javier Cuello’s guidelines on design naming best practices establish a core rule: an effective name must have a logical structure, remain short and meaningful, be universally understood within the team, and avoid direct reliance on transient visual properties.

A Practical Guide To Naming Things — Smashing Magazine

To solve the perennial question of what to call specific interface elements, Iain Bean’s Component Gallery aggregates real-world examples from dozens of design systems. Covering over 50 UI components—from accordions to visually hidden elements—the gallery documents alternative names used across the industry. For a quick visual reference, tools like Name That UI act as an indispensable visual dictionary for product teams.

4. Products, Services, and Features: Onym & User-Centric Lexicon

When naming consumer-facing products, services, or internal features, internal consensus can easily blind teams to real-world reception. Erin Gannon’s practical guides emphasize that feature naming must be driven by user needs and the "job-to-be-done" framework.

  • The Prototyping Rule: Ask target users to explain a new feature in their own plain language during user testing. Mirroring their vocabulary in the final interface copy drastically improves discoverability.
  • Onym Repository: For overarching product naming, open-source repositories like Onym provide structured brainstorming methodologies, vetting tools, etymological guides, and frameworks to navigate trademark checks and avoid cautionary naming pitfalls.

Future Outlook: The Horizon of Automated and Semantic Design Systems

As the digital product landscape continues to evolve, what does the future hold for naming conventions and taxonomy management?

A Practical Guide To Naming Things — Smashing Magazine

1. AI-Assisted Semantic Consistency

With the rapid advancement of Large Language Models (LLMs) and AI-driven development environments, we are moving toward automated semantic linting. Future design system tools will likely feature intelligent linters that scan both design files and codebases in real time, automatically flagging naming inconsistencies between a Figma component (Modal/Dialog-Confirm) and its React counterpart (<ConfirmationPopup />). These tools will suggest unified nomenclature based on enterprise-wide token taxonomies, drastically reducing manual audit overhead.

2. Automated Token Translation Pipelines

As multi-brand and multi-platform design systems scale, the manual mapping of design tokens to platform-specific code (iOS, Android, Web) is becoming fully automated through W3C Design Token Community Group formats. Standardizing the syntax of names will allow continuous integration (CI) pipelines to auto-generate documentation, styling variables, and accessibility attributes directly from a single source of truth.

3. The Convergence of Design and Code Vocabularies

Ultimately, the future points toward a complete linguistic convergence. As design engineering tools mature and design-to-code fidelity reaches parity, the historic divide between the designer’s dialect and the developer’s dialect will narrow. By adopting shared mental models, rigorous taxonomies, and community-backed resources, modern teams can finally conquer the age-old challenge of naming—turning what was once a source of constant friction into a seamless foundation for digital innovation.

Leave a Reply

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