Tech companies spend a lot of time and money coming up with cool names for their products: just think PlayStation, iPod, Xbox, even Windows - iconic monickers all.

But the name you see printed on the box is usually the last in a long line that range from the brilliant to the downright bizarre. Would you have stumped up for Microsoft Frosting, for example? Doubt it.

Yet tech companies use names like these all the time - partly as a way of easily identifying a product from others that engineers are working on; and partly as way of obscuring what a product might be.

Whistler's children

Sometimes, of course, names are picked because engineers simply can't think of anything better. Sometimes they're simply a reminder of good times, just look at the number of code names Microsoft engineers came up with after a design retreat to the Whistler Blackcomb resort in Whistler, British Columbia:

• Whistler - became Windows XP - named after the resort

• Freestyle - became Windows XP Media Center Edition 2003 - named after a terrain style at Whistler

• Harmony - became Windows XP Media Center Edition 2003 - named after a ski lift at Whistler

• Emerald - became Windows XP Media Center Edition 2004 - named after a ski lift at Whistler

• Longhorn - became Windows Vista - named after a bar in Whistler. Which explains everything when you think about it.

• Blackcomb - became Vienna, now Windows 7

Over the years Microsoft has come up with hundreds of code names for its products - partly because it simply makes so many different kinds of software, from consumer to mobile to business. But some products also get multiple names attached as did Windows CRM 4: it became known as Titan simply because some Microsofties couldn't spell its original name of Kilimanjaro correctly.

The Apple Gumby

Apple also liked to use multiple code names. One of its first products - the Apple //c was known as ET, llb, llp, Pippin, VLC, Chels, Jason, Moby, Lollie, Sherry, Zelda, Elf, Yoda, Teddy and Lollie before it took it final name, while one of the code names for another early Apple was Gumby.

Of course it's the most famous Apple products we're interested in here: the original Bondi Blue iMac was known as Columbus, Elroy, Tailgate and C1 among Apple engineers, before it was finally announcedi in 1998 while the first iPod was simply called Dulcimer.

One of the reasons why multiple code names get attached to a product was Apple often used different names with external suppliers and partners, while using different ones again internally. This enabled Apple to keep tabs on sources of potential leaks - you'd know instantly who the culprit was if a certain code name started being bandied around online, for example.

Apple's obsession with secrecy has now sadly even consigned names such as Baby Badger (for the AppleDesign Powered Speaker MkII) to history. Engineers now refer to products using proper code names - N82 being Apple's internal name for the iPhone 3G.

Of course sometimes code names are something that everyone can share - a practical measure that's adopted with some passion by the creators of Ubuntu Linux.

Meet Warty Warthog

Different versions all have very distinctive names comprising an animal name, along with a jokey characteristic that describes it .e.g. Gutsy Gibbon being the alternative handle for Ubuntu 7.10. It is, of course, a lot easier to remember the name because of that too. How else would remember what's different about each of these Ubuntu releases:

• Ubuntu 4.10 - Warty Warthog

• Ubuntu 5.0.4 - Hoary Hedgehog

• Ubuntu 5.10 - Breezy Badge

• Ubuntu 6.06 - Dapper Drake

• Ubuntu 6.10 - Edgy Eft