Monday, October 31, 2011
By dreeves

A rose with a hello-my-name-is tag that says 'dandelion'

Nominology is my neologism for the study of naming things. I’m that good at it!

Or at least I think I know good names when I see them. [1] To some extent this is obvious. Ideally you want a name that’s unique, evocative, and not unwieldy. But I’d like to break those desiderata down and suggest ways to make trade-offs when you can’t have them all.

If you’re the kind of nerd who’s still reading at this point, you may, rightly, be questioning my coinage of “nominology”. The word “nomenclature” is almost there, but not quite. “Nomenclature” has several meanings, including simply a name or designation, a system of naming, or a set of names. It can also refer to the act of naming. But none of the meanings refer directly to the consideration of the criteria for what makes good names. Also, with “nomenclature” it’s harder to form derivatives like “nominologist” or even “nominologize”. I take this stuff way too seriously.

Here, then, are what I consider the key nominological criteria for projects, groups, startups, and other entities. I’m even crazy enough to think this all applies to important variable and function names in source code. [2]

EVOC Evocativity Conveys at least a hint of what it’s naming
BREV Brevity Shorter = better
GREP Greppability Not a substring of common words
GOOG Googlability Reasonably unique (and domain name available)
PRON Pronounceability You can read it out loud when you see it
SPEL Spellability You know how it’s spelled when you hear it
VERB Verbability The name (or variant thereof) can be used as a verb

We could also throw in Mellifluidity (to use another over-the-top coinage). It’s true that some names just sound nicer than others and that this can trump other considerations, but it’s rather subjective. Let’s consider, then, the seven somewhat objective desiderata in more detail.


Ideally the name conveys exactly what it’s naming. That ideal is probably incompatible with the rest of the criteria, so, failing that, is the name at least somehow evocative of what it’s naming?

Though desirable, evocativity is surprisingly unimportant. A name that satisfies enough of the other desiderata (and names something cool) will become evocative over time. Examples are Google and Yahoo, or for that matter, Porsche and Ferrari.

You get a tinge of evocativity by being an acronym. Just make sure it’s pronounceable. Usually better than a straight up acronym is a portmanteau, like Microsoft (“microcomputer software”, which was probably more obvious in the 70s) or Groupon (“group coupon”).


The shorter the better! Messy Matters fares poorly here.

Mechanical Turk is an example of sacrificing brevity but making up for it in the other criteria.


Shorter is better, but not so short that it’s a substring of common words. You want to be able to grep for it in a document, or set up a google news alert for it.

If you’ve sacrificed greppability you’ve probably got something impressively short, but it’s probably not worth it. Consider the Arc programming language:

There seem to be a lot of programming languages that fail this test, like Go, and, worst of all, C.

Ning [3], on the other hand, probably made the right call in sacrificing greppability.


A name should be reasonably unique. Depending on what you might do with it, you may also want to check that the domain name is available and check for existing trademarks.

Greppability and Googlability have a lot of overlap but you can have one without the other. Like ‘Ning’ [3], the name ‘Tion’ would be googlable but not greppable, due to all the English words that end in ‘tion’. Conversely, names like ‘Amazon’ are greppable in most contexts but (before Amazon the company took over the world) not so googlable, due to the river and rainforest.

Of course, it’s not so hard to disambiguate a google query (say, by adding “books”) but a lack of uniqueness will make life difficult in various ways, such as getting monikers like facebook or twitter handles.


If there’s no way to pronounce a name other than to rattle off the letters in an acronym, I’d call that a dealbreaker. Taking that minimum bar — no alphabet soup acronyms! — as a given, doing well on the pronounceability criterion means that you can tell how to pronounce it when you see it.

Of course, even that so-called minimum bar can be ignored if you’re sufficiently awesome.


This is less important than pronounceability but ideally anyone who hears the name immediately knows how to spell it. Violating this is less of a problem than you’d think. People seem sufficiently used to alternate spellings. And mostly the name won’t be conveyed by literal word-of-mouth. You see the weird spelling and it kind of sticks. Examples abound: google vs googol, youtube vs utube, digg vs dig, reddit vs readit/redit, stickk vs stick, wii vs wee (or we or oui).

