On Naming of KDE Applications

Posted by Matthias Ettrich on August 10, 2005 · 21 comments

Lately I got involved in a longish discussion on IRC around application names and how to present them. A prominent spot is of course the K-Menu, but there are others: the title and task bar, the documentation, the about box, and various context menus (as in “Open with ….”).

At some point in time, KDE used to only show application names, and some generic names for operations like “Find Files”, “Run Command”, etc. When we got more and more applications, those menus became very cryptic. This has to do with the way we picked application names. Essentially we created executable names by abbreviating what the program was supposed to do, and then added the k prefix. Then we took the executable name, upper-cased the first letter of every part, and so deducted the application name. A typical but not uncommon example is “KRegExpEditor”.

Since users were not too comfortable with names that looked like C++ classes, we added the concept of a generic name, in our UI referred to as description. For the K-Menu today, we offer the user three choices: “Name”, “Name (Description)”, and “Description (Name)”.

To pick a real example, you can choose between “KWifiManager”, “KWifiManager (Wireless Lan Manager)”, or “Wireless Lan Manager (KWifiManager)”.

SuSE goes further. They have a menu system that shows only the description as long as only one application of its kind is installed. The moment you install a second application, this description turns into a submenu which contains the “Name (Description)” entry shown before.

Example: normally you have an entry “Chat” under “Internet”. If you click on it, it will run kopete. If you don’t like kopete as IRC client, you install ksirc as well. This turns “Chat” into a submenu with two entries “IRC client (KSirc)” and “Instant Messenger (Kopete)”.

So what’s the problem?

I see two problems with our current approach. First, the menus are not very readable. Second, the generic names prevent us from picking really good descriptive names. Have a look at the following two screenshots to see what I mean:

http://shots.osdir.com/slideshows/slideshow.php?release=234&slide=5

http://shots.osdir.com/slideshows/slideshow.php?release=286&slide=29

Generic names are not a solution, they are are a hack around bad application names. Ironically they also make good looking, descriptive names look bad, because those are likely to duplicate elements of the generic name, thus when presented together with the generic name, the menu item looks even worse. And when you launch an application with the generic name only, how do you recognize the window in the taskbar (it shows the name), or talk about the application, or look it up in the documentation? And when you install a different set of applications (e.g. because you want to try out the other desktop), you have several applications with the same name. Under Multimedia/CD/DVD Burning you will get two applications that claim to do the job, none of which is marked to be the KDE application. The only hint is the “(k3b)” suffix.

For those interested in further reading, here’s a discussion on the the use of generic names from last year

http://www.gnome.org/~clarkbw/blog/GNOME/Fear_and_Loathing_in__desktop

and an interesting response dubbed “Generic Names Considered Harmful”

http://blogs.gnome.org/view/shaunm/2004/7

So what’s the solution?

The initial problem was bad names. We tried to solve it by introducing generic names that potentially apply to many applications. What if we fix the root of the evil instead and give our applications good descriptive names? This is something all application maintainers have to contribute to, we can’t just have someone going through the repository and renaming things.

What’s a good descriptive name? A combination of the name and the function of an application. Why is this supposed to be better than “Description (Name)”? Because it will be shown and used everywhere where the application is referred to, it’s better readable (no parentheses), and it avoids the duplication between description and name that we see so often nowadays.

Here are some examples, they might not be perfect, but they can give you an idea:

Web Browser (Konqueror) => Konqueror Web Browser
PalmPilot Tool (KPilot) => KDE Palm Pilot Tool
Popup Notes (KNotes) => KDE Popup Notes
HTML Image Map Editor (KImageMapEditor) => KDE Image Map Editor
IRC Client (KSirc) => KDE IRC Client
Instant Messenger (Kopete) => Kopete Instant Messenger
KDevelop => KDevelop IDE
CVS Fontend (Cervisia) => Cervisia CVS Frontend
Personal Information Manager (Kontact) => Kontact Personal Information Suite
CD/DVD Burning (K3b) => K3B CD/DVD Burning
Sound Mixer (KMix) => KDE Sound Mixer

and so on.

