Friday, November 16, 2007
Dissention on the Menu
Much discussion and debate circles the use of Kickoff and other attempts at replacing KMenu. Hopefully some ideas will come out of the noise.
What I would like to do is ask a few questions that need to be answered by whatever solution is offered. I'll state up front that I like Kickoff, and until seeing it had grown to hate KMenu. The reasons why will become apparent in my questions.
How can easy access to commonly used items be provided? Browser, mail client, music player, file system, and maybe a few others.
The first question had two answers, one for a new user, or someone unfamiliar with the icons and application names, and a second answer possibly for an experienced user (which probably applies to those reading this blog).
How can easy access be provided to log out, shut down or switch users?
How can a list of the application history be provided?
How can a hierarchical list of applications be provided?
If I install new software, how can I find it to run it?
How can I have tens or hundreds of applications installed and have access to them?
With all these answered, estimate how often each of these actions occur. In percent. This would determine how easy access to each action should be.
Kickoff attempts to answer these issues. The most powerful and the most unpredictable feature of Kickoff is the search, but moving the mouse wrong can lose the results. I think a persistent search pane would help. Hopefully other attempts will be made to solve this difficult problem. But to be useful they need to provide answers real problems.
This is a common action but is only really performed once per session. A single menu item for this is fine.
> How can a list of the application history be provided?
> How can a hierarchical list of applications be provided?
> If I install new software, how can I find it to run it?
I believe kmenu's solution is fine here. Have a regular application hierarchy. Put the 5 most recently used applications at the top level. In Ubuntu, for instance, we have:
Everything you need is easily visible and not hidden. It acts like a regular application menu (unlike kickoff), so the user knows how to use it immediately. There are about 7 categories of apps to choose from (following the 5-7 choices usability rule). Each group only really contains 7 apps max and each app has a friendly short description of what it is (e.g. "Spreadsheet (KOffice)"). The amount of searching required is completely minimal. People don't like typing. They're much more likely to say "Hmm, I need a spread sheet....ah, it will be in 'Office'! There it is *click*". Clicking a search bar and typing is slow. Application choice shouldn't be so hard that you need to search. Have the option to search, but I don't think it's a common use case.
For new software, you can highlight groups that contain new applications installed recently so you can find them. You could use a dynamically updating menu solution (e.g. "favourites", "recently installed" menus) but its confusing as eventually the new app will disappear from the list and need to be found.
> How can I have tens or hundreds of applications installed and have access to them?
Tens yes, but not hundreds with kmenu. It won't scale to that. But how common is this? Who uses that many applications? Kmenu already has a clever system where it will add submenus. No normal user is going to have more than 30-50 applications though. The problem I have with kickoff is that is seems to be a solution without a problem. No normal user should have that many applications.
If you have, say 5 applications, you don't need search; you just show the options. If you have 20, have 4 groups. If you have 50, have maybe 5 groups with 2 subgroups or so each. If you have 1000, yes, you'll need search. But most people don't need this.
I feel kickoff does not appeal to the common use case. The use of hover buttons to pick between options (these are awful in my opinion; it's an uncommon widget and are easily triggered accidentally), when application groups is most often used, small viewports and scrollbars, emphasis on searching and dynamically updating favourites etc. just make a simple task hard with lots of clicking/thinking needed. What's hard about picking the rough category of a program? Browser=internet, photo stuff=graphics, pacman=games, speadsheet=office. Things like google-earth, you might need search if you can't be bothered checking Internet and Edutainment, but you need to tailor to the common use case.
I think kmenu is fine. Just put the 5 most/last used applications at the top and add a searchbar that lets you launch applications and tells you where they are found for later reference "e.g. Found: Internet -> Earth viewer (Google Earth)".
Bzzt. Wrong answer. KMenu doesn't scale to handle the very common case of someone installing all the kde project applications.
I have had to set the font small for the express purpose of preventing kmenu from taking the whole screen.
Computers are supposed to help us handle lots of information that would be confusing otherwise. If the 'solution' to kmenu is to limit the number of applications that you use, then kmenu is the problem.
Is your example really more common than my example? Ubuntu already ships with more things than an average user is going to use and the menu is very well organised and completely managable. I question why a normal user (i.e. someone who isn't developing KDE) is going to have such a huge number of applications installed. Ask some of your non-computer expert friends how many applications they use and you'll find (conjecturing here) that most use about 5 regularly. I insist that your example is not a common case (look at the number of menu items in a typical Mandrake, Suse, Ubuntu etc. install). Usability usually involves appealing to the what most users do and I don't think your example is common at all.
> Computers are supposed to help us handle lots of information that would be confusing otherwise. If the 'solution' to kmenu is to limit the number of applications that you use, then kmenu is the problem.
I already said that kmenu is a good solution for limited applications and not a good one when you have too many but the former is the common case; look at distro defaults.
My solution is:
* A varient of KMenu is perfect for the average user that has about 50 applications max. Remembering favourites is also useful as most people tend to use only 5 or so programs regularly. As these users are most common, the interface should consider these people the most.
* For people that have a very large number of applications (e.g. KDE developers who want to try out everything), have a search option as one of the menu items but do not make it the focus of the interface. Besides, for people with that many applications, you're either going to browse your menus to see what you have installed, or ALT+F2 run them by name.
* There are a huge number of bookmarks (i.e. infinite) you can have "installed" and bookmarks act as useful shortcuts.
* Normal users probably have about 50 bookmarks. When they have too many, some people will put these in more managable subgroups.
* To find a bookmark, the user clicks "bookmarks", scans for the bookmark/group, clicks the bookmark/group etc. It's a very quick operation. After using the same bookmark a couple of times, you know where it is and can locate it fast.
* If the user wants to search for a bookmark (or for a bookmark they do not have), they move the cursor to google search, click, switch from mouse to keyboard (not a fast operation), type, read the results that come back, switch back to mouse, click a result. Search is slower than a menu if the menu is managable. It also requires more thinking.
* I conjecture that people do not like searching when a menu item in a managable tree is available as the former it's a much quicker operation and requires less thought.
* I conjecture most people do not bookmark everything they find vaguely useful (i.e. install all applications) as too many bookmarks means the easy menu system breaks and they are then required to use search for most things.
* Ideally, you want a managable number of bookmarks, quick access in the menu to bookmarks you've launch recently and ones you launch a lot (to give help when the number starts getting big) and search as a last resort (searching is time consuming).
Isn't something fundamentally broken if the users have to structure their usage patterns around it as opposed to being empowered by the tool?
If 50+ applications installed is the normal and users have to structure the menu to make things better themselves, then kmenu is broken. However, the common case appears to be less than 50 applications installed, the and the menus have just the right amount of applications in each group making things easier to find. In this case, they are not changing their usage patterns and it is not broken. By the way, Linux has things much better than in Windows. In Windows, programs are grouped by company name normally, or each program has its own group. In Linux, the distros have giving programs not written by the same people logical groups, so the usability there and ease of location of programs is significantly better.
Ideally, users would you think of the what they wanted to do, the computer would read their minds and launch the appropriate application. However, our tech isn't that good yet and we have to make do. There is clearly a fundamental limit to how easy/quick we can make search/menu applications. The question is, is kmenu closer or is kickoff closer? Yes, the tool should empower them (like the mind reading example), but there is a limit to how much we can do this we current tech. I don't think typing in what you're searching for is that quick, most people don't have that much stuff installed, therefore a menu by default, supplemented by a search bar seems fine to me. I'm welcome to hear why you don't agree though.
But it is very uncommon. Every time I open KMenu I am forced into that mode unless I want one of the favorites. There are a number of applications that I use regularly but not all the time. I don't want to fill the favorites with another 6 applications. I am forced into an ever changing, hard to read, difficult to navigate menu system.
One of the applications is K3B. Without looking, which category is it in? I use this regularly, but I had to browse a couple of categories, looking at lists of 10-12 apps. I know what I am looking for. This with KMenu.
With kickoff I click on the button, type cd burner, or k3b, two that I tried. A short delay, then enter.
If you were doing a search for K3B would you use multimedia? Why does that make sense for a menu structure. The limitations of the hierarchical menu structure force artificial tags on applications. Why not have a primary or secondary menu as CD burning tools? Because by the time you get to the second level you would have 15 or 20 choices. Maybe more thought on organization would help? I have sworn at the blasted thing because some arbitrary scheme was adjusted when I upgraded KDE and the application wasn't where it was last time. Ubuntu upgrades every 6 months, so this not imaginary.
The only way a hierarchical menu works is to enforce scarcity. I cannot accept that as a premise of the free desktop.
Now Kickoff isn't perfect. When searching, you enter text and select with the keyboard, but to scroll through the selections requires mousing, which is prone to losing the whole mess with errant mouse positioning. I understand why some won't use it as is. Personally the hierarchical menu is so broken I can't use it and will try other solutions.
Watching my own experience is enlightening. I have used the hierarchical section maybe 3 times since I installed Kickoff maybe a year ago. The particular implementation I use depends on Beagle for search; I shut beagle off once due to out of control disk usage, and found immediately that Kickoff sucked without powerful search capabilities. My taskbar/panel is far less cluttered due to the easy access in Kickoff.
Subscribe to Post Comments [Atom]
Links to this post:
Subscribe to Posts [Atom]