Besides, it’s often worth the hit to spellability to fare better on greppability and googlability. Or even the incremental bump on brevity (looking at you, vowel-droppers).

Here’s StickK nailing every other criterion (the extra K even lends slightly more evocativity — K is the legal abbreviation for contract) by sacrificing spellability:


Not only should you be able to pronounce it but you should be able to easily verb it. [4] Like google and xerox. (The actual name need not be the verb; e.g., twitter/tweeting, beeminder/beeminding.) You can often achieve verbability just by being sufficiently short and pronounceable.

This is arguably the least important criterion for naming something, unless that thing is a startup.

Here’s Wikipedia — an otherwise excellent name — sacrificing verbability but doing very well on the other desiderata, assuming we take ‘wiki’ to be a household term, which it may not have quite been when Wikipedia debuted.


In conclusion, I should probably point out that none of this really matters. You may have gleaned that from all the examples of smashingly successful names that ignore any number of these desiderata!


UPDATE: As soon as this went to print, Rob Felty (a linguist) informed me that the established term for what I’ve called nominology is onomastics. Scooped by 295 years!

UPDATE 2018: I should mention what’s arguably the best name I ever came up with: TagTime, for our stochastic time tracker where you tag (hashtag-style) what you’re doing at random times. I originally named that TimePie in 2007 and then changed it to TagTime in 2011. (Actually it’s possible David Yang thought of “TagTime”; I can’t remember but we could call it a joint creation.) Anyway, “TagTime” is bright green on every single desideratum. Even mellifluidity, thanks to the alliteration.


Related links

Handy tools for finding domain names

  • is ridiculously slick
  • InstantDomainSearch is great too but I hate its name!
  • tries to find available domain names that are evocative by adding prefixes or suffixes to words you specify
  • Bust a Name is similar but combines multiple words you specify
  • DomainGroovy is a website name generator that also has a very nice collection of other resources you can use for finding a domain
  • Yould is a clever tool that uses Markov chains to generate pronouncable random names
  • UPDATE 2018: Launchaco name tool
  • UPDATE 2023: several of the above links are dead now :(
  • Here’s a new one that seems good: Domatron


Bonus Puzzle: Three-for-One New Yorker Special!

  1. What is the number of shortest paths between two arbitrary intersections in (idealized) Manhattan?

  2. Prove that there are two New Yorkers with the exact same number of hairs on their heads. (Do not assume that there are at least two bald people.)

  3. Pat has a boyfriend in Brooklyn and a boyfriend in the Bronx. She likes them equally well so when she wants to see one of them, she takes whichever train (uptown or downtown) arrives first. There are the same number of uptown and downtown trains, and both arrive like clockwork, each following 10 minutes on the heels of the previous one. Pat shows up at the subway stop at entirely random times. Yet she finds that she ends up going to Brooklyn fully 90% of the time. How could that happen?


Illustration by Kelly Savage.
Thanks to David Yang, David Reiley, and Bethany Soule for contributions.


[1] I recently discussed the naming of my own startup, Beeminder. I didn’t think of that name, but did name its previous incarnation, Kibotzer. You can see the improvement:

[2] Often when we notice we’re talking out loud about some aspect of our code like “a graph where it’s good to be above the yellow brick road as opposed to below it” or “graphs for which we auto-sum the datapoints and plot the cumulative total” I’ll announce: Stand back! I’m a nominologist! And then I’ll come up with some term like “a graph with positive yaw” or “a kyoom graph” which sound ridiculous but — not to get too whorfian about it — the accumulation of such terminological refactoring can have a surprising impact on direction of development. At the risk of betraying various borderline-OCD tendencies: If it’s something fundamental and widespread in your codebase, give it a highly terse yet pronounceable neologism that you can use in conversation with other developers. Do not use underscore_separated or camelCasedPhrases!

[3] I had always thought that being a substring of common words was part of the point of Ning. It’s a platform for making community-specific social networks so you might create “”. They seem to not have had that in mind at all though, according to their blog.

[4] “Verbing weirds language.” — Calvin, from Calvin and Hobbes.


Tags: , , , ,