We would end up with many KDE-prefixed names, and that’s OK. If you show those applications inside Gnome or XFCE, you probably want to see what is a KDE application and what is not. In KDE itself, we don’t have to show the KDE prefix, we could just drop it, or indicate it with an icon or the kind of icon that the application gets. If we happen to have more than one application that fights for the same “KDE Foo” name, we will have means to solve that conflict, like we solve other conflicts in the KDE community. Judging from going briefly through the list of applications we have today, there won’t be too many conflicts.

Summary

Please, let us get rid of parentheses in menus, and please give your KDE applications descriptive names.

QShare(this)

Possibly related posts:

  1. Bringing Qt applications to Android – a quickstart video

21 comments

1 mOrPhie August 10, 2005 at 4:26 pm
 

You are very right and I couldn’t have said it better, but you should also visit kde-artists.org, where new concepts (and also naming) for KMenu are discussed. Those are for KDE 4, but a quick solution would be possible for KDE 3.5, I presume. :)

2 Adam Treat August 10, 2005 at 5:05 pm
 

Exactly right, Matthias… Except, I would keep the non-descriptive name in KAboutData too.

For instance, Konqueror Web Browser is good for the K-Menu, but it should be branded/marketed as Konqueror. I would have the branded name in the taskbar and the descriptive name in the title bar.

3 Willie Sippel August 10, 2005 at 5:46 pm
 

First of all, I like the idea. I would suggest to determine the names using polls (for applications that miss names, or if the developer / maintainer is unsure or simply doesn’t care). Even for K3b, there are several viable options, for example:

- K3b CD/DVD Burning (boring but descriptive)
- K3b Recording Suite (sounds more polished)
- K3b CD Mastering Suite (sounds more important)

I think we should really focus on polishing KDE, and for designers, arguing about slight nameing differences or even single pixel allignments in splashscreens or menues makes all the difference. The interesting thing is that this is really what polish is all about, slight changes, even if the user doesn’t notice all those little changes, he will notice the overall streamlined and polished look…

4 Adi Wibowo August 10, 2005 at 7:03 pm
 

Yes, I really agree with you.
If this is applied into KDE 4, then KDE will be better.

5 Gareth Sargeant August 10, 2005 at 7:48 pm
 

I agree too. I always make similar changes to your suggestions and rename KWord To KDE Wordprocessor and KSpread to KDE Spreadsheet as soon as I have installed KDE on a new computer.

Maybe kde-artist.org should become kde-branding.org

BTW Thank-you Matthias for all the work you do. KDE is such an impressive phenomenom.

6 ccimiluca August 10, 2005 at 8:32 pm
 

Another thing I dislike about the “K” formula is that having all apps begin with a “K” requires me to type at least an additional letter when I would like autocomplete to, well, autocomplete. Konsole IMO is well named. amaroK manages to get the K in so that you recognize that it features KDE integration, but the name itself is less intuitive than Juk. I don’t think ‘Web Konquerer’ is a terrible name and it is no less descriptive than ‘Internet Explorer’ or Netscape Navigator’, but I think the executable file should at least begin with the same letters as the program.

7 Stephane August 10, 2005 at 9:53 pm
 

I agree with the content of this article. What makes my KDE clearer can not be bad. Especially for the menus.
I have a stupid question: what are you going to do to the command line names ? It is not going to be harder to know wich executable to start from the CLI ? (like from a ssh session).

8 OneEyed August 10, 2005 at 11:32 pm
 

To me adding KDE in front of every application name would be redundant. Rather than looking at how GNOME does it, look at how MacOS X and Windows do it. The best is concise and precise i.e. “Notepad”. I’d go for only descriptive names, most users will never use KDE apps in GNOME and vice versa. SuSE’s idea is not that good either. Third party apps should obviously find another name, because they happen to be third party.

9 Andre August 11, 2005 at 12:09 am
 

