Last time we talked about bizarre names in open source software. This time we’re going to address how to fix it. What constitutes a good name for software? Last time, we mentioned a trend to include within the app name a reference to the programming language used to code it.

Let’s think about that for a minute. If you see programs called phpBird or jBird, and you are a webmaster or network administrator, you might know that “php” refers to the scripting language PHP and that “j” refers to the Java programming language. If I am a normal user though, those mean nothing to me. Plus, jBird may be an actual desktop program programmed using Java or a web-based application based on Java, the latter of which is nearly useless for desktop users.

Keep in mind that for any project you have, you can (and perhaps should) use a project code name

until the new version is ready for release, at which time you give it it’s “real” name. For example, Internet Explorer 1.0 was codenamed “O’Hare” (which went well with Windows 95, codename “Chicago”) until it was actually released. Apple’s Mac OS X has used codenames to the extent that their releases are as well known by the version numbers (10.3, 10.4, 10.5) as the codenames (Panther, Tiger, Leopard). Yet most users aren’t going to know which they have. They have might know they have the “newest” version. But most likely, they would just tell you they have a Mac. But keep the release name separate.

Release names need to be neat and catchy, but they should also be somewhat descriptive. Consider the leading photo editing software. Photoshop, Photopaint, PaintShop Pro, Photodraw, PhotoImpact, and the GIMP are arguably the biggest in this arena. Do any of them stand out as if they don’t belong? Now, in the GIMP’s defense, I use it for everything and prefer it over any of the others. But the name GIMP is an acronym that stands for GNU Image Manipulation Program. Written out, it’s a lot more descriptive, if not overstated. All those other programs work, but they also have catchy names that are descriptive, all but one including the term “photo” in its name.

Do I think that the GIMP will change it’s name? Probably not. But if you make a photo editing program, include the term “photo” in your catchy name. Like PhotoEdit or something. If you program it in Java, don’t name it jPhotoEdit. The desktop user doesn’t care if it’s written in Java. And what if you, for some crazy reason, recode it in a different language? Better to go with a cool name.

A good name is sleek and cool, but also tells a user what it is that the program does. Not a feature list, but the basic reason they would use the software.