This description relates to user-selectable commands for displaying panels in a graphical user interface.
Graphical user interfaces used with various existing computer systems typically allow users to view or enter information or data. For example, a graphical user interface may provide that a user can work with documents from word processing programs, database information, data output from application programs, and Internet content such as pages from the world wide web. What is displayed in the graphical user interface may generally be referred to as a panel, and panels may provide for data input, data output, or both.
A user sometimes navigates in a graphical user interface from one panel to another panel, and then to a third panel, and so on. Moreover, a user sometimes needs to return to a previously displayed panel. However, it can be difficult for the user to find the previous panel, particularly if the user is required to remember and enter an address location for the desired panel.
One existing feature is the so-called Favorites menu of the Internet Explorer (IE) web browser from Microsoft. While a page is being displayed in IE, a user can open the Favorites menu and select therein an “Add to Favorites . . . ” command. This adds a command to the Favorites menu for displaying the specific page. At a later time, perhaps when another page is being displayed in IE, the user can again open the Favorites menu and select the stored Favorite to have the previously displayed page be displayed. Created favorites may remain indefinitely in the Favorites menu and the user can edit the list of Favorites by first selecting an “Organize Favorites” command.
IE also includes an “Address bar”, which is an input field wherein the user can type an address to a desired page. IE saves the address information. When the user begins typing a previously entered address in the address box, IE may recognize the address and “autocomplete” the entry by providing the remainder of the address characters. Moreover, previously entered addresses can be viewed in a drop-down list box under the address field. The user can clear the entries from this list box by executing a “Clear History” command. If, in contrast, the user navigates to a page by clicking on a hyperlink to that page instead of typing in the address bar, the page's address will not be included in the list of previous addresses in the drop-down list box.
Favorites can be used with documents that IE or a program in the Office suite recognizes. One problem with “Favorites” type features is that they are designed for creating permanent links to pages and other documents. For example, a user that is doing some quick “back-and-forth” type navigation between pages may not be interested in saving any of the created Favorites for a longer time. Moreover, the list of Favorites may grow large over time and become increasingly difficult to overview and use, particularly on a computer having a small display device.
The invention relates to selectable commands for displaying user interface panels. In a first general aspect, a method of providing that a panel previously displayed on a graphical user interface is displayed again comprises displaying a selected panel on a graphical user interface. While the selected panel is being displayed, a first user input to create a user-selectable command for displaying the selected panel is received. The user-selectable command is thereafter displayed in a menu. A second user input is received upon a first selection of the user-selectable command. The user-selectable command ceases to be displayed in the menu upon receipt of the second user input.
In selected embodiments, a plurality of user-selectable commands is displayed in the menu. At least one of the plurality of user-selectable commands may cease to be displayed in the menu upon occurrence of a predetermined event other than user deletion. At least one of the plurality of user-selectable commands may not cease to be displayed in the menu upon user selection.
In a second general aspect, a graphical user interface on which a previously displayed panel can again be displayed comprises a panel display area wherein a selected panel is displayed, an input control that creates a user-selectable command for displaying the selected panel, and a menu in which at least one user-selectable command created using the input control is displayed, wherein a created user-selectable command ceases to be displayed in the menu upon a first selection of the created user-selectable command.
In a third general aspect, a method of providing that a panel previously displayed on a graphical user interface can be displayed again comprises displaying a selected panel on a graphical user interface. While the selected panel is being displayed, a first user input to create a user-selectable command for displaying the selected panel is received. The user-selectable command is thereafter displayed in a menu. The method comprises ceasing to display the user-selectable command in the menu upon occurrence of a predetermined event other than a user deleting the user-selectable command.
In selected embodiments, a plurality of user-selectable commands is displayed in the menu. At least two of the plurality of user-selectable commands may be associated with panels that belong to different application programs. At least one of the plurality of user-selectable commands may not cease to be displayed in the menu upon user selection.
In selected embodiments, the predetermined event is one selected from the group consisting of: user selection of the user-selectable command, passage of a predetermined amount of time, an application program to which the selected panel belongs being closed, a computer system to which the graphical user interface belongs being shut down, a predetermined number of user-selectable commands being included in the menu after the user-selectable command is created; and combinations thereof.
In a fourth general aspect, a graphical user interface on which a previously displayed panel can again be displayed comprises a panel display area wherein a selected panel is displayed, an input control that creates a user-selectable command for displaying the selected panel, and a menu in which at least one user-selectable command created using the input control is displayed. A created user-selectable command ceases to be displayed in the menu upon occurrence of a predetermined event other than a user deleting the created user-selectable command.
Embodiments of the invention may provide any or all of the following advantages. Improved user navigation between panels may be provided. Convenient user navigation to a previously displayed panel may be provided. A user can return to a previously displayed panel without having to put a permanent Favorite in a Favorites list. A graphical user interface may become more user-friendly. The design of a graphical user interface may be improved. User interaction with small computer devices may be improved. Better management of “Favorites”.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference numerals in the various drawings indicate like elements.
The GUI 100 includes a “Create” input control 130 and a “Display” input control 140. The input controls 130 and 140 may be located in a toolbar area 150 of the GUI 100. As will now be described, the control 130 lets a user create a user-selectable command for displaying a selected panel in the GUI 100; the control 140 lets the user select at least one created command to have its panel be displayed.
FIGS. 2A-D is an example of operations that can be performed with the GUI 100. In
Panel 200 is characterized by its content 210 and title 220. The content 210 may include one or more input fields that prompt the user to enter data. Assume, now, that the user needs additional information that is not available on panel 200 and therefore decides to visit another panel before finishing the data entry in panel 200. The user wants a convenient way of later returning to the panel 200. She therefore selects the “Create” input control 130 in the GUI 100. The control 130 may be an icon or any other control by which the user can make a predefined input. In a desktop or laptop implementation, the user may select the control 130 with a pointer device. In an implementation for a handheld computer device, one of the keys on the device keypad may be assigned to the control 130, such that the user can select the “Create” control with the assigned button. When the computer receives the input associated with the user selecting the control 130, a user-selectable control for displaying the first panel 200 is created, which will be described with reference to the next figure.
In this example, the user finds the information she needs on panel 230 and now wishes to go back to the first panel 200. The user therefore selects the “Display” input control 140 which, like the control 130, may be a selectable icon or other input control. Selecting the control 140 causes a menu 260 to be displayed in the GUI 100. The menu 260 can include one or more user-selectable commands for displaying panels. Currently, the menu 260 includes user-selectable commands 270 and 280.
The user-selectable command 270 is included in the menu 260 in response to the user selecting the “Create” input control 130 as was described with regard to
The user now selects the command 270 using a pointer device or other input device. Receiving an input from this selection triggers the computer to display the first panel 200 in the GUI, as shown in
The user-selectable command 270 ceases to be displayed in the menu 260 upon being selected by the user. That is, when the computer receives the input generated by the user's selection of the command 270, the computer ceases to display the command in the menu 260. In an implementation where the menu 260 is not continuously displayed on the graphical user interface, the command ceasing to be displayed may be noticeable to the user the next time the user opens the menu 260.
In contrast to the command 270, the command 280—which the user did not select-remains in the menu 260. The user-selectable command 280 may be similar to the command 270. That is, it may have been created using the control 130 (while the panel identified by the command 280 was being displayed). The “Panel # 3” may belong to the same or a different application program than does the panel 200. As another example, the command 280 may be a user-selectable command that does not cease to be displayed in the menu 260 upon being selected. The command 280 may be a “Favorite” or an address bar entry as described in the Background section above. In such implementations, the command 270 may be included in a Favorite menu, or a Favorite (command 280) may be included in a menu that has at least one command 270, to name just two possibilities. As yet another example, the command 280 may be a command that ceases to be displayed in the menu 260 upon the occurrence of a predetermined event, as will now be described.
FIGS. 3A-C are another example of operations relating to a user-selectable command.
Assume that the user selects the control 310 while the first panel 200 is being displayed in the GUI. In response, a user-selectable command 330 will be included in a menu 340, as shown in
The command 330 ceases to be displayed in the menu 340 upon the occurrence of a predetermined event other than a user deleting the command. That is, when the predetermined event occurs, the computer will cease to display the command 330 in the menu 340. In an implementation where the menu 340 is visible only upon user action, the command ceasing to be displayed in the menu may be noticeable to the user the next time the user views the menu.
Many different events can be used to trigger the disappearance of the command 330 from the menu 340. Examples include: a user closing the application program to which the first panel 200 belongs; a user shutting down the computer with which the GUI 300 is being used; a certain amount of time passing; a certain number of user-selectable commands being included in the menu 340 after the command 330 is created; and combinations thereof.
Displaying, in step 410, a selected panel on a graphical user interface. For example, the first panel 200 may be displayed on the GUI 100.
In step 420, receiving a first user input, while the selected panel is being displayed, to create a user-selectable command for displaying the selected panel, the user-selectable command thereafter being displayed in a menu. For example, the user may select the input control 130 to create the command 270 to be displayed in the menu 260.
Receiving, in step 430, a second user input upon a first selection of the user-selectable command. The user-selectable command ceases to be displayed in the menu upon receipt of the second user input. For example, the command 270 may cease to be displayed in the menu 260 the first time the user selects it.
Displaying, in step 510, a selected panel on a graphical user interface. For example, the first panel 200 may be displayed on the GUI 100.
In step 520, receiving a first user input, while the selected panel is being displayed, to create a user-selectable command for displaying the selected panel, the user-selectable command thereafter being displayed in a menu. For example, the user may select the input control 310 to create the command 330 to be displayed in the menu 340.
Ceasing to display, in step 530, the user-selectable command in the menu upon occurrence of a predetermined event other than a user deleting the user-selectable command. For example, the command 330 may cease to be displayed in the menu 340 upon the predetermined event. The command ceasing to be displayed may be noticeable to the user the next time the user views the menu 340.
The memory 620 stores information within the system 600. In one embodiment, the memory 620 is a computer-readable medium. In one embodiment, the memory 620 is a volatile memory unit. In another embodiment, the memory 620 is a non-volatile memory unit.
The storage device 630 is capable of providing mass storage for the system 600. In one embodiment, the storage device 630 is a computer-readable medium. In various different embodiments, the storage device 630 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
The input/output device 640 provides input/output operations for the system 600. The input/output device 640 may include a keyboard and/or pointing device. The input/output device 640 may include a display device. For example, the GUI 100 described with reference to FIGS. 2A-D and 3A-C above may be produced by the input/output device 640.
In one embodiment, the computer system 600 is a handheld computer. In another embodiment, the computer system 600 is a laptop computer or a desktop computer. In yet another embodiment, the computer system 600 is a cellular telephone or other wireless communication device.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the invention can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The invention can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.