Sunday, 12 June 2011

On The Naming of Things

Naming things is hard.

Really hard.

Even the Lord delegated the responsibility of naming the animals to Adam :)

I have recently been involved in some new projects. In general projects need names, and preferably something catchier than 'Project June 2011 #1'. Occasionally there will be a semi-autocratic statement from on high defining a naming convention. For a while we had projects named after local villages, for instance. But such initiatives inevitably get forgotten or ignored after a few iterations. Engineers seem to resent any such imposition and prefer to come up with their own ideas, a natural consequence of the pure, undiluted Not Invented Here coursing through their veins.

It's something of a relief to see that our customers, many of whom are major manufacturing entities, seem to suffer from the same problem. We work on projects named after mountains, rivers, planets, moons, gods (a veritable panoply of pantheons), and a whole bunch of names that don't make a lot of sense. [Such names may make more sense if you're from the relevant country, of course. This may simply be a lack of local knowledge on my part.] But consecutive projects from the same company typically have completely unrelated names.

Big companies also use project names as a sleight of hand. If the name 'Project Thor' slips out or is leaked, there's nothing to tie that with the imminent release of a new version of some trendy smartphone. There are also occasional stories of companies deliberately creating dummy project names in an effort to track down the source of previous leaks. If corporate group A is told of dummy project Alpha, group B is told of dummy project Beta, and the tech websites start humming with rumours of the forthcoming awesomeness that is project Alpha, well, somebody in group A is going to be having a chat with HR.

But I die a little every time I get involved in a conversation or email thread about what to call a new project. It inevitably results in a long and pointless discussion that generates more heat than light. Everyone has their own ideas, typically based on showing how clever/well read/hip/funny they are, and tends to think that other people's ideas suck. Interestingly it's relatively easy to get concensus on the suckiness of an idea, as opposed to agreement that it's good. In general I'm quite happy to be just given a name to use, even if it's self-evidently sucky, as it's much easier than having to come up with a good idea myself, or to engage in the dreaded Naming Discussion.

The nature of my company's business is that we tend to work either on customer projects, which come complete with their own name, or on our own firmware. For the latter we have a defined naming convention based on the capabilities of the silicon/firmware combo. As a result it's actually quite rare for us to have to have a completely standalone initiative needing its own moniker.

The one project name I'm personally proud of is Hawkeye. This is the name I gave to a tool I wrote to graphically display debug data in real time as it is received from one of our embedded chips. However the first few builds of this (long before I let anyone else see it) were called Alethiometer. The name comes from the His Dark Materials trilogy by Philip Pullman, and refers to a device that always tells the truth. This seemed apt, and also served to show how clever/well read I am. But even then I knew that it needed a better name. I found it entirely by accident when I caught some Wimbledon coverage on TV. Hawkeye is the name of the instant replay system used to adjudicate when a player contests a line call. The name had the right air of exacting vigilance and constant awareness I was after, and was sufficiently removed from the target domain to avoid any confusion with my tool.

More recently one of my colleagues has been struggling to come up with a name for a web-based tool to automate some of our design processes. He came up with a series of names, all of which were rejected internally. And so the project has been known at various stages in its lifecycle as Trinity, Twoflower, Rincewind, and Dubery. The last was suggested by management, and was instantly rejected by the engineer concerned, who countered with Aegis. This has been deemed an acceptable compromise, as it is a real word, sounds cool, and although nobody's really sure what it means, it has a pleasing air of classical scholasticism about it.

The issue of project naming and constructive dissembling doesn't just apply to paranoid tech companies either. The movie industry frequently assigns dummy names to nascent projects to preserve some secrecy about forthcoming releases. For instance Steven Spielberg once put out a call sheet containing disinformation about a shoot-out between aliens and cowboys. Which was funny, except that it was instantly all over the internet, picked up momentum, and in a meta-twist of cosmic proportions the movie "Cowboys and Aliens" is about to be a major summer release starring Daniel Craig and Harrison Ford. And I for one will go and see it based purely on the title - which is genius.