Graphics Programs Reference
In-Depth Information
Another common technique is to use hierarchical “cascading” menus, where the
main menu is kept small, but any items in it can have a submenu. Selecting an item,
normally with a mouse, opens (after a short delay, allowing the mouse to slide to another
item) its submenu and lists its items, which may have subsubmenus. This allows for
very large menus, but again only a small part of the menu is displayed at any time.
Another disadvantage of this type of menu is the time it takes to open a submenu,
examine it, and, if it is the wrong one, slide to another submenu.
A more sophisticated solution is the fisheye menu. In such a menu, all the items
are displayed simultaneously on the screen or in the window. If there are many items,
most are shrunk to small sizes or even very small sizes, where it is impossible to read
or perceive an item. Sliding the cursor along such a list magnifies the items closest to
the cursor, so they can be read or observed at their full size. Items slightly away from
the cursor are displayed at somewhat smaller sizes, and items far from the cursor are
displayed at very small sizes. Figure 4.15 shows two examples of fisheye menus. One is
a long list of text items (country names from [fisheyemenu 05]) sorted alphabetically. It
is obvious that sliding the cursor along such a list is a fast and easy way to select any
desired name, even though at any given time most of the list is too small to read. The
other example is the Macintosh dock, a feature familiar to Macintosh users since the
introduction of OS X in 2001. The dock is a graphical menu with icons of files, folders,
and applications that are commonly used. A dock item is selected by sliding the cursor
along the dock. The icon sizes vary from small to medium to large and back to small
in real time, making it easy for the user to locate any desired item. Once an item is
found, merely selecting it also launches it.
When a menu is short, all its items can be displayed in full size and the entire menu
fits comfortably on the screen. When items are added to the menu, it gets taller until
the time comes to shrink items. The algorithm for that must consider three features:
1. The total height of the menu must equal the height of the screen regardless of
the number of items. The only exception is a menu that's too short even when all its
items are displayed at maximum size.
2. The maximum font size (or size of the graphical icon) must be specified by the
user, with a reasonable default value. Some fisheye menus require a large maximum
size, while others can be used with a fairly small maximum size.
3. The item at the cursor location is displayed at the maximum size, and all the
items within a distance of f/ 2 items above it and f/ 2itemsbelowitmustbedisplayed
at a size that will make it possible for the user to read and identify them. The sizes
of the remaining items are selected such that the entire menu will fill up the screen.
This creates a dynamic bubble of f readable items around the main item, which enables
the user to identify items adjacent to the main item and select any of them with ease.
The parameter f is referred to as the focus length of the fisheye menu and should be
specified by the user, with a reasonable default value. Notice that large-sized items
require larger spacing between them, while the spacing between the smaller items can
be shrunk accordingly.
A large focus length, such as 10 or 20, will cause the peripheral items to be very
small, while a small focus length, such as 2 or 3, will force the user to slide the cursor
Search WWH ::




Custom Search