John Chamberlain
Developer Diary
 Developer Diary · You Heard It Here First · Tuesday 6 January 2004
Ridiculous Code Names
A popular practice in software development is the assignment of code names to projects. This started with Apple. Before Apple most technology products had their regular name and then a version or model number. Then Apple started using cutesy code names instead of numbers. They started with personal names like "Sarah" and "Lisa". Eventually some of the code names actually became the product name. For example, Lisa, Macintosh, and Newton were all originally code names. Lately they have been moving into the felines: Puma and Panther.

Naturally Microsoft had to imitate this practice so we have Longhorn, Memphis, Chicago, Cairo, and so on. Microsoft's code names are not as good as Apples but they do have a lot more of them.

I think the idea behind code names is that the product name is way too important for engineers to decide so they just use a code name until marketing experts devise the "real" product name. Often however the product name is just a revision number. For example, Cairo was NT 4.0. Why not just call it NT 4.0 from the beginning? Because "Cairo" sounds cooler and generates more meetings, the lifeblood of Microsoft and Apple.

What you lose with code names is progression. I know that NT 4.0 is to be preferred to 3.51, but should I put my money on Panther or the Puma? It's a toss up but when you have a sexy name who cares what the product does? Apple recognized this important truth early on and developed a highly advanced code name system. They actually have two code names for each product idea, an internal code name and a public code name. The public code name is so that instead of saying "OS X 1.2 will get out of debugging any day now", they can say "Get ready for Panther!" If you were the CEO which would you rather say?

Believe it or not there are actually expensive software packages that generate code names. I wonder if marketing VPs list "Can operate code name generation program" as one of the skills on their resumes? Maybe that's what Bill does on a slow day, "Ho hum, driving the Ferrari around the parking lot is so tiresome, I think I will generate some code names. Here Ballmer, turn these code names into products!" On the other hand maybe he delegates the process to Ballmer. We can imagine Ballmer devoting an afternoon to the important task:

      Ok, shut the door, let's see, how about "Crush", no, no, bad legal implications,
      ok then "Moola" nope used that one already, hum this is hard, "Baghdad", no all
      the cities are taken already, ok, ok, how about "Bald", nope too obvious, need 
      something clever, hmmm, "Openfree" no, no sends the wrong message, I wonder what 
      adverbs are available? how about "Especially", no sounds handicapped, "Hardly", 
      "Softly", "Barely"...."Happily" -- that's it! it's perfect, get in here Smedley, 
      our new code name is "Happily"...

Another project is born...

return to John Chamberlain's home · diary index
Developer Diary · about · · bio · Revised 6 January 2004 · Pure Content