A system that includes a pop-up graphical user interface that includes menu bars overlapping marking menu zones. The interface pops up at the current position of the cursor when the space bar is held down. The menu bars are positioned around a central marking zone with the common menu bars located above the central zone and task specific menu bars located below the central zone. The common application menu bar is positioned outer most and the common window menu bar is located inner most. The menu bars are sized in a “stair-step” pattern and the commands therein are left and right justified to fill the menu bar evenly. The menu bar menu items are accessed just like menu bar items typically found at the top of windows. The menu bars mimic the menu bars that a user may need to use during tasks that users typically perform using the menu bars found in application windows. The zones are divided into a central zone and four outer zones where user customizable marking menus are activated when a mouse button is held down while the cursor is in one of the zones.
|
5. A process of displaying a menu interface, comprising:
detecting, by a computer, a depression of a single key of a keyboard; and
displaying the menu interface under a current position of a cursor, where the menu interface has menu items displayed at corresponding positions relative to a screen space of a display, one of the menu items associated with menu zones displayed on the screen space is activated when an input identifies one of the menu zones that are overlapped by menu bars.
2. A display system, comprising:
a cursor control and selection input device;
a keyboard having an activation key;
a display;
a computer coupled to said input device, said keyboard and said display, producing a zoned menu bar graphical user interface positioned relative to a screen space of said display when the activation key is held down and selecting from the interface using the input device by activating a menu item associated with one of menu zones displayed on the screen space when an input identifies said one of menu zones that are overlapped by menu bars to be selected.
3. A non-transitory computer readable medium having stored therein a process to cause a computer to execute an operation, comprising:
displaying, by the computer, marking menu zones in which marking menus are enabled to be activated; and
producing menu bars with menu items overlapping the zones with menus activatable by selection of one of the items, where the menu items are displayed at a position relative to a screen space of a display, a menu item associated with one of menu zones displayed on the screen space is activated when an input identifies said one of menu zones that are overlapped by menu bars to be selected.
6. A display system, comprising:
a cursor control and selection input device;
a keyboard having an activation key;
a display;
a computer coupled to said input device, said keyboard and said display, producing a zoned menu bar graphical user interface positioned relative to a screen space of said display when the activation key is held down and selecting from the interface using the input device, and
wherein menu zones having a central zone positioned under a current position of a cursor and outer zones having zone boundaries between said zones delineated by lines of equal length forming a square are provided, and
menu bars overlapping the zones are provided where a menu is displayed when a menu bar menu item is selected, said menu bars are arranged around said central zone from top to bottom on both sides of said central zone in a stair-step pattern with items spaced to fill the bars where text of said menu mars comprises an anti-aliasing font.
1. A display, comprising:
a pop-up graphical user interface displayed, by a computer, at a current position of a cursor when a keyboard space bar is held down, said interface comprising:
marking menu zones arranged in an “x” cross where a marking menu is activated when a mouse button is held down, said zones comprise a central zone positioned under the current cursor position and outer zones having zone boundaries between said zones delineated by lines of equal length forming a square; and
menu bars overlapping the zones where a menu is displayed when a menu bar menu item is selected, said menu bars being arranged around said central zone, said menu bars are arranged from top to bottom on both sides of said central zone in a stair-step pattern with items spaced to fill the bars where text of said menu mars comprises an anti-aliasing font, said menu bars comprising:
common menu bars positioned above the central zone;
task menu bars positioned below the central zone; and
an interface specific menu bar positioned beside the central zone.
4. The computer-readable medium as recited in
creating menu bars with a bottom to top stair-step pattern; and
filling each menu bar with the commands of that menu bar by left and right justifying the menu items.
|
This application is a continuation of application Ser. No. 11/063,865 filed Feb. 23, 2005 now U.S. Pat. No. 7,555,726; which is continuation of application Ser. No. 10/178,026, filed Jun. 24, 2002, now U.S. Pat. No. 6,915,492; which is a continuation of application Ser. No. 09/119,654, filed Jul. 21, 1998 now U.S. Pat. No. 6,414,700, all of which are incorporated by reference herein.
1. Field of the Invention
The present invention is directed to a graphical user interface that presents the user with a large number of menu items and, more particularly, to an interface that provides marking menu features combined with menu bar features where the menu bars spatially mimic the menu bars of the windows of the application and where the features allow fast access to a large number of menu items.
2. Description of the Related Art
Today's three-dimensional (3D) computer animation and design applications are professional tools that present many challenging user interface requirements. First and foremost, these systems allow complex and sophisticated controls over 3D data and the behavior of 3D data over time. This sophisticated functionality results in an application with hundreds of commands. Professional users also require efficient access to commands since they may spend a large number of hours operating the application under strict deadlines. Therefore, even small performance improvements (like menu selection speed) can dramatically affect user efficiency and their perceived efficiency of the application. Another major design requirement for this class of application is to reduce the complexity presented by the user interface whenever possible. The nature of data and the operations on the data is, by itself, complex. Adding in a complicated user interface would only further increase the user's cognitive load. These challenges produce three basic problems for the traditional graphic user interface (GUI) which are discussed below.
A typical animation and design application has more than 1000 commands which can be found in the menu bars. The number of commands in these applications is expected to increase as newer versions are produced. At the very most 20 pull-down menus can be placed in a menu bar that span the entire length of a high resolution screen (1280 pixels across). With more than 1000 commands this results in menus that on average have 50 items each in them. In practice, this results in information overload. What is needed is an interface that provides access to a large number of commands without subjecting the user such an overload.
Today's users want fast access to frequently used commands. In traditional graphical user interfaces (GUIs), hot-keys, or menu accelerators, are used for the frequently used functions. However, in most design/animation shops the set of frequently used commands varies between users and from task to task. Furthermore, there is a limit to the number of “fast” hot-keys. Some hot-key combinations are hard to physically articulate (for example, ctrl-alt-P). Other hot-keys are hard to remember (“Why is ctrl-d mapped to “Create IK Joint?”). Ultimately, as the menu structures grow in size, it becomes hard to represent the structure of menus in hot-key mappings. What is needed is a fast access interface that allows easy variation in the frequently used commands.
To reduce the complexity of the user interface, it is preferred that a single interaction technique be available for accessing all the commands. In a traditional GUI, large numbers of commands are sometimes absorbed by placing them in different spots (for example, different tool pallets, different pop-up menus, etc., depending on where you click or what button is pressed). The functionality in some animation/design applications is sufficiently complex that it is important for commands to be grouped by function not by interaction technique. For example, typically GUIs place functional modes into tool bars and one-shot actions into the menus. However, from a functional point of view a particular tool and action may be closely related (for example, the “create curve with points” tool and the “attach curves” action). What is needed is an interface that can use a single interaction technique yet allows grouping by function.
It is also important to provide a menu access technique that unifies novice and expert behaviors. In a traditional GUI, novice and expert operation of the interface can be dramatically different. For example, a novice user may exclusively use only the menu bar while an expert may almost exclusively use hot-keys. The radical difference between these two behaviors makes graduating from novice to expert behavior an explicit (and extra) effort. What is needed is a menu access interface where novice operation is a rehearsal of expert behavior. Essentially, what is needed is for novices and experts to use the same menu access technique perhaps differing only in speed of operations.
It is an object of the present invention to provide an interface that allows access to a large number of commands without subjecting the user to information overload.
It is another object of the present invention to provide fast access and easy variation in the frequently used commands.
It is also an object of the present invention to provide a single interaction technique allowing grouping by function.
It is a further object of the present invention to provide an interface that is used in essentially the same way by novices and experts.
It is an additional object of the present invention to provide a display that mimics the appearance and interaction of the typical menu bars.
The above objects can be attained by a system that includes a pop-up graphical user interface that includes menu bars and marking menu zones where the menu bars overlap the zones. The menu bars are positioned around a central marking zone with the application menu bar positioned outermost and the window menu bar located innermost and both on an upper side and task menu bars located on the lower side. The menu bars are arranged in a “stair step” pattern and commands are spread uniformly or justified within each menu bar. The zones form a visual square and are divided into a central zone and four outer zones where user customizable marking menus are activated when a mouse button is held down while the cursor is in one of the zones.
These together with other objects and advantages, which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
The zoned menu bar interface of the present invention is an interactive interface which supports fast access to a large number of menus items utilizing the user interface metaphor of multiple menu bars which mimic the appearance and interaction of traditional menu bars. It also unifies access to menu bar items and user customizable marking menus. The invention includes: a method of accessing multiple menu bars simultaneously; a single and simple access method for simultaneous presentation and access to user customizable marking menus and menu bar items; a method of utilizing zones of the screen relative to the cursor for accessing multiple marking menu sets; and a method for creating a visually pleasing layout of menu bars and marking menu zones that also support efficient access.
The present invention allows the presentation and access to over 1000 menu commands, where this number of commands would overload the traditional graphic user interface (GUI) menu bar. The invention provides fast command access without having to resort to hot-keys. The invention allows the users to create their own marking menus which are used for fast command access.
The graphic user interface (GUI) of the present invention, as depicted in
The zoned menu bar interface 10 works as follows. To display the interface 10, the user holds down a key on the key board, preferably the space-bar (with their non-dominant hand), when the cursor is in a display window. Other keys, such as the “h” key, could be used and other devices than the key board, such as one of the inputs of a mouse, could also be used to select the interface 10. The interface 10 “instantly” appears when the key is depressed, centered at the location of the cursor 46. The “rows” of the interface 10 (see
Each row of the zoned menu bar interface 10 preferably corresponds to a particular set of menus, as depicted in
Besides presenting the user with rows of menus the zoned menu bar interface 10 divides the entire screen into five zones (see
The zoned menu bar interface 10 remains displayed as long as the specified key, such as the space-bar, is kept pressed. This allows a user to perform a series of commands without having to re-invoke the interface 10. Once the specific key is released the interface 10 disappears.
The interface 10 (see
The present invention is implemented in a computer system, such as depicted in
The process 30 of the present invention begins with the system looking 32 for the trigger key being activated, as depicted in
The preferred design of the interface 10 is depicted in
The invention has one goal of increasing the number of the marking menus available to the user and capturing all the menu-items in complex applications such as animation packages. Traditionally, a user can access marking menus by holding down both the shift and ctrl key and pressing a mouse button to pop-up a marking menu. Each mouse button traditionally has a different marking menu associated with it. If the user configures each menu to have eight items, this results in fast access to 24 items. The present invention improves upon this situation by using the space-bar instead of the awkward “shift-control”, produces the same menu for each mouse button (to avoid “wrong mouse button” errors and to support use with a tablet and stylus device instead of a mouse), and provides access to many more items. The zoned menu bar interface 10 of
To organize a large number of menu items, the present invention defines a high-level meta-grouping of the commands by functional sets. For example, one grouping which is preferable for animation and 3D design applications is: Modeling, Animation, Dynamics, and Rendering. The grouping preferably follows the high level workflow of the particular software package users. A trade off with this grouping approach is that users may have to switch between command sets if the GUI cannot present all of the sets at once to the user. The traditional GUI menu bar at the top of the typical screen could not handle as many as 1000 commands. The present invention provides access to multiple menu bars and a means (“Hotbox Controls” 16/86—see
To support learning, the interface 10 is designed to have the command set rows match the menu organizations in the traditional GUI menu bar.
Even though the interface 10 can house and present all of more than 1000 command functions to the user, users typically do not want to see all of the command sets all of the time. The interface 10, as previously mentioned, includes a special marking menu, the “Hotbox Controls” (see 86—
Besides the main menu bar, each of the application views and editors in a typical graphics application has an associated set of commands that work in the given view. The interface 10 provides access to these menus as well. The “pane specific” row (see 72 in
With the layout of the interface 10, there is a design tension between speed of access (making the menu rows tall and wide) versus the overall size of the interface 10 (which interferes with seeing the underlying application data). We know from Fitts' law (see Mackenzie & Buxton, (1992) Extending Fitts' Law To Two-dimensional Tasks. Proceedings Of ACM Chi '92 Conference On Human Factors In Computing Systems, 219-226.) that speed of target acquisition is a function of the distance to the target from the cursor and the width of the target menu bar. In the interface 10, the width of the target is broken up into two components: the length and height of the menu label. To provide fast access, the height of the menu rows is increased as compared to a regular menu bar which is the true effective width of the Fitts' Law targets of the invention while not distorting the visual appearance of the interface.
The invention uses a pop-up design, and two strategies could be used for the pop-up. First, the interface 10 could pop-up centered around the current cursor location. This preserves the relative locations of the menu rows and menu labels. Also, it guarantees that the center marking menu zone will be active for invoking a marking menu. Alternatively, the interface 10 could be popped up at a specified location, such as the center of the screen. This design would provide a constant, absolute positioning of menu items as well as marking menu zones. In terms of cursor travel distances, this alternative approach is more costly than the first approach where the menus come to the user instead of the user going to the menus. As a result, the first alternative is preferred.
Many pop-up interfaces are designed to dismiss themselves when a user selects an item. The interface 10 is designed to handle issuing multiple commands in a single posting by keeping the interface 10 displayed as long as the specific selection key (the space bar) is depressed and allowing the user to continue to select items. This provides a more efficient interaction (often saving mouse clicks and cursor travel time). Invoking multiple marking menus is also facilitated with this approach especially when working in a single marking zone.
The preferred interface defines five marking zones (north, south, east, west and center), as depicted in
The center marking menu zone (see 90 in
The present invention provides “one-stop-shopping” for users where the commands are organized by function not by interaction style (e.g., moded tools are in the toolbox while one-shot actions are in the menus). Placing the tools into the menus has a side benefit of using text labels instead of icons to describe a command function.
To simplify the interaction model, the present invention defines a single mechanism for accessing the menus. It is possible to pop-up menus under the right mouse button, however, users typically find this fatiguing and want to use the left mouse button. The modifier keys (ctrl, alt, shift) are typically assigned as standard keys for managing selection and camera controls. The invention uses the space bar for its ease of access. Using a single key to access menus within the application provides gestural unification and simplification to the overall interaction model.
A variety of layouts can be considered for the menu sets (e.g., column based, cluster based, etc.). The invention uses a row based approach which offers a compact layout, and visually reflected the common menu bar concept.
The interface of the present invention provides a compact layout that visually reflects or mimics the menu bars. Presenting multiple menu rows to the user without overwhelming them is a major challenge. It is possible to present the rows left justified, as depicted in
Determine longest menubar (where length = total character width of all
menubar items for a
given menubar plus a default inter-item spacing)
Mark longest menubar as Done
curLen = longest menubar length
stepSize = sizing constant (e.g., 25 pixels)
While all menubars are not Done {
For each undone menubar {
if (length menubar >= curLen − stepSize)
Grow current menubar to curLen by adding spacing
between
menubar items
Mark current menubar Done
}
curLen = curLen − stepSize;
}
Horizontally center all menubar rows relative to cursor position.
See the Appendix for more detail. This provides visual order to the interface 10, as depicted in
The five marking menu zones are delimited by a cross (X) where the visual the length of the lines for the boundaries 36, 38, 40 and 42 (see
To reduce the obscuring of the underlying application data, the interface 10 employs conventional transparency, as depicted in
When the interface 10 is drawn with 100% transparency (i.e., clear), a great deal of interference can occur between the textual menu labels and the underlying application data. To reduce this interference, the interface 10 uses conventional anti-alias fonts which surrounds each character with an “opposite” contrasting color to ensure its legibility.
Because the interface 10 is capable of showing all the traditional menu bars as well as any specialized ones needed by the user, the traditional GUI menu bars (both the main menu bar and the pane specific menu bars) can be hidden to free up more screen space for their application data. This can be a very significant saving in space if there are many windows displayed with a menu bar in each one.
When displaying the interface near the edge of the screen, the system does not warp the position of the interface 10 if portions of the fall off the screen. This is preserves the center marking menu zone. The menu bars themselves can be shifted to one side of the central zone as the edge of the screen is encountered.
The interface 10 can be viewed as a collection of menu bars and, as a result, users expect the same degree of functionality as traditional menu bars. Conventional menu bars provide functions of posting individual menus, browsing multiple menus within a single drag operation, the ability to tear-off menus, and offering roll-over help for individual menu items. The current embodiment of the invention does not provide all of these function but these functions could be easily added.
The present invention has been described with text descriptors being used within the menu bars. However, icons could be substituted for the text descriptors. The present invention has been described with respect to the menu bars being oriented horizontally. The bars could alternatively be oriented vertically or in any other type of layout that still reflects the conceptual relationships of menu bars and menu items to one another. Another variation is zones that change dynamically, e.g., the first time the hotbox pops up it has zones arranged in an “x”. The next time it is displayed it has the zones arrange in a “+”.
Zones don't have to be in a cross pattern; e.g., a series of vertical strips can be used. Other GUI elements or interaction can occur in the interface. For example, a GUI tool shelf could be displayed in addition to menu bars or the shelf could pop-up in a marking zone. Other interactions could take place in the zones: marks in a zone could be recognized by the system as handwriting, graphical sliders could appear in the zones; status information could appear in the zones. Ultimately any GUI interaction elements or element could be simultaneously displayed with the interface. A variation of this would be GUI elements that only display when the cursor is moved into a particular zone. Further, zones do not necessarily have to cover the entire screen. There could be gaps or holes between or in the zones to allow a user to click on data in the application windows underlying the interface.
The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
Display Marking Menu Zones( )
----------------------------
Divide screen into zones based on cursor position
Display zone boundaries
Overlay Multiple Menu bars( )
---------------------------
Get list of active menu bar sets
Layout Menusets( )
Display menu sets according to layout
Layout Menusets( )
-----------------
Determine longest menubar (where length = total character width of all
menubar items for a
given menubar plus a default inter-item spacing).
Mark longest menubar as Done
curLen = longest menubar length
stepSize = sizing constant (e.g., 25 pixels)
While all menubars are not Done {
For each undone menubar {
if (length menubar >= curLen − stepSize)
Grow current menubar to curLen by adding spacing
between
menubar items
Mark current menubar Done
}
curLen = curLen − stepSize;
}
Horizontally center all menubar rows relative to cursor position
Vertically position hotbox utility “center row” at cursor position.
rowCount = 1;
For all active menubars {
if (menubar = “Common”) {
if (pane specific menubar is active)
vertically position menubar 2 rows above center row
else
vertically position menubar 1 row above center row
}
else if (menubar = pane specific)
vertically position menubar 1 row above center row
else {
vertically position row rowCount below center row
rowCount = rowCount + 1;
}
}
Handle Interaction( )
--------------------
While trigger key down {
if (mouse key pressed)
if (mouse cursor over menubar)
perform menu selection interaction for menubar item
under cursor
else
perform interaction for the zone under cursor
}
Kurtenbach, Gordon, Fitzmaurice, George W.
Patent | Priority | Assignee | Title |
11179926, | Dec 15 2016 | General Electric Company | Hybridized light sources |
11731367, | Jun 23 2021 | General Electric Company | Drive system for additive manufacturing |
11813799, | Sep 01 2021 | General Electric Company | Control systems and methods for additive manufacturing |
11826950, | Jul 09 2021 | General Electric Company; Unison Industries, LLC | Resin management system for additive manufacturing |
11951679, | Jun 16 2021 | General Electric Company | Additive manufacturing system |
11958249, | Jun 24 2021 | General Electric Company | Reclamation system for additive manufacturing |
11958250, | Jun 24 2021 | General Electric Company | Reclamation system for additive manufacturing |
9086780, | Oct 03 2008 | GLR GROWTH FUND, L P C O WITZIG, HANNAH, SANDERS & REAGAN | System, method and computer-readable medium for visual presentation of aspect of software programs |
Patent | Priority | Assignee | Title |
5442788, | Nov 10 1992 | Xerox Corporation | Method and apparatus for interfacing a plurality of users to a plurality of applications on a common display device |
5561811, | Nov 10 1992 | BABBAGE HOLDINGS, LLC | Method and apparatus for per-user customization of applications shared by a plurality of users on a single display |
5596699, | Feb 02 1994 | Linear-viewing/radial-selection graphic for menu display | |
5666499, | Aug 04 1995 | AUTODESK CANADA CO | Clickaround tool-based graphical interface with two cursors |
5689667, | Jun 06 1995 | AUTODESK CANADA CO | Methods and system of controlling menus with radial and linear portions |
5689668, | May 04 1993 | International Business Machines Corporation | Dynamic hierarchical selection menu |
5701424, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Palladian menus and methods relating thereto |
6023267, | Jul 31 1996 | THOMSON LICENSING S A ; THOMSON LICENSING DTV | Process for selecting programes, especially television programes and device and graphical interface implementing this process |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 12 2008 | Autodesk, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Feb 16 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 19 2021 | REM: Maintenance Fee Reminder Mailed. |
Oct 04 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 27 2016 | 4 years fee payment window open |
Feb 27 2017 | 6 months grace period start (w surcharge) |
Aug 27 2017 | patent expiry (for year 4) |
Aug 27 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 27 2020 | 8 years fee payment window open |
Feb 27 2021 | 6 months grace period start (w surcharge) |
Aug 27 2021 | patent expiry (for year 8) |
Aug 27 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 27 2024 | 12 years fee payment window open |
Feb 27 2025 | 6 months grace period start (w surcharge) |
Aug 27 2025 | patent expiry (for year 12) |
Aug 27 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |