Thursday, March 08, 2007


Names

This isn’t the first time I’ve said this, but I’m weird.

I think that the name of a piece of software should give you an idea about what it does. A lot of people out there, especially in the open source world, don’t seem to agree with that school of thought. Too many of them try to come up with cool or clever names for their projects.

Think about it for a minute. With the exception of PDF Creator, Open Office, and RubyZip, most of the open source programs I have on this computer have names that have absolutely nothing to do with what they actually do.

While I love Firefox and Thunderbird, their names give you absolutely no idea of what they actually do. Nor does Seamonkey (formerly Mozilla Application Suite) or IceWeasel (basically a rebranding of FireFox).

This is a real problem if you want non-technical people to actually know about and use your stuff.

I practice what I preach most of the time. If there are exceptions, they are generally for a good reason.

That said, I try to name my programs things that make sense (the ones that I make for myself at any rate. The ones I’m commissioned to write get named whatever my clients want them to be named provided it doesn’t violate trademark or something like that. If they want it named “Joe Bob’s great, cool, and ultimate app,” then by golly, that’s what it’s going to be named. After all, they’re footing the bill.).

If you look at the programs section of my website, you’ll see a few programs there and they’re all named things that make sense with one possible exception.

Zipper – it zips files from the command line. I used it for setting up my entertainment center computer. It’s actually quite handy.

Sorter – you guessed it. It sorts files. However, this was not the first thing it did, nor was Sorter the original name (which is why it’s at version 1.1.1 now). It originally started out as a way to strip underscores from file names and replace them with spaces. Sorting ended up being an afterthought (largely brought on by my finding out how much of a headache it was to sort several thousand files into alphabetic directories in Windows) so I changed the scope of the project.

The original name of Sorter was Stripper. However, that just sounded bad and wrong. Think of the reaction of people looking at my programs page and seeing two programs named Stripper and Zipper. They’d probably accuse me of coding porn apps *smirk*

Sigmaker – it makes my sig file every day. I like having variety in the quotes that are at the bottom of my email sig, but I don’t want to waste time choosing a new one every day, so I spent 5 minutes or so coding something to do it for me.

Funlibs – okay, this one sort of breaks the pattern, but there’s a good reason for it. It was a fun Madlibs style program. However, I can’t call it Madlibs because that’s someone else’s trademark, so I called it something similar. Apparently I’m not the only one, because Google turns up several other people that have also called their program Funlibs.

Yes, I realize that I also didn’t open source FunLibs, but that’s because the code is fairly ugly. I was doing it for the end result and out of boredom. I didn’t expect the code to be overly pretty. However, my naming convention stands.

The point is, name things in a way that makes sense. And I don’t want to hear “well, they can just change it if they don’t like it” or “I don’t care if anyone uses it”. First off, most people do not want to dig around in someone else’s code (not even other developers). Secondly, if you don’t care whether anyone uses your program or not WHY DID YOU WRITE IT IN THE FIRST PLACE????

Writing a program without a reason to do so is just an exercise in mental masturbation. Why do it? Even if you’re just writing it to learn something new or keep your skills sharp, write the bloody thing like you intend other people to use it because that’s what you’ll be doing on the job. Format the text well, comment it so that it’s easy to follow if it has to be updated or read, and for the love of all that’s decent, name it something that makes sense.

Current mood: tired
Current music: Rammstein – Du Hast

No comments: