Last week the GNOME project released the second edition of their Human Interface Guidelines (HIG 2.0). The HIG is an effort to push a more consistent look and feel on the GNOME desktop, and it’s worthwhile reading for other projects as well.However, not everything’s thought out well in this 168 pages thick document. For example, the HIG defines that menu item names should be a combination of both an application name and a description. The descriptive part is discussed only in general and left mainly to the creative powers of application developers, though.
On page 7 the HIG discusses an example menu including Abiword, The GIMP, Evolution and other popular applications. The used naming schema looks very inconsistent. The item name for Galeon is appropriately including the description Web Browser. Evolution instead is just called an Email (no typo). I think this is a synonym for everything about email. However, Evolution is quite more than about email and the item name Evolution Personal Information Manager would be more in line with that for Galeon.
The other item names, like GIMP Image Editor or Abiword Word Processor, are acceptable. At least they follow the same schema like the item name for Galeon. They just made me think about how I usually call them. To me Abiword is a Typewriter (some call it a Publisher either), and The GIMP is a Manipulation Program. Don’t get me wrong, this article is not about taste. However, because developers have different views of their applications the desktop menu will definetly become more inconsistent rather than consistent over time.
Shouldn’t there be some agreement on terms, possibly at FreeDesktop.org, clearly explaining the function or use of the respective application?
Maybe application developers shouldn’t define menu item names at all, but instead rely on a global classification schema that’s part of the HIG.
Such a global naming schema would define four attributes: product name, product type, product class, and an optional prefix, along with a list of default types and classes. The correct type and class would be provided by the desktop meta-file of the application.
Let’s look at an example to see how this would work. Given the BatallaNaval server, the type is Server and the class is Game, having the prefix MultiPlayer. The result is:
BatallaNaval Multiplayer Game Server
How would we classify a word processing application like Abiword? The type is Editor and the class is Document. The result looks like:
Abiword Document Editor
With a publishing tool like Inkscape, the type is Editor and the class is Publishing. The result looks like:
Inkscape Publishing Editor
In cases where no type or class fits — or just to prevent trouble with some sensible developer teams — both the type and the class attribute can be user-defined. For example, suppose the WINE developers would rather ignore the type Emulator for their Windows implementation (taken from their Web site), and the class Windows may not be provided by the desktop for copyright reasons. The WINE developers would provide own terms, like:
WINE Windows Compatibility Layer
The naming schema could even support lists of attributes for products that have more than one main use, like:
CD/DVD Editor/Writer
Another interesting enhancement would be a more descriptive overall menu layout, skipping the mostly uninformative tooltips and instead providing a selection of helpful information right below each menu item, as shown in the design study.
There is more similar reading on the subject, by a Gnome developer.
About the Author:
The author, Dennis Heuer, is a 34-years old german social scientist concentrating on human-computer-interaction (HCI) and e-learning.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
I hope they don’t spend to much time on somthing like that though, when so many other things need the time so much more.
Also, Inkscape is a *vector graphics editor*.
I think you’ve hit upon a good idea. Specifying the class of application in metadata has the benefit of adding structure, and also simplifies internationalization and localization. One could also imagine preference settings for displaying only the application name, or only the description, etc.
“The other item names, like GIMP Image Editor or Abiword Word Processor, are acceptable.”
“Evolution is quite more than about email and the item name Evolution Personal Information Manager.”
Maybe it is just me, but I detest loooooooong titles on my menus. Is it really necessary to have such long application titles, so that the menu takes up a third of the screen?
Maybe it is just me, but I detest loooooooong titles on my menus.
No it s not just you. I hope we will have an option somewhere to turn off descriptions..
When I browse the menu the tooltip always covers the item below the current one: so if I stop to look through the menu for a couple of seconds, the tooltip will overwrite the menu itself. Notice that this doesn’t happen when a tooltip appears on an icon belonging to a horizontal toolbar. I’d rather have long names to describe each menu item, rather than tooltips that cover the menu itself. In general tooltips were invented to provide explanations for icons, and usability wants them to be quite short (1 or 2 words max) while in the case of the menu item descriptions, what the tooltip is doing is to specify a text with an even longer text. I think that if the description of a menu item is not sufficently clear it should be made more clear and if necessary, longer: I don’t think it is screen waste to have
long menu item description, actually the contrary is true: if you have the screen space and do not use it when you should, than you are really wasting the screen space you are not using.
My 2c,
chris
Evolution website says that evolution does email, addressbook and calendaring.
But if I read ‘Personnal Information Manager’, this make me think about the addressbook and calendaring part not the email part.
So either you have “Evolution Email and Personnal Information Manager” which is too long or you only describe the most important part in the tittle, which is email IMHO..
if they move away from the tree menu structure, and use nautilus a bit more, then it might be more descriptive.
For example. Instead of having applications you launch to work on documents. You simply think in terms of working on documents. So you open up your documents folder, which is a meta “smart” folder, which shows some things laid out nicely like a html page:
Recent Documents
Project Report – Openoffice Document
Todo list – Text Document
Frequent Documents
Budget – Gnumeric Spreadsheet
Create a new Document
Openoffice Document
Gnumeric Spreadsheet
Abiword Document
Text File
Complete Document list
(shows all documents ordered in some way, perhaps)
And at the top of Nautilus is a search bar, for document searching.
A similar thing could be done for just about every type of file we work on really. So the desktop becomes one cohesive unified “application” that you use to work on documents.
Another thing that would be cool is a “smart” Music directory. So you open a music directory in nautilus, and it looks a bit like itunes, with playlist folders, recently played songs, most popular songs, etc.. with a button to rip a new album into your music folder (automatically sorted and catagorised).
— same with pictures, and other media.
A smart applications folder could also be used if one wants to load a specific application (with the usual meta stuff like recently used, frequently used, etc etc.. search for that app you launched last week that you cant remember the name of exactly..)
…cuz these guidelines don’t fit me at all… I prefer clean, subtle and most of all non-intrusive (G)UI’s, and this is anything but those to me. Like previous comments mentioned, what use is there for a menu-name if it spans about half the screen wide to display?! After opening an application 2 times, people will know what that application does, they shouldn’t need the menu-name to tell them that (and if they do, there should be an easy-to-find-and-use option to change this menu-name or to turn off long menu-names).
Maybe there should be several HIG’s (preferably none at all tho), cuz the GNOME HIG seems very much targetted at the average joe, not at power-users or developers etc.
Now I got this disturbing vision of HIG-plugins for Gnome, that can rearrange the button order, resort the menus (and change names), toggle spatiality in nautilus, and the like
(I can’t decide if this is brilliant or insanely stupid, but I tend towards the latter.)
I like that idea very much. It is a totally task centric approach. If implemented right this could make working with computers lots easier for both newbies and seasoned users. In this setup the spatial nature of Nautilus would also make a lot more sense. Instead of “the folder is a window”, you get “the window is a taskcenter”.
I do see some pitfals though. What would be the best way to handle the task categories? With documents and mediafiles this is quite straightforward. The folder becomes a document centre or a media centre. But what about configurationfiles? Will there be a configuration centre? I am playing around a lot with qemu at the time. Do we link virtual diskimages to a virtual computing centre?
How will categories be implemented? Will the developers hardwire them in the DE? Or will the users have a small set of standard task centres and have to define the rest for themselves? It could also be that the applications and their files group themselves according to some predefined task list.
Also, it must be very easy to manipulate the applications handling the various tasks. Let’s say I don’t want to use OO.o but Abiword to handle my docs, it would be ideal if I could just click a link that says “change settings and/or remove associated programs”.
It would also make sense to get rid of the hierachical filesystem in this setup. It becomes more important to be able to group files according to need, not location. An FS with DB capabilities. It would make sorting in a task centre a very powerfull tool. As you are allready looking in the centre you are interested in, you only have to search the files that have your content of interest.
>>So either you have “Evolution Email and Personnal Information Manager” which is too long or you only describe the most important part in the tittle, which is email IMHO..
Both is not quite true. Too long is only what isn’t senseful. If an app is called this way, it is called this way.
And, you already show that people struggle about names and that there really should be defaults to save the menue from chaos.
Third, you are wrong if you say that evolution is an “Email”. It is at least an “Email Manager” or something like that.
Fourth, the examples discussed in the article are, say, examples
Start menu is often like a joke in Linux desktops. You have hundreds application hidden around the menu tree. You should rather have only one application related item in menus called Search application which would open application search window. If you like to open applications fast define keyboard short cuts.
Then let’s use meta data !!
If you have them, it doesn’t mean you have to show them
— “Start menu is often like a joke in Linux desktops.”
Let me guess… KDE user?
The Applications menu in the latest Gnome is about 10000% cleaner, simpler, and more organized then KDE’s, and probably 500% more then Windows XP’s.
Having the seperate Actions menu is even more genious, and is where the single easy to find and use “Search for files…” option is located.
Of course, keyboard shortcuts are supported and easy too configure as well.
>Let me guess… KDE user?
Let me guess: GNOME user who has not tried KDE in centuries?
The KDE shares the menu specification with GNOME, so the menus are the same. And KDE implementation is better: just check SUSE to see how is done.
So before trowing cliches to the list, please check it out first.
“Inkscape Publishing Editor”
I’m sorry, but you started off okay, but ended up here, and well, it’s not a good place to be.
Inkscape is NOT a “Publishing Editor”. What’s a “Publishing Editor”? I don’t know, but certainly not what Inkscape is. Inkscape is an “SVG Editor”, or a “Vector Image Editor”. Now, I am all for making things easy to use and easy to understand, but name it what it is.
And so what if the “common” user doesn’t know what Vector Image Editor is. Do you really think if he doesn’t know what one is, thinking it’s a “Publishing Editor” is suddenly going to explain it all?
Besides, if the user doesn’t know what a Vector Image Editor is, how do you think he is going to know how to use the program once he opens it up. Working with Vectored Images is not relatively easy (when compared to writing an essay in AbiWord).
Also, on Menus:
@ Amadeu
“KDE shares the menu specification with GNOME, so the menus are the same. And KDE implementation is better: just check SUSE to see how is done.”
As a KDE user, I think the KDE Menu’s still need a lot of work. I prefer the Gnome menu’s over KDE’s. My biggest gripe with KDE menu’s is the small size of the main menu button. For the life of me, I can’t figure out how to make it act more like Gnome’s menu.
Hello
being the author of this article a german speaker, having german 3 genders, 4 declinations and other hard stuff to learn, I’m amazed that she proposes the dynamic Meta data descriptions as a solution!
I can’t even imagine translating some stuff (I’m an OSS translator since 1999 and GNOME translator since 2001). Besides, for many languages, word ordering depends on sentences and some words must be diferent on the ending or have diferent gender. Usually this isn’t noticed by english native speakers as they have a language with less grammatical complexity level. But a german speaker…
Using the example for the “BatallaNaval”… In Portuguese, with that ordering, it would look like “BatallaNaval Multijogador Jogo Servidor”. It would be the same horrible sentence as writting, in english “BatallaNaval Server Game Multiplayer”. The correct in Portuguese would be “BatallaNaval Servidor de Jogos Multijogador”. Notice that, being a server that hosts many games, “Game” must be plural. Notice that the “de” must be inserted as being an explanation that the “Server” purpose is to host “Multiplayer Games”.
(wannabe) Opinion makes should be more carefull with what they write. And OSNews should take more care with the quality of their content.
The article should be “reported as abuse”
Be happy!
And don’t forget the problems with localization: different languages use different orders for words, may or may not require choosing the right gender, may or may not require articles, etc… sounds dangerous and messy ^__^
Oh, and btw, half of this categorizations are already there, just look at rpm -qi packagename, you have one or more categories (and it is also the way synaptic groups packages, I think)… only packagers don’t follow any clear standards, leading to a wee bit of confusion!
Hi, Renato
“My biggest gripe with KDE menu’s is the small size of the main menu button.”
Sorry about my ignorance, but is GNOME menu any different?
I imagine that these smart folders could be identified with some xml. So on installation, programs could create smart folders, or at least add the ability. For example in your root view, you could right click and have add->Smart Folder->KDevelop. If Kdevelop had a smart folder system available.
For applications that dont provide this, just go through the Applications smart folder, to launch that app.
You would only setup smart folders for things you did often, I imagine. By default, I guess it would have Documents, Pictures, Media, Music, Applications, etc etc. You could probably define different views for them. Like the music one, viewing things as “albums” and playlists. Perhaps even with CD Covers and what not when you click on an album, and it gives a nice summary (perhaps even with info on the web – also possibly links to the bands website, etc). You could also have an option to right click on an album/playlist and select “burn as audio CD”.
Movie files would have the 10th or so frame has a thumbnail (like konqueror does) to make it easy to identify.
The picture folder would have links like “view as thumbails”, “view as slideshow”. And you could probably drag it to the desktop to make it the wallpaper. You could probably define “collections” as well, or photo albums. These are smart folders within a smart folder, like the albums of the Music folder. You could right click on an photo album and select “play as slideshow”.
Another link the Pictures folder would be “get items from digital camera”. Or perhaps when you plug the camera in, it launches nautilus in the picture folder and asks you what album to add the picture collection to, or to create a new photo album.
You could also have a “backups” smart folder. So you could go through all your stuff and select a backup flag “Mark this folder for backup”. Then you go to your backups folder to view all the items that have been scheduled for backup. You then click “Create DVD/CD volumes”. It then compresses the data and creates ISO’s, and asks you to insert blank DVD/CD’s until it has backed up all the data (it tries to estimate the number of CD’s/DVD’s needed beforehand). While it does this, it adds a meta entry to the backup folder which is your history of backups (you can give each entry names also). You can search through this history for files, and it will tell you what CD/DVD that file was backed up on (during backup it gives you a label to name the CD/DVD so it can be referred to later).
A Video editing smart folder would be useful too. You could open it up in a video editing program. And within nautilus select “Create DVD Movie or VCD from this Project”.
Anyway, I better stop before this gets toooo long
Some things go far too wrong in this discussion:
1. I’m a male, not a female.
2. Examples are examples. Please discuss the idea and not if you like my terms!
3. If a name is good or bad is not decided by the used method but by the one selecting the terms. In one case, you may like the original name more than the generated name. In the next case it may be the other way. However, GNOME is for average joe who wants to get used to something. Changing styles of naming items is bad. Better is having a style he can get used to.
4. Yes, as a german I know that it works. You misunderstand the way the localization is done. The GNOME HIG only provides guidelines. In this case it would provide lists of types and classes. The developer doesn’t just click at the terms but selects his favourites from the tables (following the guidelines). The entry in his .desktop file is nothing but a sentence, fully handwritten. This is translated as always (manually). You mix up my idea with a pocket calculator for item names.
5. “The article should be “reported as abuse” “. I will not comment that (stupid).
I would call it a “Evolution Collaboration Tool”, that encompasses not only email, but calandering, newsgroups (once the feature becomes part of Evolution) etc. etc.
As for “Personal Information Manager”, please, lets be honest, how many non-it people would know what the heck that meant? to me it sounds like gobbly goop made up by a technician mearly to boost his ego.
> 2. Examples are examples. Please discuss the idea and not if you like my terms!
You’re a bit hard no?
We’re discussing your examples because while the idea is good in theory, its implementation is difficult for multi-purpose applications..
What is mozilla? A web browser, an email client, an IRC client, an HTML editor (mozilla may be compiled without all the functionnality).
So there are three possibilities:
1- we put the application in the menues as many times as it has functionnalities.
Advantage: a new user should be able to find easily the required functionnality.
Inconvenient: the number of menu entries may become a bit overfilled.
[that’s my favorite]
2- we put only one time the application with all the description concatenated.
Advantage: less entries.
Inconvenient: hard to read.
3- we try to be creative in the entries.
Inconvenient: who know that a “Personnal Information Manager” includes an email client? 😉
Why not make it task-based like Mandrake’s menus?
Fox example:
Menu
—-
+-Internet
| +-Web browsers
| | +-Epiphany
| | +-Galeon
| | +-Konqueror
| | +-Mozilla
…
Instead of:
Menu
—-
+-Epiphany Web Browser
+-Galeon Web Browser
+-Konqueror Web Browser
+-Mozilla Web Browser
…
I think this is much easier to use then the proposed solution. I find that I ignore long application names and try to shorten them down to more easily remembered names.
Personally, I detest long menu items and will change the menu items to be as short as possible.
You’re right. It’s Freedesktop.org’s responsibility to provide a decent description for Evolution. Sheesh…
>>”My biggest gripe with KDE menu’s is the small size of the main menu button.”
Sorry about my ignorance, but is GNOME menu any different?<<
Excuse me butting in. Yes, it is.
I believe Jason refers to the main menu button, the K-icon in Kicker (since you outed yourself as a SUSE user, it probably is the chameleons’s head for you).
Gnome offers two solutions for this functionality. One, the Gnome-foot-icon which is comparable to the K-icon (and thus presumably bad) and two, the separated entries “Applications” and “Actions” on the Gnome-Panel. They are rather easy to hit, even in small sizes and i have to say that i favor this approach over the one-button-approach (enter cheesy LOR reference at will).
But as usual YMMW. Regards
everything’s great, but you cannot use the word “like” in sucha a meaning – you can, though, use “for example”, “such as”, etc.
Having a standard set of names for product types is a good idea. In fact, the HIG could list a set of common types. And in some cases, the proposed structure would be a good idea.
But remember that menu items are for HUMANS – so you should use whatever is the most common name for a product type by the humans. For example, I don’t use a “document editor”, I use a “word processor”. Sure, complain about the name. There’s an old joke in Shoe that says something like “What’s a word processor? Well, you know what a food processor does to food, right?” But “word processor” is the standard name for such products, and has been for decades. Besides, my spreadsheets are documents, but I expect a “Spreadsheet” or “Spreadsheet Editor” to edit them. Do survey of people, do a search on Google, whatever, and determine the most common name used by humans for that particular product (in a given language). Then use that name. If there isn’t a common name, then approach in this article makes some sense. But consistency is merely a means to an end – the end is minimizing human confusion.
Did anyone actually have prospective users sit down and tell them where they had things bass ackwards?
If these theories on “better” desktop design are simply that, then they’re not very usefull. The UI I support inevitably breaks out in the field on redesign and needs to be tweaked for actual usage.
— “Start menu is often like a joke in Linux desktops.”
Let me guess… KDE user?
The problem is that most Linux desktops consists of a mix of applications writen to various toolkits. Linux distros tend to set up the enviroments in this way. This is why we have both Gnome termina, Konsole and perhaps xterm in the application menu, and that it looks like a mess. If you limit yourself to one toolkit it usually looks OK regardless what toolkit you decide to use.
The problem is that to be productive you need applications from many toolkits, and the installers of most Linux distros doesn’t allow you to add things on an application basis. To get that single app you need from some otherwise seldomly used toolkit you get all applications using it.
The solution could very well be to use metadata. If metadata was used we could write an application that listed menuitems like “Text Editer”, “Image Editor”, “Word Processor”,.. in one list and application metadata in another making it possible for the user to match availabe applications to reasonable menus. If the user wanted more than one Text Editor additional menuitems coudl be created based on the application name e.g “Text Editor (gedit)”
In general it must be easier for the user to edit the application menu. Today it is far too hard to remove, alter, reorder or add menu item in the application menu. Why can’t we just move them by drag&drop and edit them by right click.
How the application menu looks is not something that should be left to the developers of Gnome or KDE, this is something for the creator of the distro to decide. What Gnome and KDE should do is to make it easy to mix and match applications on the same desktop.
If we run windows, we can install an application written in QT without having all of our application menus mixed up. Why can’t the same be true in Linux
I don’t think you are correct on that one.
“like
prep.
1. Possessing the characteristics of; resembling closely; similar to.”
http://dictionary.reference.com/search?q=like [Dictionary.com]
I find this a very interesting debate. Thank you for bringing it up.
First of all such descriptions will also have to be translated to other languages. Just a thought, a note, something i thought about.
Next, i agree that
* Menu’s don’t need to be too long. One possible solution is to draw the menu from where it is, deleting the previous choice. For example: I click on Applications and then Internet. I made the choice to start up an Internet Application. Don’t show the other options anymore then, but allow me to raise one level to the Applications root level. It is like a tree (i have LDAP in my mind now , when you achieved a certain point in life you don’t really care how you got there in the first place anyway because you look forward, not back. You might look partly back, but not all the way back from when you were born as baby.
* There should be a possibility to put the descriptions off or on. Default is newbie or power friendly? Up to distributor?
* A description with only a few words is hard to effectively describe what an application is able to do for the user. You’ve done your best and it was interesting, but the examples proof to me that it is a hard task with several twists and inaccuracies as i see it.
Frankly, i think i have a better option which solves the above problems but i’m not sure how to implement it in a convenient way. You would just browse the structure like you do now, but without any descriptions. There is a button with a ? (or something similar) after the program name. When a user clicks on that, a short and/or long description of the program pops up with thereunder a button which asks:
* Do you want more information about this program: Yes / No.
* Do you wish to run this program: Yes / No.
Maybe even other questions. Or maybe only 1 of these. But i’m running too fast now because i forget to think how the user thinks: the user wants to know what an application does for a reason. What is that reason? What is the common reason? How is the software able to know or predict what the reason is? If an app was never run by the user it is more likely the user never heard of it, or knows what it does. Or maybe he or she just wants to learn more about it, or is just wandering around. What are the possibilities one aims for when one is browsing in the start menu? (My mind is empty on that although i gave some inspiration here above.)
You could add more than just ? like Windows (apps) does: a link to the README, a LICENSE / REGISTER option, a link to HELP, etc.
Wether the user should be able to put this whole “?” idea off is something i’m not cerrtain about. It would also depend on how (obvious) it is implemented.
Well, i hope you consider thinking about this and i’m really looking forward to constructive criticism as well. (I’ve read only the first 50% of the posts maybe this was already discussed. Oh and sorry for the late reply.)
Well oops, here is an alternative way to expand the menu instead of a ? icon after the application icon + name. It would expand in a way like:
* Galeon
** Run
** Description
** More information / Help
** ???
So when you point to Galeon a new menu pops up containing the thing with the **.
I know this is a bit similar as Windows and that it makes the menu bigger but the first one ain’t necessarily bad and the 2nd one is also solvable and not necessarily bad either.
Maybe the more information / Help is actually bloat. Maybe there ain’t something like ??? necessary or maybe the description could be given in a different way. What is convenient?
Anyway, also see my above post which describes my first way: a ? icon after the icon + application name. The icon could also be customizable via themes, ofcourse.