Nominology

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.

Evocativity

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”).

Brevity

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.

Greppability

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.

Googlability

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.

Pronounceability

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.

Spellability

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:

Verbability

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!

 

Related links

Handy tools for finding domain names

  • Domai.nr is ridiculously slick
  • InstantDomainSearch is great too but I hate its name!
  • Impossibility.org 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

 

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.

Footnotes

[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 “run.ning.com”. 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: , , , ,

  • http://patrickrjordan.com Patrick Jordan

    With respect to footnote [2], I would argue that a variable name should be as short as possible, but not shorter. This may vary with the group you are working with, just like any form of communication.

    For instance, on wikipedia’s naming convention page

    http://en.wikipedia.org/wiki/Naming_conventions_(programming)

    They give the example:

    weekly_pay = hours_worked * pay_rate;

    This is very concise and easily understood. By contrast,

    wklp = hw * pr;

    or worse yet

    a = b * c;

    is not easily understood without more context or referring to some convention on the use of those variable names.

    I caution the heavy weight terseness has in your nominology function, give its limiting effect on the ability to communicate intent.

    This is in contrast to naming startups, where indecipherability and weirdness seem to be positive things.

  • http://dreev.es dreeves

    @Patrick, yeah, I guess it’s an open question how much to weight the different criteria. Just a couple clarifications: This article applies to variable and function names in code to the extent that those names are fundamental and widespread in your codebase. Also, note my stipulation of “highly terse yet pronounceable”. And definitely need evocativity and greppability.

  • Arthur B.

    I youghed the therst of this article. Very wingly.

    And of course, problem answers (ROT13 encoded) http://paste.ubuntu.com/725283/

  • Joe

    Even if there weren’t already a real word for this science, we could already discard “nominology”. That neologism combines a Latin root (“nomin-“, from “nomen” meaning “name”) with a Greek root (“-logy”, from “logos” meaning “word”, “study”). It’s the reason we have “biology”, not “vitology”; “quadrilateral”, not “tetralateral”.

    Under this principle of onomastics, you should’ve chosen to name the field “onymology” or “onomology” or “nomination”. Not “nominology”. It’s of course a moot question in the light of the existence of the word “onomastics”.

  • http://kevinlochner.com kevin

    Nice post dan – I like “nominology” over “onomastics” because it evokes “nom nom nom”

  • http://bethaknee.com bsoule

    More to the point nominology is much more evocative for the layman because everyone knows what an ology is and has probably heard the root nomin- in enough places to figure it out.

  • Pingback: Mozilla Hacks Weekly, November 3rd 2011 ✩ Mozilla Hacks – the Web developer blog

  • http://mikekr.blogspot.com zbicyclist

    Do you charge for this service, or would that be phenomenology?

  • http://namevine.com Mike Jarema

    Dan, neologism and word play aside, what you’ve covered here is really the first systematic approach to naming that I’ve seen. Thanks for the post.

    I’m wondering if this system can be distilled down into a tool to measure these criteria objectively and score a name in realtime. Somewhat like a password strength indicator (eg. http://www.passwordmeter.com/) for names. I’d love to see and use such a tool.

    I think Evocativity would be the toughest to measure, with verbability a distant second. Some of the easier criteria to systematic assess are brevity, greppability (eg. against some common corpus) and googability (how many exact phrase matches does google have).

  • http://stoneglasgow.blogspot.com Stone Glasgow

    Knowing that I spend an inordinate amount of my free time reading Wikipedia, my friends and I routinely use “Wikipedia” as a verb. For example, upon learning about the existence of onomastics, I may be inclined to emphatically state my intention to “Wikipedia that shit” when I get back to my computer.

  • Pingback: The Evolution of Fireside | Khanlou.com

  • Pingback: Naming your startup | Founder Notes

  • Pingback: The Name “Beeminder” | Beeminder Blog

  • Cassandra Mae

    Hi, I just checked googlability on http://domaintyper.com/, just to see who is the lucky one who own this name. . com is taken since 2005… This article was written in 2011, so how did you mean that “domain name available”?

  • Daniel Reeves

    What name do you mean? nominology.com?

  • http://beeminder.com Daniel Reeves

    Would you change a^2 + b^2 = c^2 to horiz_leg^2 + vert_leg^2 = hypotenuse^2? I might compromise with aleg^2 + bleg^2 = hyp^2. But I think the amount of brevity you want depends critically on how ubiquitous the name is.

    Or, more generally, for ubiquitous names, weigh the desiderata and come up with something good. For nonce names, it doesn’t matter. In your example, I’d maybe go with “wage” as something short/pronounceable/greppable/etc for pay_rate.

    If you’re just computing weekly pay in one place then the self-documenting “weekly_pay” is fine, as is the other extreme of, say, p = hours_worked * wage. The opaqueness of “p” is fine if you’re just using it on the next line and never again.

  • Cassandra Mae

    googlability

  • glennonymous

    Great article, Dr Reeves. Had no idea you were a nominologist (onomast?). I note that Legion Of Fulfillment nails all the criteria except 2 and 6, at which it fails miserably. Hmmmm… (strokes beard)

  • http://beeminder.com Daniel Reeves

    I like “nominologist” but I guess it’s technically “onomastician”. Maybe if you could find an abbreviation like “legiment” or “leej” or even “l17t”… I feel like http://legionoffulfillment.com is too unwieldy…

  • Pingback: Do-Less Goals with Pessimistic Presumptive Reports | Beeminder Blog

  • Pingback: An owl by any other name: 3 steps to naming your startup | PolicyGenius

  • Pingback: Birds and The Bees: Beeminder Has Official Twitter Integration | Beeminder Blog

  • http://AdlerVermillion.com/ Eric Adler

    nicely organized theory for naming things. I linked to it in a recent naming & trademark law post – http://adlervermillion.com/how-to-trademark-part-1-law