Sal Cangeloso’s brief article on Linux application names caught my eye yesterday morning. Having just come away from a struggle with cryptic Linux/Unix command names the evening before, I was in the mood to reflect on the importance of giving a name. I’ll come back to my struggle. First I want to talk about cars.
If there’s one industry that’s given a tremendous amount of thought to naming, surely it is the automotive industry. Auto makers don’t choose names that directly describe their products (else I would be driving a “Geo Small Slow Car” rather than a “Geo Metro”). Auto makers, at least from my observation, carefully choose names for their visceral, emotional appeal, and then they carefully build a brand around each name to reinforce their choosen image. The Ford Mustang is a good example. Ford carefully associates “Mustang” with wild horses, freedom of the open range, youth, vitality, strength, speed(!). And then the car itself is marketed to a demographic that wishes they had all those things. Customers don’t buy a car, they buy an image. The key is that the name is consistently reinforced by images, by logos, by a product that can be emotionally associated with the name, and so forth. Ford Mustang is a well-known and successfull brand.
In the open source world, I see similar success in the names of Mozilla’s flagship products: Firefox and Thunderbird. It used to be that when you said “Thunderbird”, that I thought of the car. Now my first thought is of email. Mozilla has taken common, easy to pronounce words such as “fire” and “fox”, “thunder” and “bird”, and combined them into colorful and easily pronouncible product names. And Mozilla has backed those names up with advertising, with promotition, and with colorful logos. (And don’t underestimate the value of those great logos)
(As a side note here, I often wonder about all the “K-names” for KDE applications. KDE is too locked into the cute, K thing. Gnome has the advantage here, I think, in that Gnome developers are more free to choose colorful names. No one had to worry about slipping a “G” into Mozilla’s product names.)
So I disagree somewhat with the argument in Sal’s article that application names need to be somehow descriptive of what the applications do. Firefox would be less successful, at least less memorable, were it to be called “Web Browser”. Firefox is memorable because of the colorful name backed up by a good logo and consistent marketing. Acrobat is memorable for the same reason. Even “Gimp” can be a successful name with the right marketing effort.
But I do agree that Linux command and application names, and especially command names, are often cryptic, confounding, and a stumbling block. That struggle I had the other evening? It involved the command needed to format a hard drive. I was using Knoppix to help a neighbor rescue some files from a Windows machine gone bad. We were intending to copy the files to a second hard drive that I’d just installed. Trouble was, I needed to format that drive, and the GUI didn’t seem to offer an option to do that, so it was off to the command-line for a solution. Some Googling led me to the mkfs command. Mkfs for format? My neighbor was completely confounded by that, and, frankly, so was I. (At least the command worked, and the files were saved) It wasn’t until the next morning, just before reading Sal’s article, that the probable association between “mkfs” and “make filesystem” occurred to me. Sure it makes sense now, but it is not intuitive to associate “mkfs” with “format”. And “mkfs” is not even a pronouncible word, something I feel is very important in making a command memorable and useable.
Names are important. And troublesome names are certainly not the exclusive domain of Linux. Good branding can make a name memorable (e.g.: Firefox); Descriptive naming certainly doesn’t hurt (e.g.: Notepad); Pronouncible names help me a lot (Kate is perfectly fine for an editor name). Abbreviations and truncated words often cause me to stumble (e.g.: df and mkfs). Unusual associations can make a name memorable (e.g.: Gimp).
Linux distributions, by the way, have tackled the naming problem by making their menu choices descriptive of what an application does. For example, KDE in Suse 10.0 uses “Media Player (Kaffeine)”. That’s a helpful approach for two reasons: it helps me get started on finding a media player, and it reinforces the association between “Kaffeine” and “media player”. This gets back to branding and marketing. Kaffeine is a perfectly good name (IMHO). It just needs to be backed by enough marketing for people to learn to associate the name with the function. The dual-entry menu name really helps with that.
What do you think? What makes a name work for you? What causes you to stumble?