Over the last couple of years I’ve worked with many clients that had navigation systems that were out of control: tabs that had outgrown the screen, left side trees that scrolled down for days, navigation systems that eat pixels in the application… All had big problems with controlling navigation and making sense of it.

In most cases I’ve been able to rework the navigation system to use a menubar. With the help of some of the new application toolkits, the menubar is more robust than ever (and accessible, too). I love the menubar for a bunch of reasons:

  • When it’s closed it’s incredibly compact. On busy applications that’s important.
  • When you open a menu item, you have room for longer text – short phrases, descriptions of tasks. In a all other navigation systems your text length is always limited by the space consumed on the screen.
  • It makes good use of positional memory. Although users don’t memorize the exact location of commands, they will remember the “gist” of the location – maybe the 2nd or 3rd menu, halfway down. This doesn’t work at all in long scrolling left-side navigation, where position is always changing because of the scrollbar.
  • It’s familiar to users of Desktop applications – users can carry over some of their knowledge about how those applications work to the web based application.

That last point brings me to a little side project I’ve been working on: trying to produce a standard for the menubar for large, complex applications. All these applications I work on have a lot of things in common:

  • Dashboards
  • Reports
  • Create New Items – commands so the user can make new things in the application
  • Recent Items – a list of things the user recently touched
  • A bunch of links scattered across the top of the page for sign out, my profile and/or preferences.
  • Help
  • Search

Of course there’s a lot of variation, too, but Desktop applications managed to produce a standard set menubar commands. You know: File, Edit, View … Window, and Help. Shouldn’t some web based applications start moving in that direction? So I’ve started working on that – folding in new ideas as I work with clients. My ideas are always evolving, but I think there are some standard menu items I can start to define, at least for some applications.

The menu items I’ve shown are:

  • Application (the name of the application, and including things like sign out, preferences, and even Dashboards)
  • New (a list of things the user can create)
  • Concept1 (a group of concepts relating to the application – could have up to 5 of these)
  • Concept2
  • Concept3
  • Reports (everyone seems to have reports these days)
  • Help
  • Search

You can download a Powerpoint Prototype that shows off my sample Navigation bar.┬áThis is the easiest way to see what I’m talking about and take it for a test drive. Enjoy!

Another thing you should think about is having a way to search the menubar, as Apple does. Take a look at Browse vs. Search in Application Navigation.

On last thing: when it comes to menubars, don’t open the menubar on hover: always use click. Once inside the menu, it’s fine to use hover (and click) to open submenus.