Thursday, April 15, 2010

Naming the program - and why it is so hard

How hard it is to come up with a nice and good name for software? I don't really know, how hard it is for others, but for me, it is very difficult. Example, lets take this blog: "The Source and Me". Ok, that's good name and there is nothing bad in it, but in reality, it is just punch of words together to try told you, what you may find here. I am not so happy about it, but it is better that it could be, so it is enough for me (at least for now). Anyway, to be honest, first I was thinking something like mySource or My life with Open Source, but those two are totally stupid ones and would move the inner idea of this blog to wrong way, so let leave the name of this blog out now. The reason why Because it is one of those relatively important parts of software development.

In software development you can invent and create a new program to made your (and others) life to be bit easier. The application can be great or poor, but that is not the first thing upcoming users sees about it. First thing what they will see is The Name of It. The name is important, because it is always the first thing you see, when you start looking a new application and it is the first thing witch will create associations about it to the user (and these associations can be good or bad). In the worst case, they will leave and let application without later interest.

Of course, in later, when application has more than few users, you can find more info and reviews, just Google it. And in the later, if it is good application with lot of satisfied users, it is enough to Google the thing what program does and the operating system which you will use to run it and you got applications name in multiple reviews, hints and tutorials. Example Good web server with PHP and mysql support for Linux and you go lot of hits to Apache and LAMP installation. But of course, this works only with already known (read older) programs.

To have good and punchy name is particularly important when potential user is scrolling available applications from a program list provided by Developer of target system (for example App Store, Android Market, Ovi Store or Linux repositories). The info which usually is included in these lists is only the name and short description about the application. In case this wakes the interest, they will click the entry and get more info about application, so name had to be catchy enough to wake the interest. Or what you think, if there is two Facebook desktop widget applications on the list, other is named as FbDW and other Facebook to Desktop, even they do same thing (and even that the FbDW is better), user will still choose the Facebook to Desktop and why? Because the other one won't tell what it is or wake up the interest, it could be anything.

So, what are the good names then? This is the big question, because I don't know. It is depending in so many different things, but in my opinion, next few rules are quite good to follow, or at least know what they say:
  • Name should be unique, or what you think if every operating system is named as Windows and only thing which would change is the name of Company and version, like Apple Windows X, Microsoft Windows 7 and Canonical Windows 10.04 LTS? It could just be one big mesh (and I know, someone in the world will dream to have only one OS, but it's not me).
  • Find out how others have named their applications (whit same purpose as your) so that yours is not named exactly the same as theirs, but is close enough that it is easy to understand purpose of it. Very good examples of this are Office suites, there is Microsoft Office, then there is OpenOffice, and KOffice. But in here, you should also remember, that this is not the must have thing, you know there is also pretty good office suites like Lotus Notes too, so your application is not need to be exactly like others same kind of applications.
  • Use the name, which will told what program will do. Like HandyCalc, RythmBox and VNC Player.
  • But most important thing, more than those before is this, Use your imagination it is only important thing to remember. You can follow one of these tips, or all of them, but don't forget to use your own imagination, because in reality thats the only thing which is limiting your possibilities.Good example of this is Linux, which means Linux is not Unix.
  • I almost forget, remember to check that name you want to use is free. Do not use name which is already taken. Because it is stupid, it will just confuse the users or get them angry and in worst case it is illegal (and according of copyrights it is in many countries). And same thing is with copycat names like Mokia, Sansung, iPud etc. that's just stupid (sometimes it could be funny too, but still stupid).
So why the innovate a good name is hard to me? Even that I can write something like that above? Well, it just is. I think that most important thing in this hardness is, that I don't use so much time to think about these questions when I got an idea about application, I use more time to design the functionality and layout and code, not the name of application, need of it just pops up in some point (usually when I need application specific folders or configures) and I just quickly choose one what I got in my mind at the moment. After I have some kind of name, it will be evolve at the side during the process, it may change, or it could stay, but I won't give it a lot of time.

Because my naming method, my programs has very unique names, like DataStore, which is my personal backup tool for important folders (I had some serious moments of terror when I made my Thesis and Hard disk of my laptop decide to say Farewell for the cruel world) and Serwery, which is a simple utility to simplify some server routines. And then there is just one piece of gold, my first complete (to be released in public at the future) Maemo application pyKake, and as you can see, the name won't say nothing about application it self (except that it is written in python). I will write more about pyKake later, but shortly description is, that it will be a IR remote controller for DSLR's (currently works as Olympus. RM-1, but I will add more cameras in it in future) Name is build from two words py=python and Kake is Finnish nickname for remote control.

    No comments:

    Post a Comment