Back in the 1980’s, the menubar was brilliant. Applications loaded off floppy disk had to be small. Small applications could not have too many functions. Functions could be completely enumerated in the menubar. Browsing through the menubar pull-down menus could pretty much tell you everything the program could do. On-line help was limited or non-existent - as there just was not space - so application functions needed to be fairly obvious. Generic support for menubars could built into the base system, saving precious RAM for the application, and saving programmer time. All around a simple and clean solution to a common problem.

Menubars made so much sense that they became a habit. Whole new generations of programmers picked up the habit, without quite knowing the original basis. Everyone “knows” that real GUIs must have menubars….

In 20-odd years applications have grown huge. The number of easily-supported functions in applications has exploded. Crowded menubars, long pull-downs, cascaded menus (another really bad idea), menu choices that in turn lead to paged/tabbed/indexed dialogs … all are symptoms of a growth problem.

Which leads to today’s annoyance. Was working with NetBeans and for some reason javadoc and sources were not hooked up for the Swing libraries. Right … must be an IDE option somewhere, so pulled up:

[(from NetBeans)

untitled](/weblog/images/gui-example-menus.png)

Right. Yep, I am sure it’s in there somewhere.

We have all been down this path before. You know the option/setting/command is there, and you are going to SEARCH until you find it. Maybe you remember roughly where to look. How many times have you opened a dialog, then realised oh, it’s not here…. Maybe you fire up a web browser, and SEARCH for “how to do…”. Then once you find the command/option/setting, it may not obvious how it works. Maybe you hit the F1 key hopefully … I say hopefully because even $$$ billions-per-year Microsoft software has no or useless on-line help (at least in the places where you really hoped F1 would work).

Um, hello? Anyone paying attention?

The old habit no longer makes sense. Time (way past time) to flip the design completely around. Applications do a lot. Lots of users are going to use only a small subset of an application. Push the stuff they do not need to see into the background. Pull forward the bits they need to see. Make search a part of the user interface design. Users are going to hunt-and-peck at the UI, doing their own ad-hoc search - whether you help them or not. Help them.

The really sad part is when web developers feel compelled to incorporate pull-down menus into web pages (so it looks like a “real” application). Talk about going in entirely the wrong direction…..