I like the Description Suffix in Brackets and i found out that novice users can use them (although some could be better, e.g. Internet Relay Chat Client should be just Chat or something). I can’t really explain why, but it looks as if some kind of users just don’t read more than four words, so i think long application names are worse than descriptions in brackets. Therefor we must keep attention on short names and i fear we won’t find short descriptive names for each and every application. Furthermore is it a hard step to rename all applications, it would annoy many people i fear. And i dont like to read KDE in front of each application name, that just wastes space in my menu. Maybe we could drop that when displayed in KMenu? Btw, I give computer lessons in my spare time, and i can tell you that the average novice user doesnt use the task bar at all (at least as long as he doesnt have to). But your absolutely right, that the application name should be the same in every location of the desktop.

10 Christian Loose August 11, 2005 at 1:38 am
 

Hi Matthias,

I generally agree that the “name (description)” or “description (name)” variants make KMenu look to busy. I also agree that a function description added to the program name make it more obvious what the program is about.

But I see a problem with the “KDE Sound Mixer” or “KDE IRC Client” entries. This makes keyboard navigation in the menu unusable when you have several entries that start with “KDE”.

Bye, Christian

11 Rog August 11, 2005 at 1:53 am
 

I too prefer the “KDE blah” form rather than “blah (name)”, but with all those “KDE” prefixes will that cause trouble with keyboard shortcuts around the K-menu? I often find myself using the keyboard to navigate the menu (habit of old from Windows where the menu was very slow to appear sometimes but keyboard presses were already working).

12 Tomas Tichy August 11, 2005 at 2:26 am
 

And what about command line names? Now the fastest way to launch app is to
hit Alt+F2 and then type in application name. But sometimes it is difficult to find out, what is the command line name of the application. Maybe this changes with new ALI in KDE4, but command line name should be displayed somewhre anyway.

13 Philippe Fremy August 11, 2005 at 2:34 am
 

Mathias, what you are saying is interesting but there are important factors that you skipped :
- brand recognition. The concept of brand is important and helps people to memorise the name of something. If you speak all the time about the K Desktop Environment, people won’t remember. They will remember KDE though. So, it is important to have short easy to remember names. The problem is that as far as brand goes, the name does not need to describe the functionality. Konqueror, Rosegardne, k3b, kaffeine, noatun, etc etc are good names and people remember them.

- long description : as somebody said, people can not read more than 3 words. When digging through the K-Menu people are looking for something and will not like long description.

I have no solution to propose. The only way to establish a brand eventhough you use only generic names is to use a welcome screen in the application.

14 Bala August 11, 2005 at 2:40 am
 

I think that KMenu often looks unpolished due to the application naming convention. Long descriptive names, when enabled, makes the menu very wide and unattractive. When the short names alone are used, since most of the apps’ names start with ‘K’, it becomes difficult to quickly parse the menu and locate your desired application. I have seen newbies react negatively to how it looks. But I think once people get used to KDE, they tend to use ‘Run Command’ window to launch appliations and avoid KMenu completely.

From your recent blogs, it appears that you are going to polish off the last remaining annoyances in KDE. I am a big fan of KDE technology, and soon hope to become a fan of KDE interface / looks. Thank you guys! This is fantastic stuff!!

15 lukas August 11, 2005 at 4:11 am
 

I agree with your suggestion in general Matthias but there’s one problem tho: we have almost always more than one application of the same kind, like “IRC client”. If you call ksirc _the_ IRC client, how will you name konversation then? :) Similar with kmix vs. kamix etc.

16 Felix Berger August 11, 2005 at 5:36 am
 

I really like the new name suggestions for the KMenu as long as they easily convey the name of the actual executable file, because I start most of my programs using the Alt-F2 or a shell after I learnt about them in the KMenu.

It seems to deduce the names from “Konqueror Webbrowser” and ” Kopete Instant Messenger”, but what about ” KDE Popup Notes” or “KDE Palm Pilot Tool”…

17 Sébastien Laoût August 11, 2005 at 6:04 am
 

Very good article.
I agree that parenthesis should be removed from KMenu and that each project should have an well distinct name on which we append the generic name.

There should be some Quality Rules for naming KDE programs. Not restrictive, but enought to ensure that it’s possible to name all programs “PoetiKname Generic Name” (everywhere). I think it should be done for KDE 4.

