Monday, June 28, 2010

By all means, choose a distinct name for your program

"I love screen". "screen?", you ask, "do you love your screen or screen in general, like in sun screen?". And right you are, screen is not a name, it is not even a very distinctive noun as it is so ambiguous. So, when I say "I love screen", I'm talking about the program that Oliver Laumann wrote like 23 years ago and that is probably the open source program that I have used for the longest time (basically, since it was first released).

Now, as much as I love screen, I hate its name. I guess that Oliver and his room mate pondered how to name the program for a while, maybe even for a new hours or days, and then went "Damn fuck it, we're just unimaginative hacker dudes, round corners are not yet invented, creative design folks avoid us like the plague (and we like it that way), let's call the darn thing screen and go on hacking."


Whatever name you choose for your program, make sure that it is not a word. If you absolutely want to use real words, choose at least two of them that never occur together anywhere else. Better yet, invent a word. Use Google to validate your name. Use something stupid. Get on with it.

I'm writing this because the poor choice of naming for screen bites me every day. screen has a serious bug. Sometimes, one of the screens (sic!) hangs. It then never recovers, and once one of the screens (yaaah!) hangs, it does not take long until the whole session ceases to work. In the end, even trying to reattach the session hangs. I think I do have basic Google skills, but so far I have failed to find anyone having the same problem. I can't imagine that I would be the only person to have this problem, but the name of the program makes it impossible to find that person.

You are making the life of your users much much easier if you give your programs names that are distinctive and unique. Yes, Ryan Gahl and Aycan Gulez, I'm looking at you today while I write this. :)


1 comment:

  1. This might not be helpful to me at all, but in an interview with a clojure hacker, I saw a reference to tmux (I'm not linking it on purpose (-:), which approaches screen in feature density, but is googleable and has a different set of bugs. I've switched to it two days ago and in some ways, it's slightly better than screen (its multiple session support especially is very nice).