Sunday, September 14, 2008

Common Usability Terms, part IX: the Menu

Defining and discussing menus ...

"This is the ninth article in a series on common usability and graphical user interface related terms [part I | part II | part III | part IV | part V | part VI | part VII | part VIII]. On the internet, and especially in forum discussions like we all have here on OSNews, it is almost certain that in any given discussion, someone will most likely bring up usability and GUI related terms - things like spatial memory, widgets, consistency, Fitts' Law, and more. The aim of this series is to explain these terms, learn something about their origins, and finally rate their importance in the field of usability and (graphical) user interface design. In part IX, we are going to talk about the menu.

History

Let's start with a history lesson. Like we did in the article on the icon, we need to take a look at Ivan Sutherland's Sketchpad, the world's first computer program that, while lacking a graphical user interface, was the first program to actually create a need for a graphical user interface in the first place. Up until that time, 1963, computers were massive mainframes run in batch mode, with punch cards - these were operated by highly trained scientists and computer experts, and had virtually no form of abstraction. Abstraction wasn't needed, since the people operating these computers were fully educated in how these machines worked.

Sketchpad changed this. Sketchpad was a drawing program (some even call it the father of all CAD programs) that didn't require extensive knowledge on how to write code or how to feed CLI commands into the computer. It used a light pen and a keyboard with 40 commands like "DRAW", "MOVE", and "DELETE". While Sketchpad had no GUI, it did create, for the first time, the need for a GUI. It implies a graphical user interface, but it doesn't actually have it yet.

The need was there, now all we needed was something to fill this newly created void. The first steps were taken by Doug Engelbart and his On-line System (NLS), which incorporated windows and the very first mouse. A number of people who had worked on the NLS later started working at Xerox' famous Palo Alto Research Center, where they would develop the first, actual, really-really graphical user interface that we still more or less use today (we do have transparency and wobbliness now, though): the Xerox Alto, an experimental computer that never made its way to the market. The commercial successor to the Alto, the Star, would eventually set many of the conventions we take for granted today: the desktop metaphor, and that odd acronym 'WIMP' - window, icon, menu, pointing device.

The Star introduced the first menus, but the original Macintosh expanded the concept greatly, delivering the prototypical menu: the pull-down menu (the one seen in menu bars). The menu would become one of the mainstays of the graphical user interface, surviving all the way up until today as one of the major elements of the GUI. The menu did change over the years, though, and different types of menus would arise as well. We'll take a look at various types of menus, some characteristics, and we'll end with some of the recent developments concerning the menu.

Types

An important, but rather confusing distinction is that between a pop-up and a pull-down menu, as the definitions for the two differ per graphical environment. In the Mac OS and Mac OS X, a pop-up menu is actually a drop-down list, while in most other graphical environments, pop-up is synonymous with the context sensitive menu. Both meanings are technically wrong, since there is no law that states that a context menu must always be a pop-up menu. Interestingly enough though, the context menu was invented at PARC, and first implemented on the Xerox Alto. Showing that even the mighty people at PARC can be wrong, they called their context menu - by lack of a better term at the time, probably - pop-up menu."    (Continued via OS News, Thom Holwerda)    [Usability Resources]

0 Comments:

Post a Comment

<< Home

<< Home
.