What a PoetiKname?
A project name that is distinctive enough (ie. that does NOT ressemble its generic name).
But please, avoid to use the “KDE” prefix the most possible (ideally it should never happens, see below).

This can be done by choosing a project name with a K in it (so we know it’s from KDE), if possible the K should not be in first position (or at least not artificially added, like KWord, KFax, KImageMapEditor…).
Examples:
* JuK, amaroK, Akregator… are all good names: they are poetic/distinctive: there is a K in them, well choosen, and not at the begin (so naming them “Juk Music Player” and “amaroK Music Player” is not redundant and can both differentiate the two projects AND identify instantly what they does).
* Konversation: there is a K on begin, BUT it’s part of a word (not artificially added like in KTorrent…): good enough (IMHO) to be able to rename it to “Konversation IRC Chat” (and not spell out IRC: use know it’s purpose or don’t use the program).
* KMusicPlayer: very bad! As a project name it’s not distinctive and we can’t append the generic name without introducing redondancy (imagine “KMusicPlayer Music Player”!). And “KDE Music Player” wouldn’t be better, because it’s not the only one, and if in the future a better program appears it would be confusing as well!

And there should not be any magic that rename eg. “Juk Music Player” to the generic name “Music Player” if it’s the default. Because it would be confusing in the docs and if someone use temporarly the PC of another friend with different default programs he could be lost…

At least I will adopt this naming convention (even if it’s just a suggestion for the moment) for my own program in its next version and hope that KDE 4 will have those sane names, all over the places (hey: kapp->name() could eg. return “JuK Music Player” instead of “JuK” and the documentation already have &juk; entity that ONLY need to be changed to be equal to “JuK Music Player”), so I see no major problem for well written apps/docs (for the others, well, that’s a good reason to make them well written! and KDE4 is a major change, so why not).

Do you think such naming convention could be adopted, to ensure KDE a good quality (KMenu and names are the first thing a new user see, so I think it’s better to add conventions than letting programers to not name well theire apps)?

18 Julio Gazquez August 11, 2005 at 6:14 am
 

Good! :-) Probably needs some more discussion to get names as good as possible (descriptive (for example, I guess that dropping the “HTML” for the image map editor could confuse some people), differentiable, and with attitude :-) but I really like the proposal.

19 Giacomo August 11, 2005 at 8:07 am
 

I wouldn’t get rid of the Name/Description dichotomy, but there’s another field that basically duplicates the Description (can’t check it now, damn M$-based company).

20 Harald Fernengel August 11, 2005 at 12:20 pm
 

looks like Xandros already read your BLOG entry :)

http://www.newsforge.com/blob.pl?id=39921851e3478c68061f96cc09627a9b

21 Dennis P August 11, 2005 at 3:07 pm
 

But what about the users for whom Konqueror is a webverkenner and not a webbrowser? Mac OS X names the editor Teksteditor, that is a clear and descriptive name but it’s in Dutch, users of other languages see other names.

Also no, Konqueror is not a good marketing name, it’s very hard to pronounce for non English speakers unlike the researched names by Apple such as Safari, that is not only a movie famous name, legible as native word in many languages, but look at the spelling Sa fa ri, you can’t go wrong with that.

Give an application a very simplistic English (like) name. Do NOT use its function as part of its name and if you do put KDE in front of it. Name it Kopete and create a label ‘$ Instant Messenger’ for English users and let translators do the same for each language. But first ask if $ is easy to pronounce in all western languages and not offensive; we have a volunteer community to do ‘expensive marketing research’ by simply saying ‘no, that doesn’t sound good to me’, use it. Allow non western languages to replace the $ with something completely different that is cool for them.

Put the names in the application so that people from another country can start KDE Hangman by typing KDE Galgje in any KDE launch facility. Use all the names on all the websites so they can find it. Put them in the KDE vocabulary so people from different native tongues see what they are writing about with a tool-tip translation on mouse over.

Have a launch facility that picks up non existing names in the terminal and gives the user the original project code name and the option to create a link.

I like the idea of gnome users choosing KDE_Hangman while KDE users simply choose Hangman and are able to type either.

Comments on this entry are closed.

Previous post:

Next post: