Movatterモバイル変換


[0]ホーム

URL:


HK1116881B - Operating system launch menu program listing - Google Patents

Operating system launch menu program listing
Download PDF

Info

Publication number
HK1116881B
HK1116881BHK08107476.0AHK08107476AHK1116881BHK 1116881 BHK1116881 BHK 1116881BHK 08107476 AHK08107476 AHK 08107476AHK 1116881 BHK1116881 BHK 1116881B
Authority
HK
Hong Kong
Prior art keywords
user
items
item
predefined area
menu
Prior art date
Application number
HK08107476.0A
Other languages
Chinese (zh)
Other versions
HK1116881A1 (en
Inventor
D.A.马修斯
C.W.斯塔伯
M.R.雷纳
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/085,470external-prioritypatent/US7512904B2/en
Application filed by Microsoft Technology Licensing, LlcfiledCriticalMicrosoft Technology Licensing, Llc
Publication of HK1116881A1publicationCriticalpatent/HK1116881A1/en
Publication of HK1116881BpublicationCriticalpatent/HK1116881B/en

Links

Description

Operating system launch menu program listing
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the patent and trademark office patent file or records, but otherwise reserves all copyright rights whatsoever.
Technical Field
The present invention relates generally to computers and computer operating systems. More particularly, the present invention provides a method and system for a search box and search capability in a graphical user interface for a program launch menu of an operating system.
Background
Computer operating systems have evolved significantly in recent years. Typically, these systems have a shell that provides a Graphical User Interface (GUI) to the end user. The shell consists of one or a combination of software components that provide direct communication between the user and the operating system. The speed improvements of computer hardware, such as memory, hardware drivers, processors, graphics cards, system buses, etc., allow users to understand significantly more rich GUIs. The accompanying hardware price reduction makes computer systems more affordable, enabling computers to be widely adopted as productivity tools and multimedia systems. The GUI allows an untrained or unfamiliar computer user to quickly and intuitively understand the meaning of the desktop, icons, windows, and applications and how the user can interact with them.
The desktop shown in FIG. 2 becomes a standard graphical metaphor for modern GUIs. The interface is designed to model real world activities working at the workstation. The desktop typically occupies the entire surface of a single display device, or may span multiple display devices, and provides accompanying user interface objects, such as icons, menus, cursors and windows. The desktop serves as a basic workspace in which multiple documents and applications may be in an open state.
Such as Microsoft WindowsOr WindowsOperating systems, such as operating systems, typically include graphical methods for running new software applications within their GUIs. Figure 2 shows a well-known example of how this can be done in a windows xp operating system. Screenshot 200 shows a desktop 201, primarily showing an open window 202, one side of which borders a taskbar 203. When the user desires to launch a new application, the user moves a pointer (also referred to as a cursor) controlled by a mouse, trackball, or the like, and clicks on the appropriate Menu item in the Start Menu 204, which itself is first invoked by clicking on the Start button 205. The Start button 205 is typically located in a fixed position on the taskbar 203. The user can adjust the position of the taskbar 203, but once in place, the Start button 205 becomes a constant and customary starting point for the user to run a new application.
When the user clicks on the Start button 205 in fig. 2, the Start Menu 204 appears as a floating list over the currently open window 202 and desktop 201. The subsequent submenu 206 of Start Menu 204, here triggered when the user clicks or hovers over the "Programs" list item, appears above and to the right of the original Start Menu in order to show more selections.
A program launch Menu (e.g., Start Menu) such as that shown in fig. 2, which uses a pop-up Menu to display All Programs, was previously limited in its organization and user-executable functions. It is difficult for a user to navigate very long lists with deep folder structures. Users are often frustrated when attempting to find a desired application or document in a program launch menu because the information in the program launch menu is often cluttered and unorganized, and users often accidentally open or close folders as they navigate large cluttered launch menus. Furthermore, large pop-up menus often appear to be unattractive to the user and do not appear to be designed to fit very well within the program launch menu. While users can manually organize their program launch menus to minimize at least some clutter, this is tedious and time consuming, and not all users have a level of experience in knowing how to organize their program launch menus.
One organizational feature used in program launch menus is to provide a list of shortcuts to Most Frequently Used (MFU) or Most Recently Used (MRU) items. However, the MFU and MRU lists do not always accurately reflect those applications and/or documents that are currently desired by the user. For example, the MFU list does not necessarily display recently used documents or applications, whereas the MRU list does not necessarily display commonly used documents or applications.
It would therefore be an advancement in the art to provide a program launch menu in an operating system, wherein the program launch menu provides a more intuitive organization and provides features that allow a user to more efficiently find a desired application or document.
Summary of The Invention
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
To overcome the above-described limitations in the art, and to overcome other limitations that will become apparent upon reading and understanding the present specification, various illustrative aspects of the present invention are directed to program launch menus and improvements therein, including, for example and without limitation, improved search tools within program launch menus, improved navigation capabilities for selectable items within program launch menus, and improved heuristics for selection of items appearing on a list of commonly used items within program launch menus.
According to an illustrative aspect of the invention, a computer may assist in performing a method for displaying a list of historically selected items in a computer program menu. The method may include determining a Most Frequently Used (MFU) item, determining a most recently used item (MRU), and displaying the MRU item and the MRU item in a list in a menu on a computer display device. The menu may optionally be a program launch menu, such as the Start menu. The selection of MRU and MFU items may optionally be based on the number of usage points associated with each selectable item, with the plurality of items having the highest number of usage points included in the list. Usage points may be determined by adding points when an item is used by a user and subtracting points when an item is not used by a user. When an item is used, it may optionally receive enough usage points, e.g., by adding enough usage points to equal the usage points of the last item previously included on the list, to ensure that the item will be included in the list.
According to another illustrative aspect of the invention, one or more computer readable media may store computer software for selecting items displayed in a program launch menu of an operating system. The method may include determining a number of usage points corresponding to each of a plurality of items that can be included in the program launch menu by assigning an initial number of usage points to each of the plurality of items. When one of the items runs within the operating system, the software increases the number of usage points corresponding to the item. The software decrements usage points corresponding to any items that have not been run within the operating system for one or more predetermined time periods. The software determines a predefined number of the plurality of items as having a maximum number of usage points and displays the determined items in a program launch menu.
According to an illustrative aspect of the invention, a program launch menu, such as a Start menu, displays a search text entry box within the program launch menu displayed on a computer display device, which can be used to locate user selectable items on a computer system. Aspects of the invention may allow for display of search results within a program launch menu that identify selectable items that match text input received from a user via a search text entry box. The search results may optionally be grouped according to the type of each matching selectable item, e.g., application, document, internet, communication, etc., and may optionally be sorted within each group based on one or more secondary criteria, such as date of modification. According to various aspects of the present invention, a search may be conducted for metadata for each selectable item, or for a full text search of the content of the selectable item, as appropriate.
According to an illustrative aspect of the invention, one or more computer-readable media may store computer software for providing a keyboard shortcut for running items stored on a computer system. After detecting that a user presses a program launch menu key on a keyboard directly or indirectly connected to the computer system, the computer displays a program launch menu on a display device directly or indirectly connected to the computer system. After displaying the program launch menu, the computer automatically provides input focus to a search text entry box within the program launch menu displayed on the computer display device. The computer displays the search results within a predefined area of the program launch menu, and automatically provides a focus of selection of the best search result, wherein the search results include selectable items that match text input received from the user via the search text entry box. When a predefined user input, such as < Enter >, is received while the best search result has selection focus, the computer launches a selectable item corresponding to the best search result.
According to yet another illustrative aspect of the invention, one or more computer readable media may store software for providing a program launch menu. The software may display a program launch menu on a display device of the computer system, wherein the program launch menu is capable of displaying at least three views. The first view may display all applications in a user navigable structure. The second view may display the most common selectable items including the most recently viewed items and the most frequently used items. The third view may display search results for selectable items that match text input received from the user through a search text entry box displayed within the program launch menu. The user may toggle between views using a toggle control displayed on the computer screen. If the user enters text in the search box, a search results view may be automatically displayed.
According to another illustrative aspect of the invention, there is a method of displaying on a computer display device a list of selectable items in a program launch menu of an operating system executing on a computer system. The method may include displaying, on a computer display device, a program launch menu having a predefined area in which a plurality of selectable items may be displayed, wherein the plurality of selectable items are arranged according to a hierarchical structure, and wherein each item includes one of an expandable item and a launchable item. The method may initially display a first subset of the plurality of selectable items in a predefined area, wherein each selectable item in the first subset is at a top level of the hierarchy. In response to a user selecting a first expandable item in the first subset, the method may rearrange the items within the predefined area to provide space for hierarchical display of a second subset of the plurality of selectable items in the predefined area, the second subset including one or more sub-items of the first expandable item. The method may execute a program application associated with the executable item in response to a user selecting any of the executable items displayed in the predefined area. The display of selectable items can optionally be a hosted tree or nested tree view of items.
According to yet another illustrative aspect of the invention, one or more computer-readable media may store computer software for displaying a nested or hosted tree view of a plurality of selectable menu items in a predefined area of a program launch menu displayed on a computer display device.
According to another illustrative aspect of the invention, a computer system can include stored software that displays a nested tree view of a plurality of selectable items within a non-computer resizable predefined area of a program launch menu. Optionally, in response to a user selecting a first expandable item in the nested tree view, the software rearranges items within the predefined area to provide space for hierarchically displaying a subset of the plurality of selectable items in the predefined area, the subset including one or more sub-items of the first expandable item. The software may run an application corresponding to an executable item selected by a user from a plurality of selectable items displayed in the predefined area.
Brief Description of Drawings
A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description in consideration of the accompanying drawings, in which like reference numbers indicate like features, and wherein:
FIG. 1 illustrates an operating environment in which one or more illustrative aspects of the invention may be implemented.
FIG. 2 illustrates a prior art screenshot of a desktop and program launch menu.
FIG. 3 illustrates a screenshot of a desktop containing a program launch menu according to one or more illustrative aspects of the invention.
FIG. 4 shows a program launch menu according to one or more illustrative aspects of the invention.
FIG. 5 shows a program launch menu according to one or more illustrative aspects of the invention.
FIG. 6 shows a program launch menu according to one or more illustrative aspects of the invention.
FIG. 7 illustrates a state diagram for use with a program launch menu according to one or more illustrative aspects of the invention.
FIG. 8 illustrates an alternative state diagram for use with a program launch menu according to one or more illustrative aspects of the invention.
FIG. 9 shows a method for determining valid items for inclusion on a most frequently used list in accordance with one or more illustrative aspects of the invention.
FIG. 10 shows a menu hierarchy that may be used in accordance with one or more illustrative aspects of the invention.
FIGS. 11A and 11B illustrate alternative menu hierarchies that may be used in accordance with one or more illustrative aspects of the present invention.
FIG. 12 shows a screenshot showing a program launch menu for All Programs, according to an illustrative aspect of the invention.
FIG. 13 illustrates a tie breaking (tiebreking) rule for search results according to an illustrative aspect of the invention.
FIG. 14 illustrates a tie breaking rule for search results according to an illustrative aspect of the invention.
Detailed description of the invention
In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or functional modifications may be made without departing from the scope and spirit of the present invention.
Illustrative operating Environment
FIG. 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented. The computing environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers; a server computer; a portable or handheld device, such as a Personal Digital Assistant (PDA), tablet PC, or laptop PC; a multi-processor system; a microprocessor-based system; a set-top box; programmable consumer electronics; a network PC; a small-sized machine; a mainframe; a game console; a distributed computing environment including any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110. Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory 130 to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, Advanced Graphics Port (AGP) bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD, or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as Read Only Memory (ROM)131 and Random Access Memory (RAM) 132. A basic input/output system 133(BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 1 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM, DVD, or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, DVDs, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
The drives and their associated computer storage media discussed above and illustrated in FIG. 1, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110. In FIG. 1, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137, respectively. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers in FIG. 1 to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port, a Universal Serial Bus (USB), or an IEEE1394 serial bus (firewire). At least one monitor 184 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 183. The video adapter 183 may support advanced 3D graphics capabilities in addition to having its own specialized processor and memory. Computer 110 may also include a digitizer 185 to allow a user to provide input using a stylus input device 186. In addition to the monitor, computers may also include other peripheral output devices such as speakers 189 and printer 188, which may be connected through an output peripheral interface 187.
The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a Local Area Network (LAN)171 and a Wide Area Network (WAN)173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 may include a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 1 illustrates remote application programs 182 as residing on memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
One or more aspects of the invention may be embodied in computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc. As will be appreciated by one skilled in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. Further, the functionality may be embodied in whole or in part in firmware or hardware equivalent implementations, such as integrated circuits, Field Programmable Gate Arrays (FPGAs), and so forth.
Exemplary embodiments
FIG. 3 illustrates an example screenshot 301 according to an exemplary embodiment of the present invention. The screenshot in fig. 3 shows a desktop 303, primarily showing an open window 307, one side of which borders a taskbar 309. The desktop 303 may include other elements, including icons 305a, 305b, 302c representing applications, storage locations, or other runnable and/or navigable items. Taskbar 309 may include additional elements including an application button 313 corresponding to open window 307 and a quick launch area 314.
When the user desires to launch a new application, the user moves a pointer (also referred to as a cursor) controlled by a mouse, trackball, or the like, and is in a launch menu 315 (also referred to herein as a launch menu)Called Start Menu) the run Menu itself is first invoked by clicking the Start button 311. Start menu may also be pressed by the user, for exampleKeys (not shown) or the like are attached to the special keys on the keyboard 162 to operate. The Start button 311 is generally located in a fixed position on the taskbar 309. The user can adjust the position of the taskbar 309, but once in place, the Start button 311 becomes a constant and customary starting point for the user to run a new application.
When the user clicks on the Start button 311 in fig. 3, the Start Menu 315 appears as a floating list over the currently open window 307 and desktop 303. Start menu 315 may include multiple areas or regions in which different items, icons, information, and/or options are presented to the user. An item may refer to an application, a storage location, a data file, a navigable URL, or any other selectable or actionable data reference. According to one or more illustrative aspects of the invention, the operating system may be adapted to provide enhanced organization and search capabilities within Start menu 315. The Start menu 315 may include a first area 317 that stores a lock (pinned) item, also referred to as a lock list (pinlist). A locked item is an item that remains in a fixed position on Start menu 315 regardless of the actions taken by the user with respect to selecting and/or running other items. By default, the lock list 317 may be pre-populated with a set of operating system and Original Equipment Manufacturer (OEM) items. However, the user has control over the contents of the locked list 317 and can add, remove, and reorder items to the locked list 317, for example, using drag-and-drop techniques. If the user drags an item out of the lock list 317, the operating system may confirm to the user through a dialog box whether the user does indeed want to unlock the dragged item to ensure that the item is not accidentally dragged out of the lock list 317. According to some aspects of the invention, items may be locked/unlocked through a context menu that is itself presented after an auxiliary input received from an input device, such as "right-clicking" on an item. Items locked through the context menu may appear at the bottom of the lock list 317 by default.
In accordance with one or more illustrative aspects of the invention, the Start menu 315 may include a second area 318 that presents a dynamic list of items according to various criteria. In FIG. 3, region 318 presents a most general (MCU) item list 319, also referred to herein as MCU list 319. The operation and content of the MCU list 319 will be described further below. Region 318 may also include a lock list 317.
The Start menu 315 may include a third area 320 listing common items such as primary storage locations, help information, configuration items, and the like. Area 320 is also referred to herein as a quick link list 320 or quick link 320. The quick link list 320 may optionally be divided into two or more sub-areas 321, 323 to distinguish between operating system defined quick links 321 and OEM quick links 323. The quick link list 320 may include visual barriers between sub-areas 321, 323, and even between individual items or groups of items within each sub-area, to visually distinguish groups of items. As with the lock list 317, the user may control the contents of the quick link list 320, for example, through a control panel (not shown) of the operating system.
The Start menu 315 may also include a view selection button or control 325 to enable a user to select a view to be dynamically displayed in the area 318. Button 325 may behave like a drop-down or pop-up list. The Start menu 315 may provide various views including an MCU List 319, All Programs view 401 (fig. 4), Search Results view 501 (fig. 5), and Run List view 601 (fig. 6), each of which will be described in more detail below. In accordance with an illustrative aspect of the invention, the default view may be MCU list view 319, or any of the other views provided by the operating system in region 318. Not all views need be listed through view control 325, but rather they can be accessed based on user input. The Start menu 315 may also include a search box 327, and system controls 329 (e.g., for shutting down the computer, hibernating, rebooting, or providing access to other system options). Start menu 315 may also be resized using resize control 331. The user may use control 331 to resize Start menu 315 to control how many search results are displayed by controlling the window height, and the length of the filename and item name displayed before truncation by controlling the window width (search results are described further below).
With further reference to FIG. 7, the Start menu 315 may toggle between views based on input from a user of the computer system. That is, the dynamic region 318 may display an MCU List 319, AllPrograms 401, Search Results 501, Run List 601, or Recent Documents (not shown) depending on what the user is doing. View control 325 may be used as a generic control for switching between views. When there are only two primary views (see, e.g., the description of fig. 8 below), view control 325 may appear as a toggle control between the MCU list and All Programs views without displaying a drop-down or pop-up list. Moreover, typing into the search box 327 automatically navigates to a search results view corresponding to the view displayed after the text (e.g., program, document, all, etc.) is entered. Similarly, emptying the search box may navigate back to the previous view. Pressing a navigation control, such as < Esc > or < Backspace >, may also return to the previous view.
Fig. 7 shows a state diagram of the dynamic region 318 of the Start menu 315. In an exemplary embodiment, default state 701 presents MCU list 319 and lock list 317 in dynamic region 318. After text is entered in search box 327, the Start menu dynamically transitions from state 701 to state 703 and search results view 501 is presented in area 318. From state 703, the Start menu returns to state 701 if the user clears the text in search box 327. From state 701, if the user selects All Programs from button 325, Start menu 315 transitions to state 705 where a listing 401 of All available Programs and/or software (e.g., including documents or primary storage areas) is presented in area 318. If the user selects the Recent Documents view (e.g., from button 325 or from the quick link list 320), the Start menu 315 transitions from state 701 to state 707 in which a listing of recently used Documents (as opposed to Documents and programs) may be displayed in area 318. From either state 705 or 707, the user may select the MCU list view from button 325 to return to state 701.
If the user selects Recent Documents, then the Start menu 315 transitions from state 703 to state 711, which effectively filters the displayed search results to include only recently used Documents. From state 707, if the user enters text in search box 327, Start menu 315 also transitions to state 711, displaying the appropriate search results as described herein. From state 711, if the user clears the text from search box 327, Start menu 315 returns to state 707. From state 711, if the user selects the MCU list from button 325 (i.e., the All Documents are deselected), the Start menu returns to state 703. From state 711, if the user selects All Programs from button 325, Start menu 315 transitions to state 709.
From state 703, if the user selects All Programs or clears the search box 327, the Start menu 315 transitions to state 709, effectively filtering the search results to include only applications as opposed to All recently used items. From state 705, after entering text in search box 327, Start menu 315 also transitions to state 709 to display the appropriate search results as described herein. From state 709, if the user clears the text from search box 327, Start menu 315 returns to state 705. From state 709, if the user selects the MCU list from button 325, the Start menu returns to state 703. From state 709, if the user selects Recent Documents from either button 325 or quick link list 320, Start menu 315 transitions to state 711.
The Start menu transitions from state 705 to state 709 after the user enters text in search box 327 and from state 705 to state 707 after the user selects Recent Documents. The Start menu may also return from state 707 to state 705 after the user selects All Programs.
Those skilled in the art will appreciate that different state switching may be used, some states are optional, and additional states may be added. For example, FIG. 8 shows a state diagram of another illustrative embodiment with a reduced set of allowable states based on removing a Recent Documents view. The Start menu 315 transitions from the default state 801 to the state 803 after the user selects All Programs from the select button 325. Start menu 315 transitions from state 801 to state 805 after the user enters text in search box 327.
The Start menu 315 transitions from state 803 Back to state 801 after the user selects the MCU list from button 325 (or "Back" as shown in fig. 4), or after the user selects a navigation control such as < Backspace > or < Esc >. Start menu 315 transitions from state 803 to state 805 after the user enters text in search box 327, in which appropriate search results are presented as described herein. The Start menu 315 may transition from state 805 back to default state 801 after clearing the search text from the search box 327. Although the state diagram of fig. 8 shows only a single search results state (state 805), separate states may optionally be used to display search results based on searches initiated from states 801 and 803 similar to states 703 and 709 of fig. 7. Modifications and/or variations may alternatively be used. For example, when the user selects the AllPrograms view in any of the above state diagrams, the Start menu 315 may automatically adjust the height of the Start menu 315 to the maximum height possible within the desktop 303. The Start menu may remain at the maximum height until the user resizes the Start menu 315 (using control 331), or the Start menu 315 may revert to the previous height when the state transitions out of the All Programs view.
According to an aspect of the invention, the switching may be automatic upon user input (e.g., entering text in search box 327) or performing an operation (e.g., selecting a view from button 325). The operating system 134, 144 may control the operation of the Start menu 315, as described herein. Thus, as described above, when the Start menu 315 switches from one state to another, it does so under the control of the operating system 134, 144 or some other software program. That is, the operating system 134, 144 may dynamically update the Start menu 315 in real-time as the user interacts with the computer system 100.
The operating system may provide various settings detailing the views available in Start menu 315. For example, the user may disable application tracking (i.e., monitor when and how often an item is selected or running), thereby eliminating the MCU list view, while the All Programs view becomes the default view. If the "open them when i pause with my mouse on submenu" control setting is selected, the user need only hover the cursor or mouse pointer over the view control 325 (or displayed return button) to switch views. Each of the various views presented in the various states will now be described in more detail below.
Most general list views
Referring again to FIG. 3, region 318 displays a most general (MCU) list 319 and a lock list 321. MCU list 319 may include a predefined number of recently used or frequently used entries that may be included in an MRU and/or MFU list, for example. The specific number of entries in MCU list 319 may be preset by the operating system and/or modified by the user. The Start menu 315 may be automatically resized based on the number of items in the MCU list 319 or any other area. The MUC list 319 is preferably not collapsed when only a few entries are utilized. Instead, the MCU algorithm may determine which items to include in the MCU list 319 based on usage points and then based on usage dates that break any usage point ties. According to an illustrative aspect of the invention, the last selected item or running application always appears in the MCU list 319, for example by always giving it the same or more usage points as the currently lowest ranked item in the MCU list. The MCU algorithm will be explained in more detail below.
The operating system and/or the user may place items on the locklist 317 in order to ensure that a particular item is always displayed on the Start menu 315 regardless of its purpose. The lock list may be populated with default items, such as Microsoft's Internet, for exampleA web browser, etc. and OEM-selected items. However, the user may modify the lock list, for example, using a context menu of lockable items and/or using drag-and-drop selection techniques.
MCU algorithms address various shortcomings of previously used MFU or recently used (MRU) algorithms. That is, the MFU list does not always include recently used functions. That is, when a recently used application is used very infrequently or is only recently a preferred application for the user, the recently used application may not appear on the MFU list. Similarly, previous algorithms did not ensure that the last running application appeared on the MFU list.
Thus, according to an aspect of the invention, an improved MCU algorithm is used to determine which items to place on the MCU list 319. The MCU algorithm determines which items to place on the MCU list based on the number of usage points granted. The higher the usage points of an item, the higher the MCU list 319 can be placed for that item. When two items have the same number of usage points, items with later last usage or edit timestamps may be prioritized.
Initially, each item on computer 110 or computing environment 100 that may be placed as a list item in MCU list 319 begins with the same number of usage points, e.g., zero. However, to populate the MCU list with a default set of items, the operating system may provide one or more items with a timestamp that is later than the other items. For example, a "Welcomoto Windows" tutorial program, such asExpress, etc. email client, Windows mediaAnd the digital imaging library may be initialized with a time stamp one minute later than other documents or applications stored on the computer 100. Alternatively or in combination with a timestamp, a default item may be initialized with a certain number of usage points to ensure its default on the MCU list 319The placement is recognized. For example, a "Welcome to Windows" tutorial program, such as one that can be initialized at 19, 18, 17, and 16 points, respectivelyExpress, or other e-mail client, Windows MediaAnd a digital imaging library, which also ensures the order in which they are placed on the MCU list. The operating system 134, 144 or other control software may reserve one or more default list locations for OEM items, which may also receive timestamps and/or use points to ensure that they were initially placed on the MCU list 319. For example, in one exemplary embodiment, four OEM items receive 15, 14, 13, and 12 initial usage points, respectively.
Whether an item is retained on the MCU list 319, added to the MCU list 319, or removed from the MCU list 319 after an initial default determination depends on the subsequent use of each item by one or more users of the computer system. Typically, when a user selects or runs an item, points of use are added to the item; when an item is not used within a specified time period, the usage points are subtracted from the item. When the user selects the start button 311, the operating system 134, 144 populates the MCU list 319 with a predetermined number of items having the most usage points, breaking the tie based on the timestamp as described above. Various methods and algorithms may be used to calculate the number of usage points for each item, and those skilled in the art will appreciate that the particular algorithm used is not important to the results it produces, as described herein. The algorithm described below and implemented in a computer system is but one example of a useable algorithm and is not intended to limit the scope of the appended claims.
Fig. 9 illustrates a general MCU algorithm that may be used according to an exemplary embodiment of the present invention. Initially in step 901, the operating system 134, 144 calculates the number of usage points associated with each valid item. As used herein, a valid entry is any entry that may be placed on the MCU list 319 regardless of whether the valid entry is currently placed on the MCU list. The active terms may be defined as any runnable application, storage location, navigable URL, etc., or may be limited to only runnable applications.
In one exemplary embodiment, the valid entries may be limited to folders or files that end at exe,. msc, or. scf, and that are not listed under the operating system registry HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileAssociation \ AddRemoveApps, and that are not set under the application key in HKCR \ Applications \ and that are not set under the nonstretmenu or nonstpage flag, and/or that are not listed in a stored application "kill list" (which should never appear on the MCU list). Even if an application or item does not meet the aforementioned test, it may still be a valid item if it has a StartMenu value under the application key in HKCR/Applications \ in the operating system registry, thereby providing an explicit mechanism so that only infrequently used Applications appear to be valid items.
Once the list of valid items is determined, the operating system 134, 144 calculates the number of usage points for each valid item in step 903. The usage points increase when a valid item is selected, and decrease during a period of time when the valid item is not used. In one exemplary embodiment, when a valid item is first selected, the operating system assigns a usage point number to the selected valid item that is the greater of, for example, six (6) predetermined values, or the minimum number of usage points for any valid item currently qualified for display in the MCU list 319. The larger of these two values is granted to ensure that even the most recently used item that would otherwise not be displayed on the MCU list 319 will be included in the MCU list 319 the next time the operating system 134, 144 generates and/or populates the MCU list 319.
Whenever the active item is reselected, either directly or through a shortcut or link (e.g., through a Start menu search view, All Programs view, MCU list, etc.), the usage points for the active item may be incremented by at least a predetermined number of usage points, e.g., 1, 2, 6, etc., thereby again adding at least enough usage points to ensure that the item is included in the MCU list. When an active item is selected by a shortcut or link, the number of usage points for both the active item and the shortcut or link may be incremented. According to alternative possible embodiments, usage points may be incremented more or less based on additional factors, such as based on the type of item (e.g., application incremented by a predetermined number; document incremented by a predetermined number 1/2; URL incremented by a predetermined number 1/4, etc.), the location of the item (e.g., local item incremented by 1; remote item incremented by 1/2, etc.), and so forth.
The reduction in usage points may be according to any algorithm that reduces usage points based on the general lack of usage of a valid term on some time metric. The usage point reduction may be based on the number of elapsed periods (sessions) during which the valid entry is not used. The time period may be any predefined amount of time or any calculable time limit. For example, in one exemplary embodiment, the period counter is incremented each time the user logs in and is incremented each time the computer system is used for H hours. The value H-12 was found to work well. "use" of a computer system may be defined in various ways. Preferably, "usage" is defined as any use of the computer 110 during the amount of time H. Thus, when a user interacts with the computer system, the operating system sets the "use" flag to true. At the end of the H-hour period since login (or at the end of the H-hour since the "use" flag was set), the operating system increments the period counter, resets the "use" flag to false, and resets the H-hour clock.
For example, if a user goes on vacation for a week and keeps their computer on, no period of time will elapse because the computer is not being used (however, a period of time will elapse for the user's initial login). On the other hand, if a user keeps their computer on for a week while the user is working with the computer, generally speaking, the period will be incremented by one day, assuming that the user is working less than H hours/day. One skilled in the art will appreciate that other values for H may be used.
Once the operating system (or other control software) determines how many time periods have elapsed without a particular valid item being selected or running, the operating system may decrement the usage points for a particular valid item using a reduction factor based on the number of elapsed time periods. In one exemplary embodiment, the reduction factor and/or value may be:
time period of passageReduction of
3Minus 1
6Minus 1
9Minus 1
12Minus the larger of 25% or 2
17Minus the larger of 25% or 3
23Minus the larger of 50% or 4
29Minus the larger of 75% or 5
31Reducing the number of usage points to 0
Those skilled in the art will appreciate that different numbers of elapsed time periods may be used to trigger usage point reduction, and that different usage point reduction factors and/or values may be used instead.
In one embodiment, the usage points for a valid item may be calculated as the cumulative total of the usage points corresponding to the valid item plus the usage points for any shortcuts or links to the valid item. As described herein, the last running timestamp of the active item and any shortcuts or links to the active item are used for tie breaking purposes.
At step 905, the operating system 134, 144 selects the N valid entries with the highest usage point values to populate the MCU list 319, where N is the number of slots in the MCU list and is set by the operating system 134, 144 (e.g., based on the space allocated on the display screen for the MCU list) and/or may be defined by the user. The operating system 134, 144 may optionally filter out from the MCU list valid items that have otherwise been included in the Start menu 315 (e.g., in the lock list 317 or quick link list 320).
As described above, a kill list may be used to prevent certain items from appearing on the Start menu 315. For example, setup programs, documentation, uninstaller programs, and virus scanners generally need not appear on the MCU list 319. In some embodiments, the containment list may include phrases that, when present, prohibit items from being included in the set of valid items. For example, the following phrases, whether capitalized or not, may be used as exemplary containment lists: compiling a file; help; mounting; more information; (ii) self-describing the document; self-describing; firstly, reading; setting; supporting; new content; and (5) removing. Other embodiments may identify a particular application in the kill list. For example, the following applications may be prevented from being included in MCU list 319: setup.exe; install.exe; isuninst. exe; unwase.exe; unwosee 32. exe; st5 uns.exe; rundl32. exe; exe; lnkstub. exe; inoculan. exe; realmon. exe; navwnt.exe; exe.exe; sndvol32. exe; icwconnl. exe; and mobsync. These procedures are merely illustrative of the fact that certain applications may be blocked from being included on the MCU list, and are not limiting of those applications that may be blocked from being included on the MCU list as desired.
Combinations of phrases and specific applications may also be used. Those skilled in the art will appreciate that the above-described algorithm, including the use of allocation and reduction of points, may be used in any MFU/MRU/MCU list algorithm and is not limited to use in the Start menu or program launch menu. The history list of any item may use a population algorithm as described herein, such as a history list of a web browser, audio and/or video files recently played by a media player, and so forth.
All Programs view
When the user selects the view control 325 as shown in FIG. 3 to switch to the All Programs view (i.e., the view control 325 identifies an option to switch to the All Programs view, or the user selects All Programs from a pop-up list resulting from selecting the view control 325), the Start menu 315 switches to the All Programs view shown in FIG. 4. In fig. 4, Start menu 315 in dynamic region 318 displays a list 401 of all available executable applications and/or primary storage locations. The list 401 is preferably displayed in alphabetical order to simplify the ability of the user to visually scan the list 401 to find the desired item. In one exemplary embodiment (not shown), the user may lock an item in a particular location on the list 401, e.g., at the top of the list, similar to locking an item in the MCU view shown in fig. 3.
In some instances, the computer system stores numerous applications and storage locations, and navigating all items can be cumbersome. To simplify the user's ability to navigate list 401, the user may scroll list 401 up or down using a scroll bar as shown in FIG. 4 or using a scroll wheel of an input device (such as a mouse) while a cursor is positioned over list 401.
To further simplify the user's navigation of list 401, Start menu 315 may present list 401 in the hosted tree view so that the user may easily expand and collapse menus and submenus. In one embodiment, such as shown in FIG. 12, when the user clicks or double-clicks on an item in the list 401, if the item is expandable, the Start menu expands the list to display the item under the originally selected item, such as shown in FIG. 12. In FIG. 12, the user has selected the 'Access' list item, in response to which the Start menu 315 expands the list 401 to display sub-hierarchical items under 'Access' including, for example, Access (Accessibility), AdministrationTools, Communications, Entertainment, System Tools, Call, Command Prompt, Notepad, Paint, Synchronize, Explorer, and Wordpad. The user may again select 'accesses' to collapse the item submenu.
In an alternative exemplary embodiment, the Start menu 315 may present the list 401 in the hosted tree view such that the user may expand and collapse menus and sub-menus using identifiable '+' and '-' controls. When the user selects the '+' control, the Start menu 315 may expand the storage location corresponding to the selected control to display the items stored in that storage location, and the control becomes '-'. If the user selects the' -control, the Start menu 315 folds the storage location corresponding to the selected control to hide the items stored in the storage location. FIG. 10 illustrates an example All Programs menu hierarchy that may be used in conjunction with or in place of the top-level hierarchy shown in FIG. 4. FIGS. 11A and 11B, collectively referred to as FIG. 11, together illustrate an alternative, flatter All Programs menu hierarchy that may be used in conjunction with or in place of the top-level hierarchy shown in FIGS. 4 and 10. A flatter hierarchy would be preferable when the space allocated to list 401 is relatively narrow.
If the user selects an item in the expanded storage location, the operating system 134, 144 runs the selected item, or runs an appropriate application to interact with the selected item, and closes the Start menu 315. After the Start menu 315 is re-opened and the All Programs view is selected, the list 401 may appear fully collapsed regardless of its previous state, or the list 401 may appear in the same state as when the user was last expanded or collapsed.
To emphasize the newly installed application to the user, Start menu 315 may highlight the most recently installed application in list 401. Optionally, Start menu 315 may also automatically expand any items that must be expanded to view the highlighted new installation application in list 401, and may also automatically scroll list 401 to the highlighted new installation application.
Using the hosted tree view as described above allows the user to more intuitively navigate the hierarchy of the Start menu item without accidentally opening undesired submenus simply by hovering over the item too long. Furthermore, the hosted tree view described above allows a user to navigate hierarchical items in the Start menu without obscuring as much of the desktop operable area (real estate) as was previously required, allowing the user to view more open windows or folders on the desktop while navigating the Start menu.
Search View
From any view, such as the MCU view shown in FIG. 3 or the All Programs view shown in FIG. 4, the user may type text into a search box 327 to search for the Start menu item. After entering text in the Search box 327, the Start menu 315 automatically switches to the Search Results view 501, such as that shown in fig. 5, displaying Results that match the text entered by the user so far. That is, from the search box 327, the user may perform a character-by-character search on programs, user files, Internet links, and communications over their systems. As will be described further below, when a user enters text in the search box 327, the computer system searches for the entered text. The system may wait until the user pauses typing before displaying the search results, or the system may initiate a new search as the user enters each additional character.
The Start menu 315 under the control of the operating system 134, 144 or any other controlling software (where the Start menu 315 performs some action, it is understood to be under the control of the operating system 134, 144 or other controlling software) may use any built-in or known search engine to perform a search on the computer system 100. The search engine preferably searches the file system of the computer 110, as well as the URL and executable code in the user path. The search service may also include search results from other data providers, such as web search results from a web search engine, photo results from photo websites such as Picasa, music results from services such as MSN music, or search results from any combination of these and/or other data providers. The search engine may index all searchable locations in order to speed up the search.
Further, the search engine may use a variety of data sources and/or data providers, each of which need not be a "search" provider. For certain types of data, the search engine may automatically retrieve all relevant information from the data store regarding the type of data or file being searched, and then filter the information based on the search criteria to find search results. So that the data store does not perform a search, it only provides relevant information for the search engine to search/filter accordingly. By using multiple data providers at once, the search engine may use different providers for different types of search results (e.g., one provider for programs, one provider for email, etc.), or the search engine may use the same type of provider running on different machines on the network in order to get results from different machines (e.g., to find files on all computers on the local network). Each data provider may be a built-in data provider residing on a computer system or a remote trusted source connectable over a network, such as a remote data provider or a third party data provider.
The search results view 501 preferably groups results according to result type, although this is not required. In one exemplary embodiment, the following groups are used: programs (executable), files (non-executable), the internet (URL), and communications (any file considered to be a communication, such as email, IM logs, etc.). In some embodiments, the user may select which directory is shown in the search results. For example, a user may exclude internet search results and include email results, depending on personal preferences. Because of the amount of time it takes to perform a search from time to time, the search results may be displayed in a two-step process. In step 1, each of the four sets receives the same amount of allocated space in the search results view 501 as the search progresses. This can be calculated by dividing the total amount of space by the number of groups, and additional space can be allocated from top to bottom. When the search engine identifies results during step 1, the Start menu 315 displays the results in the appropriate group. Preferably, the results will not be displayed unless the results cannot be later replaced by a better result of the same type. The search engine may ensure that the results cannot be replaced by searching in the order of priority of the data providers. For example, if an application always has precedence over all other types of files, once the search engine finishes searching for program files and/or folders, the search engine may display all application results even though it has not finished searching for other folders because no matter what the search engine identifies in the other folders, they will not get a higher priority position in the search results than the found application. However, any results can be displayed when the results are identified, if desired.
Step 2 begins when the search engine completes its search. In step 2, the Start menu 315 reallocates the allocated space in the search results view 501 by removing the group with no results and reallocating space to the group with results. The space may be redistributed evenly among the remaining groups or may be apportioned based on how many results each group has. Also, the allocated space can be reduced based on a group having only a small number of search results. For example, if a group has only two results and the allocated space is sufficient to display three results, Start menu 315 may allocate sufficient space to the group to display only its two result items.
The Start menu 315 may determine which items to display for each group in various ways. For example, in FIG. 5, the user has only typed the letter 'w', which matches numerous results in each directory. Thus, the Start menu 315 (or search engine) must decide the order in which results that equally match the text entered by the user are displayed. In a first exemplary embodiment, Start menu 315 may present n matching items in terms of their modified dates back from the current date and/or time, where n is based on the amount of space allocated to the group in which the items are displayed. In another exemplary embodiment, the Start menu 315 may display any of the items: first, item names begin with a text that matches the text entered by the user; secondly, a word except the initial word begins with a word matched with the word input by the user; third, any text that matches the text entered by the user.
In another alternative embodiment, the Start menu 315 may order the equally matched items according to other predefined criteria, such as whether the match is based on information associated with the item (e.g., metadata), information in the item (e.g., a full-text search), a storage location of the item, information associated with the storage location of the item (e.g., if both items are identified in the URL history folder, the most recently accessed item may be prioritized over the other items). In an exemplary embodiment, the ordering and tie breaking rules of FIG. 13 may be used. Thus, any item stored in Start menu locklist 317 (fig. 3) that matches metadata information related to the item, such as the item name, will be displayed above the other items. If two or more items both match based on their inclusion in the locklist 317, then the two items may be sorted based on their order in the locklist 317.
Those skilled in the art will appreciate that additional or alternative tie breaking and ordering rules may be used, and that the rules shown in FIG. 13 are only one example of possible tie breaking and ordering rules.
When displaying search results, the Start menu 315 may display the relevant portion of the item name that matches the item to the text entered by the user, in bold, italics, etc. (not shown). When the user hovers the cursor over a search result item, Start menu 315 may display metadata that matches the item to the user-entered text. In addition, search results view 501 may include an identification of the number of matches in each group (e.g., 25 matches, 512 matches, 61 matches internet URLs, and 3,121 matches of communications in this example). During step 1, the search results view may display "searching" rather than the number of matches as the search is ongoing. Once the number of matches is displayed, the user can select the group name or number of matches to navigate to a separate search window (not shown) that lists only the results within the selected category.
If no results exist, the search results view may display no results icon or an error message, or only a best match (top match) for "search < foo >", where < foo > is the text entered by the user. After selecting "search < foo >", the computer system 100 may initiate a broader search for user-entered text, for example, by running a full-text search or full-text search window. In a full-text search, a user is able to search a computer for < foo >, search the internet, and/or search some other computer or database, regardless of where the word < foo > appears.
According to an illustrative aspect of the invention, a user may simply run a search result item by clicking on the item or simply pressing < Enter > if the desired search result item has the focus of selection. By default, the search results view 501 highlights the best match 503. Thus, if the user wants to run the best match, the user may simply press < Enter >. Because there is one set of best matches for each set displayed, the search engine or Start menu must determine the global best match from the best matches for all sets. That is, each search may only have one best match. If the user presses < Enter >, the operating system 134, 144 runs the best match. The global best match may be based on similar rules as the tie breaking and ranking rules in FIG. 13, or using different rules, such as the rules shown in FIG. 14. The rules in FIG. 14 are combined with rules not included in FIG. 13, such as whether the search result item is also associated with a keyboard shortcut, whether the search result item is a URL, and whether the search result item has a first word that matches a search string. Preferably, the best match is selected only after the search engine determines that no other terms will replace the best match, i.e., all search results from higher priority locations are identified.
In use has<Windows>In a keyboard 162 of keys and computer system using the Start menu search box as described herein, a user may more easily run items using a near indeterminate number of keyboard shortcuts. I.e. when the user presses down<Windows>Key (not shown), the operating system displays the Start menu, and search box 327 has input focus by default. The user may immediately begin typing the text of the term he or she wants to search. If the user types in<Windows>、‘w’、‘o’、<Enter>If, ifThe word processing program is installed and if it is the best match, the operating system will run the program. No mouse manipulation is necessary (however, of course permissible if desired). By learning which searches produce the desired results, the user can learn numerous keyboard shortcuts to quickly run the desired item that is returned as the best match to the entered search string. Given time and trends, users can learn keyboard shortcuts that run most applications and documents on their computers without having to manually link or set the keyboard shortcuts to correspond to a particular file before.
In some embodiments, certain keyboard accelerator keys (accelerators) may produce predefined search results, for example, when the keyboard accelerator key is used to run an associated program. Thus, in a system where the key combination < Windows > - 'c' runs Control Panel, if the user enters 'c' in the search box, the best match will default to Control Panel until the user enters additional text. Other common keyboard acceleration keys may include H-Help and Support, S-Search, R-Run, L-Log Off, and U-Shut Down. Additional or different keyboard acceleration keys may be used instead or configured by the user.
Instead of running the best item, the user may navigate to the alternative item using cursor keys or clicking on the alternative search result item to highlight the alternative item. Regardless of the search term (best match, etc.) that is currently highlighted, Start menu 315 enters any text entered by the user, including < backspace >, etc., into search box 327, which is why the best match has selection focus. The search box 327 and the currently selected match may be considered as receiving a combination of input focus, text input directed to the search box 327 and selection input directed to the currently selected match, but highlighting only the currently selected match.
According to an illustrative aspect of the invention, the user may limit the location, files, and/or file types searched using special input commands entered into the search box 327. As shown in FIG. 6, the user may limit the location searched by appending an identifier of the storage location before the text entered into the search box 327. As shown in fig. 6, typing in the storage location identifier may cause Start menu 315 to replace search results view 501 with auto-complete view 601. In this example, '\\' refers to the root directory of the inline data network. Alternatively, the user may enter 'C: \' to specify a C: drive-based storage path (other drives and/or storage locations may alternatively be specified). Location definition identifiers 'http://' and/or 'www' may be used, for example to limit results to a URL history or other list of URLs. When the user enters a location-defining identifier, the Start menu 315 may display the results 601 using a look-ahead (look-ahead) or auto-complete (auto-complete) view as shown in fig. 6. That is, each result listed in the list 601 matches the user-entered text in the search box 327. The user may enter more text to further limit the results, or scroll to the desired search results and tap back to run the selected item. Using the look-ahead feature in conjunction with the Start menu search box 327, the user can Run any file without navigating to the Start | Run (launch | Run) option as required by previous operating systems.
If the text entered into the search box 327 is a command known to the operating system 134, 144 or the computer 110, the Start menu 315 may display the command as a primary match result or as a best match in some form of emphasis, such as bold, first displayed, list top, list bottom, closest selection focus position, etc. Known commands may be limited to commands found within a location defined by a Path variable of the computer 110.
According to an aspect of the invention, the user may enter variables for the command line in search box 327, which are then entered when the selected command is run or worked on. For example, if the user types "ipconfig-release" in the search box 327, the command "ipconfig" is presented as a match. After selecting the "ipconfig" result and pressing enter (or click, etc.), the computer automatically inserts "-release" as the command line parameter. Allowing the user to specify Command line parameters adds flexibility without requiring the user to Run a Start | Run window or a separate Command (Command window) to specify Command line parameters while running the file.
As shown in FIG. 5, when the search box 327 contains text, the search box 327 may also display an 'X' 505, which will clear any text from the search box 327 after the user selects 'X'. When the search box is cleared, for example by selecting displayed 'X' 505, the Start menu returns to the previously displayed view, for example, MCU view 319 or All Programs view 401. When the search box 327 is empty, it may be displayed in a reduced visibility manner, such as shown in FIG. 3, with default instruction text written in gray.
When the user makes a secondary selection (e.g., "right-click") within the search box 327, the Start menu 315 may display a context menu. The context menu, in addition to providing known cut, copy and paste commands, also displays a predefined number, e.g., six (6), of recent search strings. In an alternative embodiment, the above menu may instead display the names of the last six (or other number) results run, rather than finding the search string for those results.
Upon selection of the displayed magnifying glass 507 (or alternate icon), the operating system may open a new search window and display the search results in the newly opened window (not shown).
Keyboard shortcuts may be used to navigate the Start menu search results view 501, auto complete view 601, or other views. For example, the < Esc > key may cause the search box 327 to empty any text and return to a previous view (e.g., MCU or All Programs); the left and right cursor keys may move the cursor when there is a word in the search box 327; the up and down cursor keys may move the focus in the currently displayed view or list (e.g., views 319, 401, 501, 601); Ctrl-X, Ctrl-C and Ctrl-V may cut, copy, and paste text, respectively, in the search box 327; the < Tab > key may cycle through the input focus from search box 327 to search box 501 to the locked list 317 (when present) and back to search box 327; when focus is in the search box 327, the < Enter > key runs the best match; when the focus is outside of the search box 327, the < Enter > key is actuated to select the item; Ctrl-Enter may run a web browser to a location defined by the search string, e.g., 'http://' followed by 'www. < search string >. com'; and when the input focus is not located in the search box 327, typing the letter may cause the input focus To jump To the item starting with the typed letter, also referred To as Type-To mode.
According to an illustrative aspect of the invention, the search box 327 may be placed outside the Start menu 315, such as in the taskbar 309, in a sidebar, or floating on the desktop, and provide a mechanism to locate programs, files, and other items without navigating the Start menu 315. The search results and auto-complete results may be presented in a resizable or non-resizable pop-up window above search box 327. After any search results are selected, the selected item is run and the pop-up window is removed. The results pop-up may include a Close button for the user to Close the pop-up if no search results are selected. The pop-up window may also be closed when the input focus is neither on the search box 327 nor on the result pop-up window.
Conclusion
The invention includes any novel feature or combination of features disclosed herein either individually or collectively. While the invention has been described with respect to specific examples including presently preferred modes of carrying out the invention, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and techniques. Accordingly, the spirit and scope of the invention should be construed broadly as set forth in the appended claims.

Claims (18)

1. A method of displaying on a computer display device a list of selectable items in a program launch menu of an operating system executing on a computer system, comprising the steps of:
receiving an indication of displaying a default program operating menu initiated by a user through manipulating a button on the taskbar;
displaying the default program launch menu of an operating system on a computer display device, the default program launch menu having a predefined area in which a plurality of selectable items and a selection control can be displayed;
receiving an indication of a view initiated by a user at the selection control, the selection control allowing the user to indicate the view by presenting a list of views available for selection;
determining a selected program launch menu based on the indicated view;
displaying the selected program launch menu of an operating system on a computer display device, the selected program launch menu having a same predefined area and location as the default program launch menu in which a plurality of selectable items are displayable, wherein the plurality of selectable items are arranged according to a hierarchical structure, wherein the predefined area presents a nested tree view of at least a portion of the plurality of selectable items, and wherein each of the plurality of selectable items comprises one of an expandable item and an executable item based on a type of the selected program launch menu;
initially displaying a first subset of the plurality of selectable items in the predefined area, wherein each selectable item in the first subset is at a top level of the hierarchy; and
if the type of the selected program launch menu indicates that each item of the plurality of selectable items is an expandable item, rearranging the items within the predefined area in response to a user selecting a first expandable item of the first subset to provide space for hierarchically displaying a second subset of the plurality of selectable items in the predefined area, the second subset including one or more sub-items of the first expandable item, and
in response to user input selecting a second expandable item in the second subset, rearranging items within the predefined area to provide space for hierarchical display of a third subset of the plurality of selectable items in the predefined area, the third subset including one or more sub-items of the second selectable item.
2. The method of claim 1, further comprising maintaining the size of the predefined area unless a user explicitly resizes the program launch menu.
3. The method of claim 1, further comprising maximizing a height of the predefined area based on a height of an operating system graphical user interface.
4. The method of claim 1, wherein each runnable item represents one of an application, a storage location, and a file type.
5. The method of claim 1, further comprising the step of displaying window widgets adjacent to the expandable items, wherein each window widget indicates whether a respective expandable item is in an expanded or unexpanded state, and wherein the user can interact with each window widget to switch the respective expandable item between the expanded and unexpanded states.
6. The method of claim 1, wherein the types of program launch menus include most common lists, all program views, search result views, and launch list views.
7. The method of claim 6, further comprising:
receiving an indication of a typed character initiated by a user at a search box secured to the predefined area;
automatically navigating to the search result view, wherein the search result view includes the plurality of selectable items related to the typed character; and
displaying the search result view on the computer display device as the program launch menu of an operating system.
8. The method of claim 1, further comprising executing an application associated with the runnable item in response to the user selecting any runnable item displayed in the predefined area if the type of the selected program run menu indicates that each of the plurality of selectable items is a runnable item.
9. The method of claim 6, wherein the most common list includes a predetermined number of most frequently used items and most recently used items, wherein the predetermined number is based on a size of the predefined area, and wherein a ratio of the most frequently used items and the most recently used items is determined using an algorithm that records and processes usage data of a user.
10. A method of performing a display process, comprising:
displaying a nested tree view of a plurality of selectable menu items in a predefined area of a program launch menu of an operating system displayed on a computer display device, wherein the nested tree view is selected from a plurality of views upon receiving an indication of the nested tree view initiated by a user at a selection control that allows the user to indicate a nested tree view corresponding to the view manifest from a view manifest; and
in response to a user selecting any runnable item displayed in the predefined area, executing an application associated with the runnable item.
11. The method of claim 10, further comprising, in the nested tree view, in response to a user selecting a first expandable item, rearranging items within the predefined area to provide space for hierarchically displaying a subset of the plurality of selectable menu items in the predefined area, the subset including one or more sub-items of the first expandable item.
12. The method of claim 10, further comprising maximizing a height of the predefined area based on a height of an operating system graphical user interface.
13. The method of claim 10, further comprising changing the size of the predefined area only when a user explicitly resizes the program launch menu.
14. A method of performing a display process, the display process comprising:
displaying a default launch menu upon receiving a user-initiated manipulation of a button on a taskbar, wherein the default launch menu has a predefined area in which a first plurality of selectable items and a selection control may be displayed, wherein the size of the predefined area is changed only when the user explicitly resizes the default launch menu;
displaying a nested tree view of a second plurality of selectable items within a predefined area of the default launch menu, wherein the nested tree view is selectable from a plurality of views upon receiving an indication of the nested tree view initiated by a user at the selection control; and
executing an application corresponding to a user-selected executable item of the second plurality of selectable items displayed in the predefined area.
15. The method of claim 14, further comprising, in response to a user selecting a first expandable item in the nested tree view, rearranging items within the predefined area to provide space for hierarchically displaying a subset of the second plurality of selectable items in the predefined area, the subset including one or more sub-items of the first expandable item.
16. The method of claim 14, wherein the selection control is a text box and the user-initiated indication is typing text into the text box.
17. The method of claim 14, wherein the selection control is a selection button that invokes a drop-down list view, and the user-initiated indication is selection of the nested tree view from the list of views.
18. The method of claim 14, wherein the selection control facilitates receiving a user-initiated indication of one or more of the plurality of views, and wherein transitioning between the plurality of views is dynamically performed after detecting the user-initiated indication.
HK08107476.0A2005-03-222005-07-28Operating system launch menu program listingHK1116881B (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US11/085,4702005-03-22
US11/085,470US7512904B2 (en)2005-03-222005-03-22Operating system launch menu program listing
PCT/US2005/026982WO2006101508A1 (en)2005-03-222005-07-28Operating system launch menu program listing

Publications (2)

Publication NumberPublication Date
HK1116881A1 HK1116881A1 (en)2009-01-02
HK1116881Btrue HK1116881B (en)2010-08-27

Family

ID=

Similar Documents

PublicationPublication DateTitle
CN100568188C (en)Operating system launch menu program listing
CN103902297B (en) Operating system program run menu search
US7543244B2 (en)Determining and displaying a list of most commonly used items
AU2014202461B2 (en)Operating system launch menu program listing
HK1116881B (en)Operating system launch menu program listing
HK1199523B (en)Operating system program launch menu search
HK1111248A (en)Operating system program launch menu search
HK1111248B (en)Operating system program launch menu search

[8]ページ先頭

©2009-2025 Movatter.jp