[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayatana] why global menubar/application menu isn't such a great idea



Here are some reasons why I think the application menu in unity as it is now
is a failed attempt at improving the user experience in Ubuntu.

1) Primary target of Ubuntu Unity are _net_books, accordingly the most important
application is going to be the browser as repeatedly pointed out here:
http://www.markshuttleworth.com/archives/383

The two most relevant browsers for Ubuntu Unity are Firefox 4 and Chromium.
Both do not need or have a classic menubar, instead both, when run in full screen
mode (the layout that makes the most sense on small screens) put the tabs on top.

Why do they do that? Because tabs are the most frequently accessed interface 
elements of a browser chrome. At the screen edge they are easy and fast to access.
Additionally it makes a lot of sense logically, metaphorically or mentally to use the tabs 
as the hierarchically primary element.

All interfaces that put a OS level "bars" at the upper screen edge limit the usability of 
these two browsers, the menubar reduces the space available for web content 
which is directly contradicting the explicit goal of Unity.

I filled a bug for this here: 
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/749335
I think this can be solved by replacing the application menu with tabs in the panel
without fundamentally departing from the design goals of Unity.

The rationale for the way it works now strikes me as particularly unsatisfactory:
from http://design.canonical.com/2010/05/menu-bar/

>Tackling the corner cases
>(...)
>Many windows currently don’t have menus: for example, Open and Save dialogs. 
>For these, we’ll introduce a fallback set of minimal menus so that the menu bar 
>doesn’t look weirdly empty when those windows are focused.

A "fallback" menu" so it doesn't look stupid?
I'd say introducing additional clutter, actually wasting screen estate, possibly confusing 
users by duplicating functionality for the sake of dubious consistency is stupid.

2) Probably repeating what has been said already: What about large Desktop monitors?
There is the trend away from Desktops to more portable devices but for those that still use 
Desktops at all: Desktop setups tend to get larger and more powerful all the time. Monitors
have higher and higher resolutions and multi-monitor setups are becoming the norm.
Accordingly the users themselves tend to be heavy multi-tasker. Given the hardware specs,
fast SSDs and large scree resolutions nothing is in the way of the user, well except for the 
user interface.

A bit of personal anecdotal evidence:
I've been using OS X for a long time on small Laptop screens, then I got a large monitor
and hooked it up. I noticed how the interface made less sense and was
harder to use now that the menubar and a given window often were apart several inches.
It's not so much about how far the mouse has to travel, it's about the visual focus: On a
large screen and especially when using multiple screens one actually has to turn the 
head just to access a function for the window you are currently working in.

Apparently I wasn't the only one annoyed by that so someone already wrote a "solution":
http://homepage.mac.com/khsu/DejaMenu/DejaMenu.html

Are we going to need such hack in Ubuntu too?
At least I know there will always be a way to turn off the global menu unlike in a closed
OS. But I'm here arguing to turn the "best" solution into the default option...

The other problem, having multiple windows side by side but only one menu at a time, requiring 
an additional click and more mouse (and head!) movement has been brought up elsewhere 
sufficiently.

3)menu bar is so 1990s
It's not just Firefox and Chrome. MS Office is just the most prominent application using the 
ribbon interface. I think there is a broader trend away from the old plain menu bar interface
design, especially given the trend with those newfangled fondleslabs.

Again, having used OS X for years, I notice how rarely I actually use the menu bar.
For applications I use every day I know all the keyboard shortcuts I use anyway and for other
applications, if they are designed really well, the interface elements in the window themselves,
together with such great inventions like drag and drop and the context menu are all I need.
Not only the interface is prettier but those in-window manipulation makes more sense in terms 
of workflow and metaphor: you directly interact with documents and files, the interface follows
you (the mouse), related functions are next to each other, everything is in one focus area.
Compare that with the application menu, it's at the top of the screen, basically in a separate 
window, you already need to know a) the name of the function and b) where it is located.
It's less intuitive and when it gets in the way of a workflow, it's slower, Fitts's law be dammed.
Of course that only applies to what I called "well designed" applications and the whole problem
of UI consistency doesn't exactly get easier.

Broadly speaking there are two kinds of applications: Simple "apps" that do one thing
(and do it well, hopefully), those often have no menu at all, have one for consistency reasons
(but as I said, I consider this dubious if it's just for some visual consistency but has absolutely 
nothing to do with usability consistency) or they have a menu for some few functions that
make no sense to directly expose via the main window because you only access them maybe
once to initially set up the application. For those a single menu button akin the one in Chrome 
is sufficient, there is no need for nested hierarchy.

On OS X for example a lot of menus are filled with absolutely useless entries like cut and paste 
which everyone uses the keyboard or the context menu for or that duplicate all the icons on the
window which again are faster to access via those icons or keyboard shortcuts.

The second kind of application is one that huge, with tons of functions and obviously a steep 
learning curve. Photoshop or GIMP are a good example, Office suites another.
Here the limitations of the textual hierarchical menu become apparent again.

In case you are  a "power user" of such application you probably forgot about the learning
curve and don't have to think about how and where and why the interface works. But for 
casual or first time users the menubar is ill-suited. The ribbon interface is one way to
improve the interface for such complicated applications, for said first time and casual users.
Another option that doesn't upset the "pros" as much is what OS X does with the searchable 
menu.

Given that menubars are becoming a legacy paradigm I wonder if it's such a great idea, when
designing a new UI from scratch in 2011 one should make that menubar a prominent and 
static, always on, no way to opt out, no way to replace with more fitting things like tabs on 
top element.

For natty it's to late now but I have hopes for oneiric, I guess user feedback will help my 
cause ;) However unlike most users I am not afraid of change, in fact I welcome Unity.
But I get the feeling some things were rushed and there wasn't enough usability testing, 
feedback from real "users" and analysis. Well, just look at what Mozilla has done with 
Firefox 4, there was extensive UI testing going on yet the reception of the final release 
was very mixed. Getting the UI right the first time is pretty much impossible.

I also worry that when released it will have some effect like KDE 4.0: an exodus to 
alternatives and a long hard fight to get them back.
In the end it's a good thing and everybody wins but at first it ain't going to be pretty.