Nothing Special   »   [go: up one dir, main page]

US20140236930A1 - Operating system program launch menu search - Google Patents

Operating system program launch menu search Download PDF

Info

Publication number
US20140236930A1
US20140236930A1 US14/263,817 US201414263817A US2014236930A1 US 20140236930 A1 US20140236930 A1 US 20140236930A1 US 201414263817 A US201414263817 A US 201414263817A US 2014236930 A1 US2014236930 A1 US 2014236930A1
Authority
US
United States
Prior art keywords
user
search
item
menu
input
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US14/263,817
Inventor
David A. Matthews
Charles W. Stabb
Matthew R. Lerner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US14/263,817 priority Critical patent/US20140236930A1/en
Publication of US20140236930A1 publication Critical patent/US20140236930A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • G06F17/30554
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04897Special input arrangements or commands for improving display capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities

Definitions

  • the invention relates generally to computers and computer operating systems. More specifically, the invention provides methods and system for a search box and search capabilities in a graphical user interface of a program launch menu for an operating system.
  • GUI graphical user interface
  • the shell consists of one or a combination of software components that provide direct communication between the user and the operating system.
  • Speed improvements in computer hardware e.g., memory, hard drives, processors, graphics cards, system buses, and the like, have enabled richer GUIs that are drastically easier for users to comprehend.
  • Accompanying hardware price reductions have made computer systems more affordable, enabling broad adoption of computers as productivity tools and multimedia systems.
  • GUIs have allowed users who may have been unschooled or unfamiliar with computers to quickly and intuitively grasp the meaning of desktops, icons, windows, and applications, and how the user can interact with each.
  • the desktop illustrated in FIG. 2 has become the standard graphical metaphor for modern GUIs.
  • the interface is designed to model the real world activity of working at a desk.
  • the desktop typically occupies the entire surface of a single display device, or may span multiple display devices, and hosts subordinate user interface objects such as icons, menus, cursors and windows.
  • the desktop serves as a base work area, where multiple documents and applications can sit open.
  • FIG. 2 illustrates a well-known example of how this may be accomplished in the Windows XP operating system.
  • the screenshot 200 displays desktop 201 , bordered on one side by taskbar 203 , and featuring open window 202 .
  • a pointer also referred to as a cursor
  • the Start button 205 is generally located in a fixed location on the taskbar 203 . A user may adjust the location of the taskbar 203 , but once in place, the Start button 205 becomes a constant and familiar starting point for the user to launch new applications.
  • Start Menu 204 appears as a floating list on top of the currently open window 202 and desktop 201 .
  • a subsequent submenu 206 of the Start Menu 204 here triggered when the user clicks on or hovers over the “Programs” list item, appears on top of and to the right of the original Start Menu in order to show more choices.
  • Program launching menus (e.g., the Start Menu) that use pop-up menus to display all programs, such as is illustrated in FIG. 2 , have previously been limited in their organization and the functions that a user can perform. It can be difficult for users to navigate through very long lists with deep folder structures. Users often become frustrated when trying to find a desired application or document in the program launch menu because the information in a program launch menu is often cluttered and unorganized, and users often accidentally open or close folders as they are navigating through large cluttered launch menus. In addition, large pop-up menus often appear unattractive to users and do not appear to be designed to fit within a program launch menu very well. While a user can manually organize his or her program launch menu to minimize at least some of the clutter, this can be tedious and time consuming, and not all users are of an experience level to know how to organize their program launch menus.
  • MFU most frequently used
  • MRU most recently used
  • various illustrative aspects of the present invention are directed to a program launch menu and improvements thereto, for example, including but not limited to an improved search facility within a program launch menu, improved navigational capabilities of selectable items within a program launch menu, and improved heuristics for the selection of items that appear on a list of commonly used items within a program launch menu.
  • a computer may assist in performance of a method for displaying a list of historically selected items in a menu of a computer program.
  • the method may include determining a most frequently used (MFU) item, determining a most recently used item (MRU), and displaying on a computer display device the MFU item and the MRU item in the list in a menu.
  • the menu may optionally be a program launch menu, such as a Start menu.
  • the selection of the MRU and MFU items may optionally be based on a number of usage points associated with each selectable item, wherein items with the highest number of usage points are included in the list.
  • the usage points may be determined by adding points when an item is used by a user, and subtracting points as an item goes unused by the user. When an item is used, it may optionally receive enough usage points to ensure that the item will be included in the list, e.g., by adding enough usage points to equal the usage points of the last item previously included on the list.
  • one or more computer readable media may store computer software for selecting items for display 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 capable of inclusion in the program launch menu by assigning an initial number of usage points to each of the plurality of items.
  • the software increases usage points corresponding to that item.
  • the software decreases usage points corresponding to any item that is not launched within the operating system for one or more predetermined periods.
  • the software determines a predetermined number of the plurality of items as having the largest numbers of usage points, and displays in the program launch menu the determined items.
  • a program launch menu such as a Start menu, displays a search text input 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.
  • Various aspects of the invention may provide for a display of search results within the program launch menu, the search results identifying selectable items matching text input received from a user via the search text input box.
  • the search results may optionally be grouped according to a type of each matching selectable item, e.g., application, document, Internet, communication, etc., and may optionally be ranked within each group based on one or more secondary criteria, such as a modification date.
  • searches may be conducted against metadata of each selectable item, or against a full-text search of the contents of selectable items, as appropriate.
  • one or more computer readable media may store computer software for providing a keyboard shortcut for launching an item stored on the computer system.
  • the computer Upon detection that a user has pressed 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.
  • the computer automatically provides an input focus to a search text input box within the program launch menu displayed on the computer display device.
  • the computer displays search results within a predefined area of the program launch menu, wherein the search results comprise selectable items matching text input received from the user via the search text input box, and automatically provides selection focus to a top search result.
  • the computer launches the selectable item corresponding to the top search result when receiving predefined user input, e.g., ⁇ Enter>, while the top search result has the selection focus.
  • 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 a computer system, where the program launch menu is capable of displaying at least three views.
  • a first view may display all application programs in a user-navigable structure.
  • a second view may display the most commonly used selectable items including a most recently viewed item and a most frequently used item.
  • a third view may display search results of selectable items matching text input received from a user via a search text input box displayed within the program launch menu. The user may toggle between the views using a toggle control displayed on the computer screen. If the user enters text in a search box, the search results view may automatically be displayed.
  • 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 may include displaying on a computer display device a program launch menu having a predefined area in which a plurality of selectable items can be displayed, where the plurality of selectable items are arranged according to a hierarchy, and where each item comprises one of an expandable item and a launchable item.
  • the method may initially display in the predefined area a first subset of the plurality of selectable items, where each selectable item in the first subset is at a top level of the hierarchy.
  • the method may rearrange items within the predefined area to provide room to hierarchically display in the predefined area a second subset of the plurality of selectable items, the second subset including one or more children items of the first expandable item.
  • the method may, responsive to the user selecting any launchable item displayed in the predefined area, execute a program application associated with the launchable item.
  • the display of the selectable items may optionally be a hosted or nested tree view of the items.
  • 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.
  • a computer system may include stored software to display a nested tree view of a plurality of selectable items within a non-computer-resizable predefined area of a program launch menu.
  • the software rearranges items within the predefined area to provide room to hierarchically display in the predefined area a subset of the plurality of selectable items, the subset including one or more children items of the first expandable item.
  • the software may launch an application program corresponding to a user-selected launchable item from the plurality of selectable items displayed in the predefined area.
  • FIG. 1 illustrates an operating environment in which one or more illustrative aspects of the invention may be performed.
  • FIG. 2 illustrates a screenshot of a prior art desktop and program launch menu
  • FIG. 3 illustrates a screenshot of a desktop having a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 4 illustrates a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 5 illustrates a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 6 illustrates 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 illustrates a method for determining valid items for inclusion on a most frequently used list according to one or more illustrative aspects of the invention.
  • FIG. 10 illustrates a menu hierarchy that may be used according to one or more illustrative aspects of the invention.
  • FIGS. 11A and 11B illustrate an alternative menu hierarchy that may be used according to one or more illustrative aspects of the invention.
  • FIG. 12 illustrates a screen shot of a program launch menu displaying All Programs according to an illustrative aspect of the invention.
  • FIG. 13 illustrates tie-breaking rules for search results according to an illustrative aspect of the invention.
  • FIG. 14 illustrates tie-breaking rules for search results according to an illustrative aspect of the invention.
  • FIG. 1 illustrates an example of a suitable computing environment 100 in 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; server computers; portable and hand-held devices such as personal digital assistants (PDAs), tablet PCs or laptop PCs; multiprocessor systems; microprocessor-based systems; set top boxes; programmable consumer electronics; network PCs; minicomputers; mainframe computers; game consoles; distributed computing environments that include any of the above systems or devices; and the like.
  • PDAs personal digital assistants
  • tablet PCs or laptop PCs multiprocessor systems
  • microprocessor-based systems set top boxes
  • programmable consumer electronics network PCs
  • minicomputers minicomputers
  • mainframe computers mainframe computers
  • game consoles distributed computing environments that include 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.
  • 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.
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • an illustrative 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.
  • 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.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • AGP Advanced Graphics Port
  • PCI Peripheral Component Interconnect
  • 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.
  • 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.
  • 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.
  • 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 the 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 .
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120 .
  • 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.
  • 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 or other optical media.
  • 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, DVD, 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
  • 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 .
  • 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 . Operating system 144 , application programs 145 , other program modules 146 , and program data 147 are given different numbers here 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 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, universal serial bus (USB), or IEEE 1394 serial bus (FireWire).
  • At least one monitor 184 or other type of display device may also be connected to the system bus 121 via an interface, such as a video adapter 183 .
  • the video adapter 183 may support advanced 3 D 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 .
  • 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.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • the computer 110 When used in a LAN networking environment, the computer 110 may be connected to the LAN 171 through a network interface or adapter 170 .
  • the computer 110 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.
  • program modules depicted relative to the computer 110 may be stored in the remote memory storage device.
  • 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.
  • 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.
  • the functionality of the program modules may be combined or distributed as desired in various embodiments.
  • the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA), and the like.
  • FIG. 3 illustrates a sample screenshot 301 according to an illustrative embodiment of the invention.
  • the screenshot in FIG. 3 displays desktop 303 , bordered on one side by taskbar 309 , and featuring open window 307 .
  • Desktop 303 may include other elements including icons 305 a , 305 b , 305 c representative of applications, storage locations, or other launchable and/or navigable items.
  • Taskbar 309 may include additional elements including application button 313 corresponding to open window 307 , and quick launch area 314 .
  • 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 launch menu 315 (also referred to herein as the Start Menu), which is itself first invoked by clicking on the Start button 311 .
  • the Start menu may alternatively be launched by a user pressing a special key on the attached keyboard 162 , e.g., a Windows® key (not shown).
  • the Start button 311 is generally located in a fixed location on the taskbar 309 . A user may adjust the location of the taskbar 309 , but once in place, the Start button 311 becomes a constant and familiar starting point for the user to launch new applications.
  • Start menu 315 appears as a floating list on top of the currently open window 307 and desktop 303 .
  • Start menu 315 may include multiple regions or areas in which different items, icons, information and/or options are presented to the user.
  • An item may refer to an application program, a storage location, a data file, a navigable URL, or any other selectable or actionable data reference.
  • the operating system may be adapted to provide enhanced organization and search capabilities within the Start menu 315 .
  • Start menu 315 may include a first region 317 storing pinned items, also referred to as pin list 317 .
  • a pinned item is one which remains in a fixed location on Start menu 315 regardless of actions taken by the user with respect to selecting and/or launching other items.
  • the pin list 317 may be pre-populated with a collection of operating system and original equipment manufacturer (OEM) items.
  • OEM original equipment manufacturer
  • a user has control over the content of the pin list 317 and can add, remove, and reorder items in pin list 317 , e.g., using drag and drop techniques. If a user drags an item out of pin list 317 , the operating system may confirm with the user via a dialog box that the user indeed wants to unpin the dragged item, to ensure that the item was not accidentally dragged off the pin list 317 .
  • items may be pinned/unpinned via a context menu, which is itself presented upon a secondary input received from an input device, e.g., “right-clicking” a computer mouse on an item.
  • Items pinned via a context menu may, by default, appear at the bottom of pin lint 317 .
  • Start menu 315 may include a second region 318 presenting a dynamic list of items according to various criteria according to one or more illustrative aspects of the present invention.
  • region 318 represents a most commonly used (MCU) list of items 319 , also referred to herein as MCU list 319 .
  • MCU list 319 The operation and content of MCU list 319 is described further, below.
  • Region 318 may also include the pin list 317 .
  • Start menu 315 may include a third region 320 listing commonly used items, e.g., primary storage locations, help information, configuration items and the like. Region 320 may also be referred to herein as quick link list 320 or quick links 320 .
  • Quick link list 320 may optionally be divided into two or more subregions 321 , 323 to distinguish between operating system defined quick links 321 and OEM quick links 323 .
  • the quick link list 320 may include visual separators between subregions 321 , 323 , and even between individual items or groups of items within each subregion, to visually distinguish groups of items.
  • a user may control the contents of quick link list 320 , e.g., through a control panel of the operating system (not shown).
  • Start menu 315 may further include a view selection button or control 325 , allowing a user to select the view to be dynamically displayed in region 318 .
  • Button 325 may behave similar to a drop down or pop up list.
  • the Start menu 315 may provide views including MCU List 319 , All Programs view 401 ( FIG. 4 ), Search Results view 501 ( FIG. 5 ), and Run List view 601 ( FIG. 6 ), each described in more detail below.
  • 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 may be listed through view control 325 , and instead may be accessible based on input by a user.
  • Start menu 315 may also include search box 327 , and system controls 329 (e.g., to shut down the computer, hibernate, restart, or provide access to other system options). Start menu 315 may also be resizable via resize control 331 . A user may resize the Start menu 315 using control 331 in order to control how many search results to display (search results are further described below) by controlling window height, and by controlling the length of displayed filenames and item names displayed before truncation by controlling window width.
  • Start menu 315 may transition between various views depending on input by a user of the computer system. That is, depending on what the user is doing, the dynamic region 318 may display MCU list 319 , All Programs 401 , Search Results 501 , Run List 601 , or Recent Documents (not shown).
  • View control 325 may act as a general control to switch between views. Where there are only two primary views (e.g., see description of FIG. 8 below), view control 325 may behave as a toggle between MCU list and All Programs view, without displaying a drop down or pop up list.
  • typing into the search box 327 automatically may navigate to the search results view corresponding to the view that was displayed upon entry of the text (e.g., programs, documents, all, etc.). Similarly, clearing 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 illustrates a state diagram for the dynamic region 318 of Start menu 315 .
  • a default state 701 presents MCU list 319 and pin list 317 in dynamic region 318 .
  • the Start menu dynamically transitions to state 703 and search results view 501 is presented in region 318 .
  • the Start menu returns to state 701 .
  • Start menu 315 transitions to state 705 in which a listing 401 of all available programs and/or software (e.g., including documents or primary storage areas) is displayed in region 318 .
  • Start menu 315 transitions to state 707 in which a listing of recently used documents (as opposed to documents and programs) may be displayed in region 318 .
  • the user may select MCU list view from button 325 to return to state 701 .
  • Start menu 315 transitions to state 711 , which effectively filters the already displayed search results to include only recently used documents.
  • state 707 if the user enters text in search box 327 , then the Start menu 315 also transitions to state 711 , displaying the appropriate search results as described herein.
  • state 711 if the user clears the text from search box 327 then Start menu 315 returns to state 707 .
  • the user selects MCU list from button 325 i.e., de-selects All Documents
  • Start menu returns to state 703 .
  • state 711 if the user selects All Programs from button 325 then Start menu 315 transitions to state 709 .
  • Start menu 315 transitions to state 709 , effectively filtering the search results to include only application programs, as opposed to all recently used items.
  • Start menu 315 also transitions to state 709 , displaying the appropriate search results as described herein.
  • Start menu 315 returns to state 705 .
  • the user selects MCU list from button 325 then Start menu returns to state 703 .
  • Start menu 315 transitions to state 711 .
  • the Start menu transitions to state 709 upon the user entering text in search box 327 , and transitions to state 707 upon the user selecting Recent Documents.
  • the Start menu may return to state 705 from state 707 upon the user selecting All Programs.
  • FIG. 8 illustrates a state diagram for another illustrative embodiment having a reduced set of allowable states, namely, based on a removal of the Recent Documents view. From default state 801 , Start menu 315 transitions to state 803 upon the user selecting All Programs from selection button 325 . Start menu 315 transitions from state 801 to 805 upon the user entering text in search box 327 .
  • Start menu 315 may transition back to state 801 upon the user selecting MCU list from button 325 (or selecting “Back” as illustrated in FIG. 4 ), or upon the user selecting a navigation control such as ⁇ Backspace> or ⁇ Esc>. From state 803 , Start menu 315 transitions to state 805 upon the user entering text in search box 327 , in which state the appropriate search results are presented as described herein. From state 805 , Start menu 315 may transition back to default state 801 upon clearing the search text from search box 327 . While the state diagram of FIG.
  • the Start menu 315 may automatically resize the height of Start menu 315 to a maximum possible height within desktop 303 .
  • the Start menu may retain the maximum height until the user resizes the Start menu 315 (using control 331 ), or the Start menu 315 may revert back to a previous height when the state transitions out of the All Programs view.
  • transitions may be automatic at the time the user enters input (e.g., entering text in search box 327 ) or performs an action (e.g., selecting a view from button 325 ).
  • operating system 134 , 144 may control operation of Start menu 315 .
  • Start menu 315 transitions from one state to another, it does so under control of the operating system 134 , 144 , or some other software program. That is, operating system 134 , 144 may dynamically update 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 that may be available in the Start menu 315 .
  • a user may disable application tracking (i.e., monitoring when and how often an item is selected or launched), thereby eliminating the MCU list view, and the All Programs view becomes the default view.
  • application tracking i.e., monitoring when and how often an item is selected or launched
  • the All Programs view becomes the default view.
  • a control setting to “open submenus when I pause on them with my mouse” is selected, then the user need only hover the cursor or mouse pointer on the view control 325 (or back button if displayed) to switch views.
  • region 318 displays most commonly used (MCU) list 319 and pin list 321 .
  • MCU list 319 may include a predefined number of recently used or frequently used items, e.g., as might be included in an MRU and/or MFU list. The specific number of items in MCU list 319 may be preset by the operating system, and/or may be modified by a user. Start menu 315 may be resized automatically based on the number of items in MCU list 319 or in any other region. MCU list 319 preferably does not shrink when only a few items are utilized. Instead, an MCU algorithm may determine which items to include in MCU list 319 based on usage points, and then based on usage dates to break any usage point ties.
  • the last selected item or launched application always appears in the MCU list 319 , e.g., by always being given the same or more usage points than the lowest ranked item presently in the MCU list.
  • the MCU algorithm is explained in more detail below.
  • the operating system and/or user may place items on the pin list 317 in order to ensure that specific items are always displayed on the Start menu 315 , regardless of their use.
  • the pinned list may be populated with default items, for example, a browser such as Microsoft's Internet Explorer® brand web browser, and an OEM selected item.
  • a user may modify the pin list, e.g., using a context menu of pinnable items and/or using drag-and-drop selection techniques.
  • MFU most recently used
  • an improved MCU algorithm is used to determine which items are placed on MCU list 319 .
  • the MCU algorithm determines which items to place on the MCU list based on an awarded number of usage points. The higher an item's usage points, the higher the item may be placed on MCU list 319 . When two items have the same number of usage points, then the item with the later last-use or edit timestamp may receive precedence.
  • each item on computer 110 or computing environment 100 which could be placed as a list item in MCU list 319 begins with the same number of usage points, e.g., zero.
  • the operating system may provide to one or more items a timestamp that is later than other items.
  • a “Welcome to Windows” tutorial program an email client such as Outlook® Express, Windows Media Player®, and a digital imaging library might be initialized with a timestamp that is one minute later than other documents or applications stored on computer 100 .
  • default items may be initialized with a certain number of usage points to ensure their default placement on the MCU list 319 .
  • the “Welcome to Windows” tutorial program, the email client such as Outlook® Express, Windows Media Player®, and the digital imaging library may be initialized with 19, 18, 17, and 16 points, respectively, which also ensures their order of placement on the MCU list.
  • the operating system 134 , 144 or other control software may reserve one or more default list positions for OEM items, which may also receive a timestamp and/or usage points to guarantee their initial placement on MCU list 319 . For example, in one illustrative embodiment, four OEM items receive 15, 14, 13, and 12 initial usage points, respectively.
  • MCU list 319 Whether an item remains on MCU list 319 , is added to MCU list 319 , or is removed from MCU list 319 subsequent to the initial default determination depends on each item's subsequent use by one or more users of computer system. Generally, when a user selects or launches an item, usage points are added to that item; when items go unused for specified periods of time, usage points are subtracted from that item. When a user selects the start button 311 , the operating system 134 , 144 populates MCU list 319 with a predetermined number of items having the most usage points, breaking ties based on timestamps as described above.
  • FIG. 9 illustrates a general MCU algorithm that may be used according to an illustrative embodiment of the invention.
  • operating system 134 , 144 calculates the number of usage points associated with each valid item.
  • a valid item is any item that could be placed on MCU list 319 , regardless of whether the valid item is presently placed on the MCU list.
  • Valid items may be defined as any launchable application, storage location, navigable URL, etc., or may be more limited, e.g., to only launchable applications.
  • valid items may be limited to folders or files ending in .exe, .msc, or .scf, and that are not listed in an operating system registry under HKLM ⁇ Software ⁇ Microsoft ⁇ Windows ⁇ CurrentVersion ⁇ Explorer ⁇ FileAssociations ⁇ AddRemoveApps, and that do not have a NoStartMenu or NoStartPage Boolean flag set under the application key in HKCR ⁇ Applications ⁇ , and/or are not listed in a stored “kill list” of applications that should never appear on the MCU list.
  • an application may still be a valid item if it has a StartMenu value under the application key in HKCR ⁇ Applications ⁇ in the operating system registry, thus providing an explicit mechanism so that an application used only infrequently appears as a valid item.
  • the operating system 134 , 144 in step 903 calculates the number of usage points per valid item. Usage points increase when a valid item is selected, and usage points decay during periods of non-use of a valid item. In one illustrative embodiment, the first time a valid item is selected, the operating system assigns the selected valid item a usage point count to be the greater of a predetermined value, e.g., six (6), or the smallest number of usage points of any valid item currently eligible for display in the MCU list 319 .
  • a predetermined value e.g., six (6)
  • the valid item's usage points may be incremented by at least a predetermined number of usage points, e.g., 1, 2, 6, etc., again adding at least enough usage points to ensure the item is included in the MCU list.
  • a predetermined number of usage points e.g. 1, 2, 6, etc.
  • usage points may be incremented more or less based on additional factors, such as based on the item type (e.g., application programs increment by a predetermined number; documents increment by 1 ⁇ 2 of the predetermined number; URLs increment by 1 ⁇ 4 of the predetermined number; etc.), item location (e.g., local items increment by 1; remote items increment by 1 ⁇ 2; etc.), and the like.
  • item type e.g., application programs increment by a predetermined number; documents increment by 1 ⁇ 2 of the predetermined number; URLs increment by 1 ⁇ 4 of the predetermined number; etc.
  • item location e.g., local items increment by 1; remote items increment by 1 ⁇ 2; etc.
  • Usage point decay may be based on any algorithm that decreases usage points based on a general lack of use of a valid item over some measurement of time. Usage point decay may be based on a number of elapsed sessions during which a valid item has not been used.
  • “Use” of the computer system may be defined in a variety of ways. Preferably, “use” is defined as any use of computer 110 during an amount of time H.
  • the operating system may decrement the usage points of that specific valid item using a decay factor based on the number of elapsed sessions.
  • the decay factor and/or values may be:
  • a valid item's usage points may be calculated as the cumulative total of the usage points corresponding to the valid item in addition to the usage points of any shortcuts or links pointing to the valid item. The most recent runtime timestamp of the valid item and any shortcuts or links to the valid item is used for purposes of breaking ties as described herein.
  • operating system 134 , 144 selects N valid items having the highest usage point values to populate MCU list 319 , where N is a number of slots in MCU list 319 and is set by the operating system 134 , 144 (e.g., based on space allotted to the MCU list on the display screen) and/or may be defined by a user. Operating system 134 , 144 may optionally filter out valid items from the MCU list where the valid item is otherwise already included in Start menu 315 , e.g., in pin list 317 or in quick link list 320 .
  • a kill list may be used to prevent certain items from appearing on Start menu 315 .
  • setup programs, documentation, uninstallation programs, and virus scanners typically do not need to appear on MCU list 319 .
  • the kill list may include phrases that, when present, prohibit an item from being included in the set of valid items.
  • the following phrases, with or without regard to capitalization may be used as an illustrative kill list: Documentation; Help; Install; More Info; Readme; Read Me; Read First; Setup; Support; What's New; Remove.
  • Other embodiments may identify specific applications in the kill list.
  • the following applications may be prevented from inclusion on MCU list 319 : setup .exe; install.exe; isuninst.exe; unwise.exe; unwise32.exe; st5unst.exe; rundll32.exe; msoobe.exe; lnkstub .exe; inoculan.exe; realmon.exe; navwnt.exe; explorer.exe; sndvol32.exe; icwconnl.exe; and mobsync.exe.
  • These programs are illustrative only of the fact that specific applications may be precluded from inclusion on the MCU list, and do not limit those application programs which can be precluded from inclusion on the MCU list, as desired.
  • Start menu 315 transitions to the All Programs view illustrated in FIG. 4 .
  • Start menu 315 in dynamic region 318 , displays a list 401 of all available executable applications and/or primary storage locations.
  • List 401 is preferably displayed in alphabetical order to simplify a user's ability to visually scan list 401 to find a desired item.
  • a user can pin items in a specific location on list 401 , e.g., at the top of the list, similar to pinning items in the MCU view illustrated in FIG. 3 .
  • the computer system stores many applications programs and storage locations, and navigation of all items may be cumbersome.
  • a user can scroll up or down list 401 using a scroll bar as illustrated in FIG. 4 , or using the scroll wheel of an input device (such as a mouse) while the cursor is over list 401 .
  • the Start menu 315 may present list 401 in a hosted tree view so that users can easily expand and collapse menus and submenus.
  • the Start menu expands the list to display the items underneath the initially selected item, such as is shown in FIG. 12 .
  • FIG. 12 In FIG. 12 , when a user either single or double clicks on an item in list 401 , if the item is expandable, the Start menu expands the list to display the items underneath the initially selected item, such as is shown in FIG. 12 .
  • a user has selected an ‘Accessories’ list item, in response to which the Start menu 315 expands list 401 to display the sub-hierarchical items under ‘Accessories,’ including, e.g., Accessibility, Administrative Tools, Communications, Entertainment, System Tools, Calculator, Command Prompt, Notepad, Paint, Synchronize, Windows Explorer, and Wordpad.
  • the user may select ‘Accessories’ a second time to collapse the submenu of items.
  • the Start menu 315 may present list 401 in a hosted tree view so that users can easily expand and collapse menus and submenus using recognizable ‘+’ and ‘ ⁇ ’ controls.
  • the Start menu 315 expands the storage location to which the selected control corresponds to display items stored in that storage location, and the control changes to ‘ ⁇ ’. If the user selects the ‘ ⁇ ’ control, then the Start menu 315 collapses the storage location to which the selected control corresponds to hide the items stored in that storage location.
  • FIG. 10 illustrates a sample All Programs menu hierarchy that may be used in combination with or alternatively to the top-level hierarchy illustrated in FIG. 4 .
  • FIG. 11B collectively referred to as FIG. 11 , together illustrate an alternative, flatter, All Programs menu hierarchy that may be used in combination with or alternatively to the top-level hierarchy illustrated in FIG. 4 and FIG. 10 .
  • a flatter hierarchy may be preferable where the space allotted to the list 401 is relatively narrow.
  • Start menu 315 If a user selects an item in an expanded storage location, operating system 134 , 144 launches the selected item, or the appropriate application to interact with the selected item, and closes Start menu 315 .
  • list 401 may appear completely collapsed, regardless of its prior state, or list 401 may appear in the same state as that in which the user last expanded or collapsed.
  • Start menu 315 may highlight recently installed applications in list 401 .
  • Start menu 315 may also automatically expand any items that necessarily must be expanded in order to see a highlighted newly installed application in list 401 , and may also automatically scroll list 401 to the highlighted newly installed application.
  • Using a hosted tree view as described above allows a user to more intuitively navigate a hierarchy of Start menu items without accidentally opening undesired submenus by simply hovering over an item for too long.
  • the hosted tree view described above allows a user to navigate hierarchical items in the Start menu without covering up as much desktop real estate than was previously needed, thus allowing the user to view more open windows or folders on the desktop simultaneous to navigating the Start menu.
  • Start menu 315 automatically switches to a Search Results view 501 , such as is illustrated in FIG. 5 , displaying results that match text as it has been entered thus far by the user. That is, from search box 327 , a user can perform a character by character search across the programs, user files, Internet links, and communications on his or her system. As the user enters text in the search box 327 , the computer system searches for the entered text, as further described below. The system may wait until the user pauses typing before displaying search results, or the system may initiate a new search with the entry of each additional character by the user.
  • the Start menu 315 under control of the operating system 134 , 144 or other control software (where Start menu 315 performs some action herein, it is understood to be under the control of operating system 134 , 144 or other control software), may use any built in or known search engine to perform searches on computer system 100 .
  • the search engine preferably searches the file system of the computer 110 , as well as URLs and executables in the user's 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 a photo website such as Picasa, music results from a service such as MSN music, or any combination of these and/or other data providers.
  • the search engine may index all searchable locations in order to expedite searching.
  • the search engine may use a variety of data sources and/or data providers, each of which is not required to be a “search” provider.
  • the search engine for certain types of data, may automatically retrieve all relevant information from a data store regarding a type of data or files being searched, and then filter the information to find search results based on the search criteria.
  • the data store does not thereby perform a search, it just provides the relevant information for the search engine to search/filter accordingly.
  • the search engine can use different providers for different types of search results (for example, 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 a network to get results from different computers (for example, to find files on all the computers on a local network).
  • Each data provider may be a built-in data provider resident on the computer system, or a remote trusted source connectable via 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.
  • the following groups are used: programs (executable), files (non-executable), Internet (URLs), and communications (any file perceived as a communication, e.g., email, IM logs, etc.).
  • a user may select which category/-ies is/are shown in the search results. For example, a user might exclude Internet search results and include email results, depending on personal preferences. Due to the amount of time that is sometimes required in order to perform a search, search results may be displayed in a two-step process. In step 1, while the search is ongoing, each of the four groups receives the same amount of allotted space in the search results view 501 .
  • the Start menu 315 displays the results in the appropriate group.
  • a result is not shown unless it is impossible for the result to be replaced later by a better result of the same type.
  • the search engine can ensure that a result cannot be replaced by searching data providers in their priority order.
  • the search engine can show all application programs results, even if it has not finished searching through other folders, because no matter what the search engine identifies in the other folders, they will not get a higher priority placement in the search results than the found application programs.
  • any result may be displayed when the result is identified if desired.
  • Step 2 begins when the search engine has completed its search.
  • the Start menu 315 redistributes the allotted space in search results view 501 by removing groups with no results and redistributing the space to groups having results.
  • the space may be redistributed evenly among the remaining groups, or may be allotted proportionately based on how many results each group has. Also, allotted space may be reduced based on a group only having a small number of search results. For example, if a group only has two results, and the allotted space would otherwise be large enough to display three results, then Start menu 315 might allot enough space to that group to display just its two result items.
  • Start menu 315 may determine which items to display for each group in a variety of manners. For example, in FIG. 5 , the user has only typed the letter ‘w,’ which matches many results in each category. Thus Start menu 315 (or the search engine) must necessarily decide the order in which to display results equally matching the user-entered text. In a first illustrative embodiment, Start menu 315 may present n matching items in order of their modification date, from the present date and/or time proceeding backwards, where n is based on the amount of space allotted to the group in which the items are displayed.
  • Start menu 315 may display any items first where the item's name begins with text matching the user-entered text, second where the item has a word other than its starting word that starts with text matching the user-entered text, and third where the item has any text matching the user-entered text.
  • Start menu 315 may rank otherwise equally matching items according to other predefined criteria, such as whether the match was based on information associated with the item (e.g., meta data), information in the item (e.g., full text search), a storage location of the item, information associated with the storage location of the item (e.g., if two items are both identified in a URL history folder, then the most recently visited item may receive precedence over the other item).
  • information associated with the item e.g., meta data
  • information in the item e.g., full text search
  • a storage location of the item e.g., information associated with the storage location of the item (e.g., if two items are both identified in a URL history folder, then the most recently visited item may receive precedence over the other item).
  • the ranking and tie-breaking rules of FIG. 13 may be used.
  • any item stored in the Start menu pin list 317 ( FIG. 3 ) matching meta data information associated with the item e.g., the item name, will be displayed above other
  • tie-breaking and sort rules may be used, and that the rules illustrated in FIG. 13 are but one example of possible ordering and tie-breaking rules.
  • the Start menu 315 may display in bold, italics, or otherwise (not shown), a pertinent part of an item's name that caused the item to match the user-entered text.
  • the Start menu 315 when a user hovers the cursor over a search result item, may display the meta data that caused the item to match the user entered text.
  • the search results view 501 may include an identification of the number of matching items in each group (e.g., 25 matching Programs, 512 matching Files, 61 matching Internet URLs, and 3,121 matching Communications in the present example).
  • the search results view may display “searching.” Once the number of matching items is displayed, the user may select the group name or number of matching items to navigate to a separate search window (not shown) listing only results within the selected category.
  • the search results view may display a no results icon or error message, or may simply display a top match of “search for ⁇ foo>,” where ⁇ foo> is the text entered by the user.
  • the computer system 100 may initiate a broader search for the user-entered text, e.g., by launching a full-text search or full-text search window.
  • the user may be able to search the computer for ⁇ foo>, search the Internet for ⁇ foo>, and/or search some other computer or database for ⁇ foo>, regardless of where the text ⁇ foo> appears.
  • the user may easily launch a search result item by clicking the item, or by simply pressing ⁇ Enter> if the desired search result item has the selection focus.
  • the search results view 501 highlights the top match 503 .
  • the user may simply press ⁇ Enter>.
  • the search engine or Start menu must determine the global top match from all the group top matches. That is, each search can only have one top match.
  • the operating system 134 , 144 launches the top match if the user presses ⁇ Enter>.
  • the global top match may be based on similar rules as the tie-breaking and ordering rules in FIG.
  • the rules in FIG. 14 incorporate rules not included in FIG. 13 , e.g., whether a search result item is also associated with a keyboard shortcut, whether a search result item is a URL, and whether a search result item has a first word that matches the search string.
  • the top match is preferably chosen only after the search engine has determined that no item will replace it, i.e., all search results from higher priority locations have been identified.
  • a user can more easily launch items using a near indefinite number of keyboard shortcuts. That is, when the user presses the ⁇ Windows> key (not shown), the operating system displays the Start menu, and the search box 327 has input focus by default. The user can immediately start typing text for which he or she would like to search for an item. Thus, if the user types ⁇ Windows>, ‘w’, ‘o’, ⁇ Enter>, the operating system will launch the Microsoft® Word® brand word processor, if installed and if it is the top match. No mouse manipulation is necessary (although, certainly allowable if desired).
  • keyboard shortcuts By learning which searches produce desired results, users can learn many keyboard shortcuts to quickly launch desired items that are returned as the top match to the entered search string. Given the time and inclination, a user can learn keyboard shortcuts to launch most application programs and documents on his or her computer, without being required to previously manually link or set up a keyboard shortcut as corresponding to a specific file.
  • certain keyboard accelerators may result in predefined search results, e.g., where the keyboard accelerator is used to launch an associated program.
  • the keyboard accelerator is used to launch an associated program.
  • Other common keyboard accelerators may include H-Help and Support, S-Search, R-Run, L-Log Off, and U-Shut Down. Additional or different keyboard accelerators may alternatively be used, or configured by a user.
  • the user can navigate to an alternate search result item using cursor keys, or single clicking on the alternate item, thereby highlighting the alternate item.
  • the Start menu 315 applies any text input entered by the user, including ⁇ backspace> and the like, into search box 327 , which is why the top match is said to have selection focus.
  • the search box 327 and the currently selected match may be thought of as a combined item receiving input focus, with text input being directed to the search box 327 and selection input being directed to the currently selected match, but only the current selected match is highlighted.
  • a user may restrict the searched locations, files, and/or file types using special input commands into search box 327 .
  • a user can restrict the locations searched by preceding the text entered in search box 327 with an identifier of a storage location. Typing a storage location identifier may cause the Start menu 315 to replace the search results view 501 with auto-complete view 601 , illustrated in FIG. 6 .
  • ‘ ⁇ ’ refers to a root directory of an intranet data network.
  • the user may enter ‘C: ⁇ ’ to specify a storage path based of the C: drive (other drives and/or storage locations may alternatively be specified).
  • Start menu 315 may display results 601 using a look-ahead or auto-complete view as illustrated in FIG. 6 . That is, each result listed in list 601 matches the user-entered text in search box 327 . A user can either enter more text to further limit the results, or scroll up to a desired search result and hit enter to launch the selected item.
  • Using the look-ahead feature in combination with the start menu search box 327 allows a user to run any file without being required to navigate to a Start
  • Start menu 315 may display the command as a primary match result in some emphasized form, e.g., bold, first, top of list, bottom of list, nearest to selection focus location, etc., or as the top match.
  • Known commands may be limited to commands found within a location defined by a Path variable of the computer 110 .
  • the user may enter command line variables in search box 327 which are then input when the selected command is run or launched. For example, if a user types “ipconfig-release” in search box 327 , the command “ipconfig” is presented as a match. Upon selection of the “ipconfig” result and pressing enter (or clicking, etc.), the computer automatically inserts “-release” as a command line parameter. Allowing users to specify command line parameters provides increased flexibility and precludes requiring that a user launch a Start
  • the search box 327 may also display an ‘X’ 505 which, upon selection by the user, clears any text from the search box 327 .
  • the text box is cleared, e.g., by selecting the displayed ‘X’ 505 , the Start menu returns to the previously displayed view, e.g., either the MCU view 319 or All Programs view 401 .
  • the search box 327 is empty it may display default instructional text written in a reduced visibility manner, e.g., in gray, as illustrated in FIG. 3 .
  • the Start menu 315 may display a context menu when the user makes a secondary selection (e.g., “right-clicking”) within the search box 327 .
  • the context menu in addition to providing known cut, copy and paste commands, may also display a predefined number of recent search strings, e.g., six (6).
  • the context menu may instead display the names of the last six (or other number) of results that were launched, instead of the search string that found them.
  • 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.
  • the ⁇ Esc> key may cause the search box 327 to clear any text and return to the previous view (e.g., MCU or All Programs); left and right cursor keys may move the cursor when text is present in the search box 327 ; up and down cursor keys may move the focus accordingly in the presently displayed view or list (e.g., view 319 , 401 , 501 , 601 ); Ctrl-X, Ctrl-C, and Ctrl-V may cut, copy, and paste text in search box 327 , respectively; the ⁇ Tab> key may move the input focus cyclically from the search box 327 to search results 501 to pin list 317 (when present) and back to the search box 327 ; when focus is in the search box 327 , the ⁇ Enter> key launches the top match; when focus is out of the search box 327
  • search box 327 may be placed outside the Start menu 315 , e.g., in taskbar 309 , in a sidebar, or floating on the desktop, and provide a mechanism to locate programs, files, and other items without navigating through Start menu 315 .
  • Search results and auto-complete results may be displayed in a resizable or nonresizable pop-up window presented above the search box 327 .
  • the results pop-up window may include a Close button for the user to close the pop-up window without selecting a search result.
  • the pop-up window may also be closed when the input focus is on neither the search box 327 nor the results pop-up window.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An operating system program launch menu, such as a Start menu, provides various mechanisms for a user to quickly and efficiently locate and launch desired data items such as programs, data files, storage locations, and the like. A search box within the program launch menu may be used to quickly locate programs, documents, communications, and other data items. An auto-complete feature may be used, e.g., when the user restricts the locations searched for the user-entered search text. A most commonly used program list may include programs based on various criteria including both frequency of use and recent use, thereby always including a most recently used item. An all programs view may display programs and documents in a hosted-tree view within the original confines of the program launch menu, thereby negating the need to open sub-menus on top of a large portion of the desktop displayed on the display device.

Description

  • 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.
  • FIELD OF THE INVENTION
  • The invention relates generally to computers and computer operating systems. More specifically, the invention provides methods and system for a search box and search capabilities in a graphical user interface of a program launch menu for an operating system.
  • BACKGROUND OF THE INVENTION
  • Computer operating systems have evolved significantly in recent years. Typically, these systems have a shell that provides a graphical user interface (GUI) to an end-user. The shell consists of one or a combination of software components that provide direct communication between the user and the operating system. Speed improvements in computer hardware, e.g., memory, hard drives, processors, graphics cards, system buses, and the like, have enabled richer GUIs that are drastically easier for users to comprehend. Accompanying hardware price reductions have made computer systems more affordable, enabling broad adoption of computers as productivity tools and multimedia systems. GUIs have allowed users who may have been unschooled or unfamiliar with computers to quickly and intuitively grasp the meaning of desktops, icons, windows, and applications, and how the user can interact with each.
  • The desktop illustrated in FIG. 2 has become the standard graphical metaphor for modern GUIs. The interface is designed to model the real world activity of working at a desk. The desktop typically occupies the entire surface of a single display device, or may span multiple display devices, and hosts subordinate user interface objects such as icons, menus, cursors and windows. The desktop serves as a base work area, where multiple documents and applications can sit open.
  • An operating system, such as Microsoft Windows XP® brand or Windows 2000® brand operating systems, typically comprise a graphical method for launching new software applications within its GUI. FIG. 2 illustrates a well-known example of how this may be accomplished in the Windows XP operating system. The screenshot 200 displays desktop 201, bordered on one side by taskbar 203, and featuring open window 202. When a 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 is itself first invoked by clicking on the Start button 205. The Start button 205 is generally located in a fixed location on the taskbar 203. A user may adjust the location of the taskbar 203, but once in place, the Start button 205 becomes a constant and familiar starting point for the user to launch new applications.
  • When a user clicks on the Start button 205 in FIG. 2, the Start Menu 204 appears as a floating list on top of the currently open window 202 and desktop 201. A subsequent submenu 206 of the Start Menu 204, here triggered when the user clicks on or hovers over the “Programs” list item, appears on top of and to the right of the original Start Menu in order to show more choices.
  • Program launching menus (e.g., the Start Menu) that use pop-up menus to display all programs, such as is illustrated in FIG. 2, have previously been limited in their organization and the functions that a user can perform. It can be difficult for users to navigate through very long lists with deep folder structures. Users often become frustrated when trying to find a desired application or document in the program launch menu because the information in a program launch menu is often cluttered and unorganized, and users often accidentally open or close folders as they are navigating through large cluttered launch menus. In addition, large pop-up menus often appear unattractive to users and do not appear to be designed to fit within a program launch menu very well. While a user can manually organize his or her program launch menu to minimize at least some of the clutter, this can be tedious and time consuming, and not all users are of an experience level to know how to organize their program launch menus.
  • One organizational feature that has been used in program launch menus is to provide a list of shortcuts to most frequently used (MFU) or most recently used (MRU) items. However, MFU and MRU lists do not always accurately reflect those applications and/or documents currently desired by a user. A MFU list, e.g., will not necessarily display a recently used document or application, and a MRU list will not necessarily display a frequently used document or application.
  • Thus, it would be an advancement in the art to provide a program launch menu in an operating system, where the program launch menu provided more intuitive organization and provided features which allow a user to more efficiently find a desired application or document.
  • BRIEF 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 not intended to identify key or critical elements of the invention or to 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 limitations in the prior art described above, and to overcome other limitations that will be apparent upon reading and understanding the present specification, various illustrative aspects of the present invention are directed to a program launch menu and improvements thereto, for example, including but not limited to an improved search facility within a program launch menu, improved navigational capabilities of selectable items within a program launch menu, and improved heuristics for the selection of items that appear on a list of commonly used items within a program launch menu.
  • According to an illustrative aspect of the invention, a computer may assist in performance of a method for displaying a list of historically selected items in a menu of a computer program. The method may include determining a most frequently used (MFU) item, determining a most recently used item (MRU), and displaying on a computer display device the MFU item and the MRU item in the list in a menu. The menu may optionally be a program launch menu, such as a Start menu. The selection of the MRU and MFU items may optionally be based on a number of usage points associated with each selectable item, wherein items with the highest number of usage points are included in the list. The usage points may be determined by adding points when an item is used by a user, and subtracting points as an item goes unused by the user. When an item is used, it may optionally receive enough usage points to ensure that the item will be included in the list, e.g., by adding enough usage points to equal the usage points of the last item previously included on the list.
  • According to another illustrative aspect of the invention, one or more computer readable media may store computer software for selecting items for display 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 capable of inclusion in the program launch menu by assigning an initial number of usage points to each of the plurality of items. When one of the plurality of items is launched within the operating system, the software increases usage points corresponding to that item. The software decreases usage points corresponding to any item that is not launched within the operating system for one or more predetermined periods. The software determines a predetermined number of the plurality of items as having the largest numbers of usage points, and displays in the program launch menu the determined items.
  • According to an illustrative aspect of the invention, a program launch menu, such as a Start menu, displays a search text input 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. Various aspects of the invention may provide for a display of search results within the program launch menu, the search results identifying selectable items matching text input received from a user via the search text input box. The search results may optionally be grouped according to a type of each matching selectable item, e.g., application, document, Internet, communication, etc., and may optionally be ranked within each group based on one or more secondary criteria, such as a modification date. According to various aspects of the invention, searches may be conducted against metadata of each selectable item, or against a full-text search of the contents of selectable items, 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 launching an item stored on the computer system. Upon detection that a user has pressed 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. Upon displaying the program launch menu, the computer automatically provides an input focus to a search text input box within the program launch menu displayed on the computer display device. The computer displays search results within a predefined area of the program launch menu, wherein the search results comprise selectable items matching text input received from the user via the search text input box, and automatically provides selection focus to a top search result. The computer launches the selectable item corresponding to the top search result when receiving predefined user input, e.g., <Enter>, while the top search result has the selection focus.
  • 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 a computer system, where the program launch menu is capable of displaying at least three views. A first view may display all application programs in a user-navigable structure. A second view may display the most commonly used selectable items including a most recently viewed item and a most frequently used item. A third view may display search results of selectable items matching text input received from a user via a search text input box displayed within the program launch menu. The user may toggle between the views using a toggle control displayed on the computer screen. If the user enters text in a search box, the search results view may automatically be 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 can be displayed, where the plurality of selectable items are arranged according to a hierarchy, and where each item comprises one of an expandable item and a launchable item. The method may initially display in the predefined area a first subset of the plurality of selectable items, where each selectable item in the first subset is at a top level of the hierarchy. Responsive to a user selecting a first expandable item in the first subset, the method may rearrange items within the predefined area to provide room to hierarchically display in the predefined area a second subset of the plurality of selectable items, the second subset including one or more children items of the first expandable item. The method may, responsive to the user selecting any launchable item displayed in the predefined area, execute a program application associated with the launchable item. The display of the selectable items may optionally be a hosted or nested tree view of the items.
  • According to 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 may include stored software to display a nested tree view of a plurality of selectable items within a non-computer-resizable predefined area of a program launch menu. Optionally, responsive to a user selecting a first expandable item in the nested tree view, the software rearranges items within the predefined area to provide room to hierarchically display in the predefined area a subset of the plurality of selectable items, the subset including one or more children items of the first expandable item. The software may launch an application program corresponding to a user-selected launchable item from the plurality of selectable items displayed in the predefined area.
  • BRIEF DESCRIPTION OF THE 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 performed.
  • FIG. 2 illustrates a screenshot of a prior art desktop and program launch menu;
  • FIG. 3 illustrates a screenshot of a desktop having a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 4 illustrates a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 5 illustrates a program launch menu according to one or more illustrative aspects of the invention.
  • FIG. 6 illustrates 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 illustrates a method for determining valid items for inclusion on a most frequently used list according to one or more illustrative aspects of the invention.
  • FIG. 10 illustrates a menu hierarchy that may be used according to one or more illustrative aspects of the invention.
  • FIGS. 11A and 11B illustrate an alternative menu hierarchy that may be used according to one or more illustrative aspects of the invention.
  • FIG. 12 illustrates a screen shot of a program launch menu displaying All Programs according to an illustrative aspect of the invention.
  • FIG. 13 illustrates tie-breaking rules for search results according to an illustrative aspect of the invention.
  • FIG. 14 illustrates tie-breaking rules 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 and functional modifications may be made without departing from the scope of the present invention.
  • Illustrative Operating Environment
  • FIG. 1 illustrates an example of a suitable computing environment 100 in 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; server computers; portable and hand-held devices such as personal digital assistants (PDAs), tablet PCs or laptop PCs; multiprocessor systems; microprocessor-based systems; set top boxes; programmable consumer electronics; network PCs; minicomputers; mainframe computers; game consoles; distributed computing environments that include 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 illustrative 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 the 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 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, DVD, 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. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here 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, universal serial bus (USB), or IEEE 1394 serial bus (FireWire). At least one monitor 184 or other type of display device may also be connected to the system bus 121 via an interface, such as a video adapter 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 may be 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 of skill in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA), and the like.
  • Illustrative Embodiments
  • FIG. 3 illustrates a sample screenshot 301 according to an illustrative embodiment of the invention. The screenshot in FIG. 3 displays desktop 303, bordered on one side by taskbar 309, and featuring open window 307. Desktop 303 may include other elements including icons 305 a, 305 b, 305 c representative of applications, storage locations, or other launchable and/or navigable items. Taskbar 309 may include additional elements including application button 313 corresponding to open window 307, and quick launch area 314.
  • When a 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 launch menu 315 (also referred to herein as the Start Menu), which is itself first invoked by clicking on the Start button 311. The Start menu may alternatively be launched by a user pressing a special key on the attached keyboard 162, e.g., a Windows® key (not shown). The Start button 311 is generally located in a fixed location on the taskbar 309. A user may adjust the location of the taskbar 309, but once in place, the Start button 311 becomes a constant and familiar starting point for the user to launch new applications.
  • When a user clicks on the Start button 311 in FIG. 3, the Start menu 315 appears as a floating list on top of the currently open window 307 and desktop 303. Start menu 315 may include multiple regions or areas in which different items, icons, information and/or options are presented to the user. An item may refer to an application program, 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 the Start menu 315. Start menu 315 may include a first region 317 storing pinned items, also referred to as pin list 317. A pinned item is one which remains in a fixed location on Start menu 315 regardless of actions taken by the user with respect to selecting and/or launching other items. By default, the pin list 317 may be pre-populated with a collection of operating system and original equipment manufacturer (OEM) items. A user, however, has control over the content of the pin list 317 and can add, remove, and reorder items in pin list 317, e.g., using drag and drop techniques. If a user drags an item out of pin list 317, the operating system may confirm with the user via a dialog box that the user indeed wants to unpin the dragged item, to ensure that the item was not accidentally dragged off the pin list 317. According to some aspects of the invention, items may be pinned/unpinned via a context menu, which is itself presented upon a secondary input received from an input device, e.g., “right-clicking” a computer mouse on an item. Items pinned via a context menu may, by default, appear at the bottom of pin lint 317.
  • Start menu 315 may include a second region 318 presenting a dynamic list of items according to various criteria according to one or more illustrative aspects of the present invention. In FIG. 3, region 318 represents a most commonly used (MCU) list of items 319, also referred to herein as MCU list 319. The operation and content of MCU list 319 is described further, below. Region 318 may also include the pin list 317.
  • Start menu 315 may include a third region 320 listing commonly used items, e.g., primary storage locations, help information, configuration items and the like. Region 320 may also be referred to herein as quick link list 320 or quick links 320. Quick link list 320 may optionally be divided into two or more subregions 321, 323 to distinguish between operating system defined quick links 321 and OEM quick links 323. The quick link list 320 may include visual separators between subregions 321, 323, and even between individual items or groups of items within each subregion, to visually distinguish groups of items. As with pin list 317, a user may control the contents of quick link list 320, e.g., through a control panel of the operating system (not shown).
  • Start menu 315 may further include a view selection button or control 325, allowing a user to select the view to be dynamically displayed in region 318. Button 325 may behave similar to a drop down or pop up list. The Start menu 315 may provide views including MCU List 319, All Programs view 401 (FIG. 4), Search Results view 501 (FIG. 5), and Run List view 601 (FIG. 6), each described in more detail below. According to 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 may be listed through view control 325, and instead may be accessible based on input by a user. Start menu 315 may also include search box 327, and system controls 329 (e.g., to shut down the computer, hibernate, restart, or provide access to other system options). Start menu 315 may also be resizable via resize control 331. A user may resize the Start menu 315 using control 331 in order to control how many search results to display (search results are further described below) by controlling window height, and by controlling the length of displayed filenames and item names displayed before truncation by controlling window width.
  • With further reference to FIG. 7, Start menu 315 may transition between various views depending on input by a user of the computer system. That is, depending on what the user is doing, the dynamic region 318 may display MCU list 319, All Programs 401, Search Results 501, Run List 601, or Recent Documents (not shown). View control 325 may act as a general control to switch between views. Where there are only two primary views (e.g., see description of FIG. 8 below), view control 325 may behave as a toggle between MCU list and All Programs view, without displaying a drop down or pop up list. In addition, typing into the search box 327 automatically may navigate to the search results view corresponding to the view that was displayed upon entry of the text (e.g., programs, documents, all, etc.). Similarly, clearing 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 illustrates a state diagram for the dynamic region 318 of Start menu 315. In an illustrative embodiment, a default state 701 presents MCU list 319 and pin list 317 in dynamic region 318. From state 701, upon entering text in search box 327, the Start menu dynamically transitions to state 703 and search results view 501 is presented in region 318. From state 703, if the user clears the text in search box 327, the Start menu returns to state 701. From state 701, if the user selects All Programs from button 325 then Start menu 315 transitions to state 705 in which a listing 401 of all available programs and/or software (e.g., including documents or primary storage areas) is displayed in region 318. From state 701, if the user selects Recent Documents view (e.g., from button 325 or from the quick link list 320) then Start menu 315 transitions to state 707 in which a listing of recently used documents (as opposed to documents and programs) may be displayed in region 318. From either state 705 or 707, the user may select MCU list view from button 325 to return to state 701.
  • From state 703, if the user selects Recent Documents then the Start menu 315 transitions to state 711, which effectively filters the already displayed search results to include only recently used documents. From state 707, if the user enters text in search box 327, then the 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 then Start menu 315 returns to state 707. From state 711, if the user selects MCU list from button 325 (i.e., de-selects All Documents) then Start menu returns to state 703. From state 711, if the user selects All Programs from button 325 then Start menu 315 transitions to state 709.
  • From state 703, if the user selects All Programs or clears the search box 327 then the Start menu 315 transitions to state 709, effectively filtering the search results to include only application programs, as opposed to all recently used items. From state 705, upon entering text in search box 327, Start menu 315 also transitions to state 709, displaying the appropriate search results as described herein. From state 709, if the user clears the text from search box 327 then Start menu 315 returns to state 705. From state 709, if the user selects MCU list from button 325 then Start menu returns to state 703. From state 709, if the user selects Recent Documents from button 325 or quick link list 320 then Start menu 315 transitions to state 711.
  • From state 705, the Start menu transitions to state 709 upon the user entering text in search box 327, and transitions to state 707 upon the user selecting Recent Documents. The Start menu may return to state 705 from state 707 upon the user selecting All Programs.
  • Those of skill in the art will appreciate that different state transitions may be used, some states may be optional, and additional states may be added. For example, FIG. 8 illustrates a state diagram for another illustrative embodiment having a reduced set of allowable states, namely, based on a removal of the Recent Documents view. From default state 801, Start menu 315 transitions to state 803 upon the user selecting All Programs from selection button 325. Start menu 315 transitions from state 801 to 805 upon the user entering text in search box 327.
  • From state 803, Start menu 315 may transition back to state 801 upon the user selecting MCU list from button 325 (or selecting “Back” as illustrated in FIG. 4), or upon the user selecting a navigation control such as <Backspace> or <Esc>. From state 803, Start menu 315 transitions to state 805 upon the user entering text in search box 327, in which state the appropriate search results are presented as described herein. From state 805, Start menu 315 may transition back to default state 801 upon clearing the search text from search box 327. While the state diagram of FIG. 8, illustrates 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 also or alternatively be used. For example, when a user selects the All Programs view in either of the above state diagrams, the Start menu 315 may automatically resize the height of Start menu 315 to a maximum possible height within desktop 303. The Start menu may retain the maximum height until the user resizes the Start menu 315 (using control 331), or the Start menu 315 may revert back to a previous height when the state transitions out of the All Programs view.
  • According to an aspect of the invention, transitions may be automatic at the time the user enters input (e.g., entering text in search box 327) or performs an action (e.g., selecting a view from button 325). As described herein, operating system 134, 144 may control operation of Start menu 315. Thus, as described above, when Start menu 315 transitions from one state to another, it does so under control of the operating system 134, 144, or some other software program. That is, operating system 134, 144 may dynamically update 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 that may be available in the Start menu 315. For example, a user may disable application tracking (i.e., monitoring when and how often an item is selected or launched), thereby eliminating the MCU list view, and the All Programs view becomes the default view. If a control setting to “open submenus when I pause on them with my mouse” is selected, then the user need only hover the cursor or mouse pointer on the view control 325 (or back button if displayed) to switch views. Each of the various views presented in the various states will now be described in more detail below.
  • Most Commonly Used List View
  • Referring back to FIG. 3, region 318 displays most commonly used (MCU) list 319 and pin list 321. MCU list 319 may include a predefined number of recently used or frequently used items, e.g., as might be included in an MRU and/or MFU list. The specific number of items in MCU list 319 may be preset by the operating system, and/or may be modified by a user. Start menu 315 may be resized automatically based on the number of items in MCU list 319 or in any other region. MCU list 319 preferably does not shrink when only a few items are utilized. Instead, an MCU algorithm may determine which items to include in MCU list 319 based on usage points, and then based on usage dates to break any usage point ties. According to an illustrative aspect of the invention, the last selected item or launched application always appears in the MCU list 319, e.g., by always being given the same or more usage points than the lowest ranked item presently in the MCU list. The MCU algorithm is explained in more detail below.
  • The operating system and/or user may place items on the pin list 317 in order to ensure that specific items are always displayed on the Start menu 315, regardless of their use. The pinned list may be populated with default items, for example, a browser such as Microsoft's Internet Explorer® brand web browser, and an OEM selected item. However, a user may modify the pin list, e.g., using a context menu of pinnable items and/or using drag-and-drop selection techniques.
  • The MCU algorithm addresses various shortcomings of previously used MFU or most recently used (MRU) algorithms. Namely, a MFU list does not always include recently used functionality. That is, a recently used application might not appear on a MFU list where that recently used application is used very infrequently, or only recently became a preferred application of a user. Similarly, previous algorithms do not ensure that the last launched application is on the MFU list.
  • Thus, according to an aspect of the present invention, an improved MCU algorithm is used to determine which items are placed on MCU list 319. The MCU algorithm determines which items to place on the MCU list based on an awarded number of usage points. The higher an item's usage points, the higher the item may be placed on MCU list 319. When two items have the same number of usage points, then the item with the later last-use or edit timestamp may receive precedence.
  • Initially each item on computer 110 or computing environment 100 which could be placed as a list item in MCU list 319 begins with the same number of usage points, e.g., zero. However, in order to populate the MCU list with a default set of items, the operating system may provide to one or more items a timestamp that is later than other items. For example, a “Welcome to Windows” tutorial program, an email client such as Outlook® Express, Windows Media Player®, and a digital imaging library might be initialized with a timestamp that is one minute later than other documents or applications stored on computer 100. Alternatively or in combination with the timestamp, default items may be initialized with a certain number of usage points to ensure their default placement on the MCU list 319. For example, the “Welcome to Windows” tutorial program, the email client such as Outlook® Express, Windows Media Player®, and the digital imaging library may be initialized with 19, 18, 17, and 16 points, respectively, which also ensures their order of placement on the MCU list. The operating system 134, 144 or other control software may reserve one or more default list positions for OEM items, which may also receive a timestamp and/or usage points to guarantee their initial placement on MCU list 319. For example, in one illustrative embodiment, four OEM items receive 15, 14, 13, and 12 initial usage points, respectively.
  • Whether an item remains on MCU list 319, is added to MCU list 319, or is removed from MCU list 319 subsequent to the initial default determination depends on each item's subsequent use by one or more users of computer system. Generally, when a user selects or launches an item, usage points are added to that item; when items go unused for specified periods of time, usage points are subtracted from that item. When a user selects the start button 311, the operating system 134, 144 populates MCU list 319 with a predetermined number of items having the most usage points, breaking ties based on timestamps as described above. Various methods and algorithms may be used to calculate usage points per item, and those of skill in the art will appreciate that the specific algorithm used is secondary to the results it produces, as described herein. The algorithm described below, and implemented in computer system, is but merely an example of an algorithm that may be used, 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 illustrative embodiment of the invention. Initially in step 901, operating system 134, 144 calculates the number of usage points associated with each valid item. As used herein, a valid item is any item that could be placed on MCU list 319, regardless of whether the valid item is presently placed on the MCU list. Valid items may be defined as any launchable application, storage location, navigable URL, etc., or may be more limited, e.g., to only launchable applications.
  • In one illustrative embodiment, valid items may be limited to folders or files ending in .exe, .msc, or .scf, and that are not listed in an operating system registry under HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\FileAssociations\AddRemoveApps, and that do not have a NoStartMenu or NoStartPage Boolean flag set under the application key in HKCR\Applications\, and/or are not listed in a stored “kill list” of applications that should never appear on the MCU list. Even if an application or item does not meet the aforementioned test, an application may still be a valid item if it has a StartMenu value under the application key in HKCR\Applications\ in the operating system registry, thus providing an explicit mechanism so that an application used only infrequently appears as a valid item.
  • Once the list of valid items has been determined, the operating system 134, 144 in step 903 calculates the number of usage points per valid item. Usage points increase when a valid item is selected, and usage points decay during periods of non-use of a valid item. In one illustrative embodiment, the first time a valid item is selected, the operating system assigns the selected valid item a usage point count to be the greater of a predetermined value, e.g., six (6), or the smallest number of usage points of any valid item currently eligible for display in the MCU list 319. Awarding the greater of the two values ensures that the most recently used item, even if not otherwise eligible for display on MCU list 319, is included in MCU list 319 the next time the operating system 134, 144 generates and/or populates MCU list 319.
  • Each additional time the valid item is selected, either directly or via a shortcut or link (e.g., through the Start menu search view, All Programs view, MCU list, etc.), the valid item's usage points may be incremented by at least a predetermined number of usage points, e.g., 1, 2, 6, etc., again adding at least enough usage points to ensure the item is included in the MCU list. When a valid item is selected via a shortcut or link, the usage points of both the valid 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 item type (e.g., application programs increment by a predetermined number; documents increment by ½ of the predetermined number; URLs increment by ¼ of the predetermined number; etc.), item location (e.g., local items increment by 1; remote items increment by ½; etc.), and the like.
  • Usage point decay may be based on any algorithm that decreases usage points based on a general lack of use of a valid item over some measurement of time. Usage point decay may be based on a number of elapsed sessions during which a valid item has not been used. A session may be any predefined amount of time or other calculable period. For example, in one illustrative embodiment, a session counter increments at each user login, and once every H hours of use of the computer system. The value H=12 has been found to work well. “Use” of the computer system may be defined in a variety of ways. Preferably, “use” is defined as any use of computer 110 during an amount of time H. Thus, when a user interacts with the computer system, the operating system sets a “Use” flag=true. At the end of the H-hour period from login (or at the end of H hours from when the “Use” flag was set), the operating system increments the session counter, resets the “Use” flag=false, and resets the H-hour timeclock.
  • For example, if a user goes on vacation for a week and leaves his or her computer on, no sessions will lapse because the computer has not been used (one session might lapse, however, for the initial login of the user). On the other hand, if the user leaves his or her work computer on for a week while the user is at work using the computer, generally one session will increment per day, assuming the user works less than H-hours/day. Those of skill in the art will appreciate that other values for H may be used.
  • Once the operating system (or other control software) determines how many sessions have lapsed without a specific valid item being selected or run, the operating system may decrement the usage points of that specific valid item using a decay factor based on the number of elapsed sessions. In one illustrative embodiment, the decay factor and/or values may be:
  • Elapsed Sessions Decay
    3 Subtract 1
    6 Subtract 1
    9 Subtract 1
    12 Subtract the greater of 25% or 2
    17 Subtract the greater of 25% or 3
    23 Subtract the greater of 50% or 4
    29 Subtract the greater of 75% or 5
    31 Reduce usage points to 0.
  • Those of skill in the art will appreciate that different numbers of elapsed sessions may be used to trigger usage point decay, and different usage point decay factors and/or values may alternatively be used.
  • In one embodiment, a valid item's usage points may be calculated as the cumulative total of the usage points corresponding to the valid item in addition to the usage points of any shortcuts or links pointing to the valid item. The most recent runtime timestamp of the valid item and any shortcuts or links to the valid item is used for purposes of breaking ties as described herein.
  • In step 905, operating system 134, 144 selects N valid items having the highest usage point values to populate MCU list 319, where N is a number of slots in MCU list 319 and is set by the operating system 134, 144 (e.g., based on space allotted to the MCU list on the display screen) and/or may be defined by a user. Operating system 134, 144 may optionally filter out valid items from the MCU list where the valid item is otherwise already included in Start menu 315, e.g., in pin list 317 or in quick link list 320.
  • As discussed above, a kill list may be used to prevent certain items from appearing on Start menu 315. For example, setup programs, documentation, uninstallation programs, and virus scanners typically do not need to appear on MCU list 319. In some embodiments the kill list may include phrases that, when present, prohibit an item from being included in the set of valid items. For example, the following phrases, with or without regard to capitalization, may be used as an illustrative kill list: Documentation; Help; Install; More Info; Readme; Read Me; Read First; Setup; Support; What's New; Remove. Other embodiments may identify specific applications in the kill list. For example, the following applications may be prevented from inclusion on MCU list 319: setup .exe; install.exe; isuninst.exe; unwise.exe; unwise32.exe; st5unst.exe; rundll32.exe; msoobe.exe; lnkstub .exe; inoculan.exe; realmon.exe; navwnt.exe; explorer.exe; sndvol32.exe; icwconnl.exe; and mobsync.exe. These programs are illustrative only of the fact that specific applications may be precluded from inclusion on the MCU list, and do not limit those application programs which can be precluded from inclusion on the MCU list, as desired.
  • Combinations of phrases and specific applications may also be used. Those of skill in the art will appreciate that the above-described algorithm, including assignment of usage points and decay of the same, may be used in any MFU/MRU/MCU list algorithm, and is not limited to use in a Start menu or program launch menu. Any historical list of items may use a population algorithm as described herein, e.g., a history list of a web browser, recently played audio and/or video files by a media player, etc.
  • All Programs View
  • When a user selects view control 325 as illustrated in FIG. 3 to switch to All Programs view (i.e., the view control 325 identifies the option to switch to All Programs view, or the user selects All Programs from a pop up list as a result of selecting view control 325), Start menu 315 transitions to the All Programs view illustrated 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. List 401 is preferably displayed in alphabetical order to simplify a user's ability to visually scan list 401 to find a desired item. In one illustrative embodiment (not shown), a user can pin items in a specific location on list 401, e.g., at the top of the list, similar to pinning items in the MCU view illustrated in FIG. 3.
  • In some instances the computer system stores many applications programs and storage locations, and navigation of all items may be cumbersome. In order to simplify a user's ability to navigate list 401, a user can scroll up or down list 401 using a scroll bar as illustrated in FIG. 4, or using the scroll wheel of an input device (such as a mouse) while the cursor is over list 401.
  • To further simplify the user's navigation of list 401, the Start menu 315 may present list 401 in a hosted tree view so that users can easily expand and collapse menus and submenus. In one embodiment, such as illustrated in FIG. 12, when a user either single or double clicks on an item in list 401, if the item is expandable, the Start menu expands the list to display the items underneath the initially selected item, such as is shown in FIG. 12. In FIG. 12, a user has selected an ‘Accessories’ list item, in response to which the Start menu 315 expands list 401 to display the sub-hierarchical items under ‘Accessories,’ including, e.g., Accessibility, Administrative Tools, Communications, Entertainment, System Tools, Calculator, Command Prompt, Notepad, Paint, Synchronize, Windows Explorer, and Wordpad. The user may select ‘Accessories’ a second time to collapse the submenu of items.
  • In an alternative illustrative embodiment, the Start menu 315 may present list 401 in a hosted tree view so that users can easily expand and collapse menus and submenus using recognizable ‘+’ and ‘−’ controls. When a user selects a ‘+’ control, the Start menu 315 expands the storage location to which the selected control corresponds to display items stored in that storage location, and the control changes to ‘−’. If the user selects the ‘−’ control, then the Start menu 315 collapses the storage location to which the selected control corresponds to hide the items stored in that storage location. FIG. 10 illustrates a sample All Programs menu hierarchy that may be used in combination with or alternatively to the top-level hierarchy illustrated in FIG. 4. FIG. 11A and FIG. 11B, collectively referred to as FIG. 11, together illustrate an alternative, flatter, All Programs menu hierarchy that may be used in combination with or alternatively to the top-level hierarchy illustrated in FIG. 4 and FIG. 10. A flatter hierarchy may be preferable where the space allotted to the list 401 is relatively narrow.
  • If a user selects an item in an expanded storage location, operating system 134, 144 launches the selected item, or the appropriate application to interact with the selected item, and closes Start menu 315. Upon reopening Start menu 315 and selecting the All Programs view, list 401 may appear completely collapsed, regardless of its prior state, or list 401 may appear in the same state as that in which the user last expanded or collapsed.
  • To emphasize newly installed applications to a user, Start menu 315 may highlight recently installed applications in list 401. Optionally, Start menu 315 may also automatically expand any items that necessarily must be expanded in order to see a highlighted newly installed application in list 401, and may also automatically scroll list 401 to the highlighted newly installed application.
  • Using a hosted tree view as described above allows a user to more intuitively navigate a hierarchy of Start menu items without accidentally opening undesired submenus by simply hovering over an item for too long. In addition, the hosted tree view described above allows a user to navigate hierarchical items in the Start menu without covering up as much desktop real estate than was previously needed, thus allowing the user to view more open windows or folders on the desktop simultaneous to navigating the Start menu.
  • Search View
  • From any view, e.g., the MCU view illustrated in FIG. 3 or the All Programs view illustrated in FIG. 4, the user can type text into search box 327 to search for Start menu items. Upon entering text in search box 327, Start menu 315 automatically switches to a Search Results view 501, such as is illustrated in FIG. 5, displaying results that match text as it has been entered thus far by the user. That is, from search box 327, a user can perform a character by character search across the programs, user files, Internet links, and communications on his or her system. As the user enters text in the search box 327, the computer system searches for the entered text, as further described below. The system may wait until the user pauses typing before displaying search results, or the system may initiate a new search with the entry of each additional character by the user.
  • The Start menu 315, under control of the operating system 134, 144 or other control software (where Start menu 315 performs some action herein, it is understood to be under the control of operating system 134, 144 or other control software), may use any built in or known search engine to perform searches on computer system 100. The search engine preferably searches the file system of the computer 110, as well as URLs and executables in the user's 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 a photo website such as Picasa, music results from a service such as MSN music, or any combination of these and/or other data providers. The search engine may index all searchable locations in order to expedite searching.
  • In addition, the search engine may use a variety of data sources and/or data providers, each of which is not required to be a “search” provider. The search engine, for certain types of data, may automatically retrieve all relevant information from a data store regarding a type of data or files being searched, and then filter the information to find search results based on the search criteria. The data store does not thereby perform a search, it just provides the relevant information for the search engine to search/filter accordingly. By using multiple data providers at once, the search engine can use different providers for different types of search results (for example, 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 a network to get results from different computers (for example, to find files on all the computers on a local network). Each data provider may be a built-in data provider resident on the computer system, or a remote trusted source connectable via 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 illustrative embodiment the following groups are used: programs (executable), files (non-executable), Internet (URLs), and communications (any file perceived as a communication, e.g., email, IM logs, etc.). In some embodiments, a user may select which category/-ies is/are shown in the search results. For example, a user might exclude Internet search results and include email results, depending on personal preferences. Due to the amount of time that is sometimes required in order to perform a search, search results may be displayed in a two-step process. In step 1, while the search is ongoing, each of the four groups receives the same amount of allotted space in the search results view 501. This may be computed by dividing the total amount of space by the number of groups, and extra space may be allotted from top to bottom. As the search engine identifies results during step 1, the Start menu 315 displays the results in the appropriate group. Preferably, a result is not shown unless it is impossible for the result to be replaced later by a better result of the same type. The search engine can ensure that a result cannot be replaced by searching data providers in their priority order. For example, if application programs always have precedence over all other types of files, then once the search engine has finished searching through the programs files and/or folders, the search engine can show all application programs results, even if it has not finished searching through other folders, because no matter what the search engine identifies in the other folders, they will not get a higher priority placement in the search results than the found application programs. However, any result may be displayed when the result is identified if desired.
  • Step 2 begins when the search engine has completed its search. In step 2, the Start menu 315 redistributes the allotted space in search results view 501 by removing groups with no results and redistributing the space to groups having results. The space may be redistributed evenly among the remaining groups, or may be allotted proportionately based on how many results each group has. Also, allotted space may be reduced based on a group only having a small number of search results. For example, if a group only has two results, and the allotted space would otherwise be large enough to display three results, then Start menu 315 might allot enough space to that group to display just its two result items.
  • Start menu 315 may determine which items to display for each group in a variety of manners. For example, in FIG. 5, the user has only typed the letter ‘w,’ which matches many results in each category. Thus Start menu 315 (or the search engine) must necessarily decide the order in which to display results equally matching the user-entered text. In a first illustrative embodiment, Start menu 315 may present n matching items in order of their modification date, from the present date and/or time proceeding backwards, where n is based on the amount of space allotted to the group in which the items are displayed. In another illustrative embodiment, Start menu 315 may display any items first where the item's name begins with text matching the user-entered text, second where the item has a word other than its starting word that starts with text matching the user-entered text, and third where the item has any text matching the user-entered text.
  • In another alternative embodiment, Start menu 315 may rank otherwise equally matching items according to other predefined criteria, such as whether the match was based on information associated with the item (e.g., meta data), information in the item (e.g., full text search), a storage location of the item, information associated with the storage location of the item (e.g., if two items are both identified in a URL history folder, then the most recently visited item may receive precedence over the other item). In an illustrative embodiment the ranking and tie-breaking rules of FIG. 13 may be used. Thus, any item stored in the Start menu pin list 317 (FIG. 3) matching meta data information associated with the item, e.g., the item name, will be displayed above other items. If two or more items both match based on their inclusion in pin list 317, then the two items are ranked based on their order in pin list 317.
  • Those of skill in the art will appreciate that additional or alternative tie-breaking and sort rules may be used, and that the rules illustrated in FIG. 13 are but one example of possible ordering and tie-breaking rules.
  • When displaying search results, the Start menu 315 may display in bold, italics, or otherwise (not shown), a pertinent part of an item's name that caused the item to match the user-entered text. The Start menu 315, when a user hovers the cursor over a search result item, may display the meta data that caused the item to match the user entered text. Additionally, the search results view 501 may include an identification of the number of matching items in each group (e.g., 25 matching Programs, 512 matching Files, 61 matching Internet URLs, and 3,121 matching Communications in the present example). During step 1, while the search is underway, instead of displaying the number of matching items, the search results view may display “searching.” Once the number of matching items is displayed, the user may select the group name or number of matching items to navigate to a separate search window (not shown) listing only results within the selected category.
  • If there are no results, the search results view may display a no results icon or error message, or may simply display a top match of “search for <foo>,” where <foo> is the text entered by the user. Upon selection of “search for <foo>,” the computer system 100 may initiate a broader search for the user-entered text, e.g., by launching a full-text search or full-text search window. In the full text search, the user may be able to search the computer for <foo>, search the Internet for <foo>, and/or search some other computer or database for <foo>, regardless of where the text <foo> appears.
  • According to an illustrative aspect of the invention, the user may easily launch a search result item by clicking the item, or by simply pressing <Enter> if the desired search result item has the selection focus. By default, the search results view 501 highlights the top match 503. Thus, if the user wants to launch the top match, the user may simply press <Enter>. Because there is a group top match for each displayed group, the search engine or Start menu must determine the global top match from all the group top matches. That is, each search can only have one top match. The operating system 134, 144 launches the top match if the user presses <Enter>. The global top match may be based on similar rules as the tie-breaking and ordering rules in FIG. 13, or using different rules, e.g., those illustrated in FIG. 14. The rules in FIG. 14 incorporate rules not included in FIG. 13, e.g., whether a search result item is also associated with a keyboard shortcut, whether a search result item is a URL, and whether a search result item has a first word that matches the search string. The top match is preferably chosen only after the search engine has determined that no item will replace it, i.e., all search results from higher priority locations have been identified.
  • In a computer system using a keyboard 162 having a <Windows> key and using the Start menu search box as described herein, a user can more easily launch items using a near indefinite number of keyboard shortcuts. That is, when the user presses the <Windows> key (not shown), the operating system displays the Start menu, and the search box 327 has input focus by default. The user can immediately start typing text for which he or she would like to search for an item. Thus, if the user types <Windows>, ‘w’, ‘o’, <Enter>, the operating system will launch the Microsoft® Word® brand word processor, if installed and if it is the top match. No mouse manipulation is necessary (although, certainly allowable if desired). By learning which searches produce desired results, users can learn many keyboard shortcuts to quickly launch desired items that are returned as the top match to the entered search string. Given the time and inclination, a user can learn keyboard shortcuts to launch most application programs and documents on his or her computer, without being required to previously manually link or set up a keyboard shortcut as corresponding to a specific file.
  • In some embodiment, certain keyboard accelerators may result in predefined search results, e.g., where the keyboard accelerator is used to launch an associated program. Thus, in a system where the key combination <Windows>-‘c’ launches the Control Panel, if the user enters ‘c’ in the search box 327, the top match will by default be the Control Panel, until the user enters additional text. Other common keyboard accelerators may include H-Help and Support, S-Search, R-Run, L-Log Off, and U-Shut Down. Additional or different keyboard accelerators may alternatively be used, or configured by a user.
  • Alternatively to launching the top item, the user can navigate to an alternate search result item using cursor keys, or single clicking on the alternate item, thereby highlighting the alternate item. Regardless of the presently highlighted search result item (top match or otherwise), the Start menu 315 applies any text input entered by the user, including <backspace> and the like, into search box 327, which is why the top match is said to have selection focus. The search box 327 and the currently selected match may be thought of as a combined item receiving input focus, with text input being directed to the search box 327 and selection input being directed to the currently selected match, but only the current selected match is highlighted.
  • According to an illustrative aspect of the invention, a user may restrict the searched locations, files, and/or file types using special input commands into search box 327. As illustrated in FIG. 6, a user can restrict the locations searched by preceding the text entered in search box 327 with an identifier of a storage location. Typing a storage location identifier may cause the Start menu 315 to replace the search results view 501 with auto-complete view 601, illustrated in FIG. 6. In this example, ‘\\’ refers to a root directory of an intranet data network. Alternatively, the user may enter ‘C:\’ to specify a storage path based of the C: drive (other drives and/or storage locations may alternatively be specified). The location limiting identifiers ‘http://’ and/or ‘www’ may be used, for example, to limit results to a URL history or other URL list. When the user enters a location-limiting identifier, Start menu 315 may display results 601 using a look-ahead or auto-complete view as illustrated in FIG. 6. That is, each result listed in list 601 matches the user-entered text in search box 327. A user can either enter more text to further limit the results, or scroll up to a desired search result and hit enter to launch the selected item. Using the look-ahead feature in combination with the start menu search box 327 allows a user to run any file without being required to navigate to a Start|Run option as was required by previous operating systems.
  • If the text entered into search box 327 is a command known to the operating system 134, 144 or computer 110, the Start menu 315 may display the command as a primary match result in some emphasized form, e.g., bold, first, top of list, bottom of list, nearest to selection focus location, etc., or as the top match. 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 command line variables in search box 327 which are then input when the selected command is run or launched. For example, if a user types “ipconfig-release” in search box 327, the command “ipconfig” is presented as a match. Upon selection of the “ipconfig” result and pressing enter (or clicking, etc.), the computer automatically inserts “-release” as a command line parameter. Allowing users to specify command line parameters provides increased flexibility and precludes requiring that a user launch a Start|Run window or separate Command window in order to specify command line parameters when launching a file.
  • As illustrated in FIG. 5, when the search box 327 contains text, the search box 327 may also display an ‘X’ 505 which, upon selection by the user, clears any text from the search box 327. When the text box is cleared, e.g., by selecting the displayed ‘X’ 505, the Start menu returns to the previously displayed view, e.g., either the MCU view 319 or All Programs view 401. When the search box 327 is empty it may display default instructional text written in a reduced visibility manner, e.g., in gray, as illustrated in FIG. 3.
  • The Start menu 315 may display a context menu when the user makes a secondary selection (e.g., “right-clicking”) within the search box 327. The context menu, in addition to providing known cut, copy and paste commands, may also display a predefined number of recent search strings, e.g., six (6). In an alternative embodiment, the context menu may instead display the names of the last six (or other number) of results that were launched, instead of the search string that found them.
  • 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 clear any text and return to the previous view (e.g., MCU or All Programs); left and right cursor keys may move the cursor when text is present in the search box 327; up and down cursor keys may move the focus accordingly in the presently displayed view or list (e.g., view 319, 401, 501, 601); Ctrl-X, Ctrl-C, and Ctrl-V may cut, copy, and paste text in search box 327, respectively; the <Tab> key may move the input focus cyclically from the search box 327 to search results 501 to pin list 317 (when present) and back to the search box 327; when focus is in the search box 327, the <Enter> key launches the top match; when focus is out of the search box 327, the <Enter> key launches the selected item; Ctrl-Enter may launch a web browser to a location as defined by the search string, e.g., ‘http://’ followed by ‘www.<SearchString>.com’; and when input focus is not in search box 327, typing a letter may cause the input focus to jump to an item starting with the typed letter, also referred to as Type-To mode.
  • According to an illustrative aspect of the invention, search box 327 may be placed outside the Start menu 315, e.g., in taskbar 309, in a sidebar, or floating on the desktop, and provide a mechanism to locate programs, files, and other items without navigating through Start menu 315. Search results and auto-complete results may be displayed in a resizable or nonresizable pop-up window presented above the search box 327. Upon selection of any search result, the selected item is launched and the pop-up window is removed. The results pop-up window may include a Close button for the user to close the pop-up window without selecting a search result. The pop-up window may also be closed when the input focus is on neither the search box 327 nor the results pop-up window.
  • CONCLUSION
  • The present invention includes any novel feature or combination of features disclosed herein either explicitly or any generalization thereof. 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. Thus, the spirit and scope of the invention should be construed broadly as set forth in the appended claims.

Claims (20)

We claim:
1. One or more computer readable media storing computer readable instructions that, when executed, perform a method for providing a program launch menu, the method comprising steps of:
(a) displaying a program launch menu on a display device of a computer system, said program launch menu capable of displaying at least three views:
i) a first view for displaying all application programs in a user-navigable structure,
ii) a second view for displaying most commonly used selectable items including a most recently viewed item and a most recently used item, and
iii) a third view for displaying search results comprising selectable items matching text input received from a user via a search interface corresponding to the program launch menu;
(b) upon receiving user input via a toggle control, toggling between the first and second views when no text input is in the search text input interface; and
(c) automatically displaying the third view whenever text input is received via the search text input interface.
2. The computer readable media of claim 1, further comprising changing a size of the program launch menu only upon receiving user input to explicitly resize the program launch menu.
3. The computer readable media of claim 1, wherein the program launch menu comprises a Start menu.
4. The computer readable media of claim 1, wherein the search interface comprises a text input box housed within the program launch menu.
5. The computer readable media of claim 1, wherein said third view arranges the search results into one or more groups according to a type of each matching selectable item.
6. The computer readable media of claim 5, wherein the groups comprise at least two groups from a set of groups comprising programs, files, Internet locations, and communications.
7. The computer readable media of claim 1, wherein a selectable item matches the text input when a metadata of the selectable item contains the text input.
8. The computer readable media of claim 7, wherein the metadata comprises an item name.
9. The computer readable media of claim 7, wherein the metadata comprises an item author.
10. The computer readable media of claim 1, wherein a selectable item matches the text input when contents of the selectable item contain the text input.
11. The computer readable media of claim 1, further comprising ordering items in groups in the third view based on how each item matches the text input.
12. A method for toggling views within a program launch menu, the method initiating at any step, and comprising steps of:
a) displaying a first view comprising a navigable user interface comprising all application programs selectable by a user of a computer system on which the program launch menu is displayed,
wherein upon receiving user input via a toggle control, the method proceeds to step b) when no text input is in a search interface corresponding to the program launch menu, and
wherein upon receiving text input in the search interface, the method proceeds to step c);
b) displaying a second view comprising commonly used user-selectable items including a most recently viewed item and a most recently used item,
wherein upon receiving user input via the toggle control, the method proceeds to step a) when no text input is in the search interface, and
wherein upon receiving text input in the search interface, the method proceeds to step c); and
c) displaying a third view comprising search results of selectable items matching text input received from a user via the search interface,
wherein upon clearing the text input from the search interface, the method proceeds to one of steps a) and b).
13. The method of claim 12, wherein when said text input begins with predefined text, said search results comprise lookahead search results limited to a location based on the predefined text.
14. The method of claim 13, wherein said predefined text defines a storage device, and wherein said lookahead results provide selectable items stored within the storage device.
15. The method of claim 13, wherein said predefined text defines a network location, and wherein said lookahead results provide selectable items located at the network location.
16. The method of claim 12, wherein step c) further comprises receiving user input to automatically clear all text input in the search interface and automatically proceed to one of steps a) and b).
17. The method of claim 12, wherein the third view displays search results in groups based on how each selectable item matches the text input.
18. The method of claim 17, wherein said groups comprise a programs group, a data files group, an Internet group, and an electronic communication group.
19. One or more computer readable media storing computer readable instructions that, when executed, provide a program launch menu user interface for display on a display device operatively connected to a computer system executing the computer readable instructions, said program launch menu having elements comprising:
a first display area that displays user selectable items filtered by predefined criteria based on a current display state of the first display area;
a search input region for receiving user input to use as a basis for searching user-selectable items identifiable by an operating system of the computer system, wherein when input is received in the search input region the first display area transitions to a third display state; and
a user-selectable toggle element which, when selected by the user while no input is in the search input region, toggles the first display area between a first display state and a second display state,
wherein a predefined criteria of the first display state results in displaying all user-selectable items organized in a user-navigable structure displayed in the first display area,
wherein a predefined criteria of the second display state results in displaying commonly used selectable items, and
wherein a predefined criteria of the third state comprises the received user input.
20. The computer readable media of claim 19, wherein when the first display area is in the third display state, the program launch menu further comprises a first element that, when selected by the user, clears the search input region of user input and causes the first display area to transition to one of the first and second display states.
US14/263,817 2005-03-22 2014-04-28 Operating system program launch menu search Abandoned US20140236930A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/263,817 US20140236930A1 (en) 2005-03-22 2014-04-28 Operating system program launch menu search

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/085,654 US7340686B2 (en) 2005-03-22 2005-03-22 Operating system program launch menu search
US11/465,273 US9465516B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search
US14/263,817 US20140236930A1 (en) 2005-03-22 2014-04-28 Operating system program launch menu search

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/465,273 Continuation US9465516B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search

Publications (1)

Publication Number Publication Date
US20140236930A1 true US20140236930A1 (en) 2014-08-21

Family

ID=37024250

Family Applications (5)

Application Number Title Priority Date Filing Date
US11/085,654 Active 2025-08-13 US7340686B2 (en) 2005-03-22 2005-03-22 Operating system program launch menu search
US11/465,273 Active 2027-05-16 US9465516B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search
US11/465,266 Active 2025-09-05 US7890886B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search
US14/263,817 Abandoned US20140236930A1 (en) 2005-03-22 2014-04-28 Operating system program launch menu search
US15/276,090 Abandoned US20170010772A1 (en) 2005-03-22 2016-09-26 Operating system program launch menu search

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US11/085,654 Active 2025-08-13 US7340686B2 (en) 2005-03-22 2005-03-22 Operating system program launch menu search
US11/465,273 Active 2027-05-16 US9465516B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search
US11/465,266 Active 2025-09-05 US7890886B2 (en) 2005-03-22 2006-08-17 Operating system program launch menu search

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/276,090 Abandoned US20170010772A1 (en) 2005-03-22 2016-09-26 Operating system program launch menu search

Country Status (17)

Country Link
US (5) US7340686B2 (en)
EP (1) EP1861766B1 (en)
JP (1) JP4906842B2 (en)
KR (1) KR101183373B1 (en)
CN (2) CN101147115B (en)
AU (1) AU2005329409B2 (en)
BR (1) BRPI0520453A2 (en)
CA (1) CA2598694C (en)
HK (1) HK1199523A1 (en)
IL (3) IL185558A0 (en)
MX (1) MX353568B (en)
MY (1) MY144889A (en)
NO (1) NO20074437L (en)
NZ (1) NZ561779A (en)
RU (1) RU2405186C2 (en)
TW (3) TWI526851B (en)
WO (1) WO2006101507A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277492A1 (en) * 2005-03-22 2006-12-07 Microsoft Corporation Operating system program launch menu search
US20140325385A1 (en) * 2013-04-25 2014-10-30 Xiaolong ZHANG Methods and instant messaging client devices for performing im using menu option
US9141709B1 (en) 2014-11-20 2015-09-22 Microsoft Technology Licensing, Llc Relevant file identification using automated queries to disparate data storage locations
US11159646B1 (en) 2015-07-13 2021-10-26 Amazon Technologies, Inc. Identifying, presenting, and launching preferred applications on virtual desktop instances

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100526177B1 (en) 2003-02-18 2005-11-03 삼성전자주식회사 Media contents file management system and method of home media center
US9213365B2 (en) 2010-10-01 2015-12-15 Z124 Method and system for viewing stacked screen displays using gestures
US7159181B2 (en) * 2003-10-01 2007-01-02 Sunrise Medical Hhg Inc. Control system with customizable menu structure for personal mobility vehicle
US9552141B2 (en) 2004-06-21 2017-01-24 Apple Inc. Methods and apparatuses for operating a data processing system
US8677274B2 (en) * 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7512904B2 (en) * 2005-03-22 2009-03-31 Microsoft Corporation Operating system launch menu program listing
US7739620B1 (en) * 2005-09-29 2010-06-15 Adobe Systems Inc. Method of setting alternate style assignments to menu elements of an application
TWI284834B (en) * 2005-11-18 2007-08-01 Via Tech Inc Method for controlling colors of on screen display system
US20070136678A1 (en) * 2005-11-23 2007-06-14 Brown Michael W Software process and method that allows a computer program to run in memory, but display as a digital graphic or text window
US7600194B2 (en) * 2005-12-02 2009-10-06 Microsoft Corporation Start menu operation for computer user interface
DE102005062465A1 (en) * 2005-12-27 2007-07-05 Robert Bosch Gmbh Method for selecting a location
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US20070157105A1 (en) * 2006-01-04 2007-07-05 Stephen Owens Network user database for a sidebar
US20070173290A1 (en) * 2006-01-23 2007-07-26 Paavo Perttula Mobile communication terminal and method therefore
JP2007207186A (en) * 2006-02-06 2007-08-16 Denso Corp Operation system
US8108796B2 (en) * 2006-02-10 2012-01-31 Motorola Mobility, Inc. Method and system for operating a device
US7953804B2 (en) 2006-06-02 2011-05-31 Research In Motion Limited User interface for a handheld device
US20080005685A1 (en) * 2006-06-30 2008-01-03 Clemens Drews Interface mechanism for quickly accessing recently used artifacts in a computer desktop environment
US9323867B2 (en) 2006-08-03 2016-04-26 Microsoft Technology Licensing, Llc Search tool using multiple different search engine types across different data sets
US8209631B2 (en) * 2006-08-24 2012-06-26 Nokia Corporation User interface for an electronic device
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US7940250B2 (en) 2006-09-06 2011-05-10 Apple Inc. Web-clip widgets on a portable multifunction device
US7912875B2 (en) * 2006-10-31 2011-03-22 Business Objects Software Ltd. Apparatus and method for filtering data using nested panels
US7493330B2 (en) * 2006-10-31 2009-02-17 Business Objects Software Ltd. Apparatus and method for categorical filtering of data
JP5099015B2 (en) * 2006-11-30 2012-12-12 日本電気株式会社 Information selection support device, information selection support method, and program
US7840636B2 (en) * 2006-12-04 2010-11-23 Intel Corporation Provider presence information
KR100784969B1 (en) * 2006-12-20 2007-12-11 삼성전자주식회사 Method for menu display based on usage log in mobile device
US8788954B2 (en) * 2007-01-07 2014-07-22 Apple Inc. Web-clip widgets on a portable multifunction device
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US8607167B2 (en) * 2007-01-07 2013-12-10 Apple Inc. Portable multifunction device, method, and graphical user interface for providing maps and directions
US20080172619A1 (en) * 2007-01-11 2008-07-17 Carrier Scott R Generating a short-cut of functions from pluggable components
KR20080073869A (en) * 2007-02-07 2008-08-12 엘지전자 주식회사 Terminal and method for displaying menu
US9703889B2 (en) 2007-02-14 2017-07-11 Google Inc. Providing auto-focus for a search field in a user interface
US10452763B2 (en) * 2007-03-08 2019-10-22 Oath Inc. Autocomplete for integrating diverse methods of electronic communication
US20080244448A1 (en) * 2007-04-01 2008-10-02 Katharina Goering Generation of menu presentation relative to a given menu orientation
US8055762B2 (en) * 2007-04-16 2011-11-08 Samsung Electronics Co. Ltd Method and system for location identification
TWI459790B (en) * 2007-05-17 2014-11-01 Zi Corp Canada Inc Service access method and apparatus
KR101367100B1 (en) * 2007-05-21 2014-02-25 삼성전자주식회사 Apparatus and method for displaying an application program and menus
US20080307362A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Desktop Filter
US20080307350A1 (en) * 2007-06-09 2008-12-11 Alessandro Francesco Sabatelli Method and Apparatus for Improved Desktop Arrangement
US9933937B2 (en) 2007-06-20 2018-04-03 Apple Inc. Portable multifunction device, method, and graphical user interface for playing online videos
US8321836B2 (en) * 2007-06-21 2012-11-27 Microsoft Corporation Late bound programmatic assistance
US8171432B2 (en) * 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
US8302033B2 (en) * 2007-06-22 2012-10-30 Apple Inc. Touch screen device, method, and graphical user interface for providing maps, directions, and location-based information
EP2009558A1 (en) * 2007-06-25 2008-12-31 France Télécom Method and system for providing navigable search results
US9772751B2 (en) 2007-06-29 2017-09-26 Apple Inc. Using gestures to slide between user interfaces
US8239239B1 (en) 2007-07-23 2012-08-07 Adobe Systems Incorporated Methods and systems for dynamic workflow access based on user action
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
US20090058820A1 (en) * 2007-09-04 2009-03-05 Microsoft Corporation Flick-based in situ search from ink, text, or an empty selection region
US9619143B2 (en) 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US11126321B2 (en) 2007-09-04 2021-09-21 Apple Inc. Application menu user interface
KR20090030966A (en) * 2007-09-21 2009-03-25 삼성전자주식회사 Apparatus and method for composing menu list's rank in potable terminal
KR101460111B1 (en) 2007-10-17 2014-11-11 삼성전자주식회사 Portable terminal and method for displaying menu thereof
TWI356337B (en) * 2007-12-26 2012-01-11 Htc Corp A user interface of electronic apparatus
US8327272B2 (en) 2008-01-06 2012-12-04 Apple Inc. Portable multifunction device, method, and graphical user interface for viewing and managing electronic calendars
US9612847B2 (en) * 2008-02-05 2017-04-04 Microsoft Technology Licensing, Llc Destination list associated with an application launcher
US20090199133A1 (en) * 2008-02-05 2009-08-06 Microsoft Corporation Generating a destination list utilizing usage data
US20090265655A1 (en) * 2008-04-17 2009-10-22 Recent Memory Incorporated Navigable text user interface
US8296670B2 (en) * 2008-05-19 2012-10-23 Microsoft Corporation Accessing a menu utilizing a drag-operation
JP4938733B2 (en) 2008-06-30 2012-05-23 株式会社ソニー・コンピュータエンタテインメント Menu screen display method and menu screen display device
CN101727270B (en) * 2008-10-21 2012-10-10 联想(北京)有限公司 Method for constructing soft keyboard, device for inputting character information and method thereof
US8490026B2 (en) * 2008-10-27 2013-07-16 Microsoft Corporation Painting user controls
TWI469614B (en) * 2008-10-31 2015-01-11 Chi Mei Comm Systems Inc System and method for sequencing shortcuts
US8584031B2 (en) 2008-11-19 2013-11-12 Apple Inc. Portable touch screen device, method, and graphical user interface for using emoji characters
US8875052B2 (en) * 2009-01-26 2014-10-28 International Business Machines Corporation Keystroke activated dynamic task menu
EP2420921A4 (en) * 2009-04-13 2014-04-23 Nec Corp Data processing device, and computer program and data processing method thereof
US9298350B2 (en) * 2009-05-27 2016-03-29 Microsoft Technology Licensing, Llc Menu searching of a hierarchical menu structure
US8464182B2 (en) * 2009-06-07 2013-06-11 Apple Inc. Device, method, and graphical user interface for providing maps, directions, and location-based information
KR101387270B1 (en) * 2009-07-14 2014-04-18 주식회사 팬택 Mobile terminal for displaying menu information accordig to trace of touch signal
US20110016421A1 (en) * 2009-07-20 2011-01-20 Microsoft Corporation Task oriented user interface platform
US8499000B2 (en) * 2009-07-30 2013-07-30 Novell, Inc. System and method for floating index navigation
US20110029864A1 (en) * 2009-07-30 2011-02-03 Aaron Michael Stewart Touch-Optimized Approach for Controlling Computer Function Using Touch Sensitive Tiles
CA2680602C (en) * 2009-10-19 2011-07-26 Ibm Canada Limited - Ibm Canada Limitee System and method for generating and displaying hybrid context menus
US8332748B1 (en) * 2009-10-22 2012-12-11 Google Inc. Multi-directional auto-complete menu
US20110125733A1 (en) * 2009-11-25 2011-05-26 Fish Nathan J Quick access utility
US8698845B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface with interactive popup views
US8862576B2 (en) 2010-01-06 2014-10-14 Apple Inc. Device, method, and graphical user interface for mapping directions between search results
US8736561B2 (en) 2010-01-06 2014-05-27 Apple Inc. Device, method, and graphical user interface with content display modes and display rotation heuristics
US8456297B2 (en) * 2010-01-06 2013-06-04 Apple Inc. Device, method, and graphical user interface for tracking movement on a map
US9883008B2 (en) 2010-01-15 2018-01-30 Endurance International Group, Inc. Virtualization of multiple distinct website hosting architectures
US9277022B2 (en) 2010-01-15 2016-03-01 Endurance International Group, Inc. Guided workflows for establishing a web presence
US20110179175A1 (en) * 2010-01-15 2011-07-21 Endurance International Group, Inc. Migrating a web hosting service from one architecture to another, where at least one is a common service architecture
KR101121921B1 (en) * 2010-01-18 2012-03-20 주식회사 엘지유플러스 User Terminal of Processing User Input Commands and Method for Operating the User Terminal
DE202011110735U1 (en) * 2010-04-06 2015-12-10 Lg Electronics Inc. Mobile terminal
US9823831B2 (en) 2010-04-07 2017-11-21 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
AU2015202565B2 (en) * 2010-04-07 2017-03-02 Apple Inc. Gesture based graphical user interface for managing concurrently open software applications
US9170708B2 (en) 2010-04-07 2015-10-27 Apple Inc. Device, method, and graphical user interface for managing folders
US9513801B2 (en) 2010-04-07 2016-12-06 Apple Inc. Accessing electronic notifications and settings icons with gestures
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
US20110252376A1 (en) 2010-04-07 2011-10-13 Imran Chaudhri Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US10191642B2 (en) * 2010-04-09 2019-01-29 Sony Interactive Entertainment Inc. Information processing apparatus for navigating and selecting programs
US9384678B2 (en) 2010-04-14 2016-07-05 Thinkmap, Inc. System and method for generating questions and multiple choice answers to adaptively aid in word comprehension
US9015175B2 (en) 2010-05-01 2015-04-21 Timothy David Gill Method and system for filtering an information resource displayed with an electronic device
KR20110128567A (en) * 2010-05-24 2011-11-30 삼성전자주식회사 Method for controlling objects of user interface and apparatus of enabling the method
US10126836B2 (en) 2010-08-18 2018-11-13 Lioudmila Dyer Software cursor positioning system
US9047013B2 (en) 2010-09-01 2015-06-02 Honeywell International Inc. Avionic data dictionary based messaging system and method
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US8924873B2 (en) 2010-11-23 2014-12-30 International Business Machines Corporation Optimizing a user interface for a computing device
JP2012112843A (en) * 2010-11-25 2012-06-14 Hitachi High-Technologies Corp Method and device of operation menu display control of analyzer
US8676817B2 (en) 2010-12-15 2014-03-18 Microsoft Corporation Rendering selected and unselected lists of an item set
US9244606B2 (en) 2010-12-20 2016-01-26 Apple Inc. Device, method, and graphical user interface for navigation of concurrently open software applications
US8845110B1 (en) 2010-12-23 2014-09-30 Rawles Llc Powered augmented reality projection accessory display device
US8905551B1 (en) 2010-12-23 2014-12-09 Rawles Llc Unpowered augmented reality projection accessory display device
US8845107B1 (en) 2010-12-23 2014-09-30 Rawles Llc Characterization of a scene with structured light
US9721386B1 (en) * 2010-12-27 2017-08-01 Amazon Technologies, Inc. Integrated augmented reality environment
US20120174030A1 (en) * 2010-12-29 2012-07-05 Motorola-Mobility, Inc. Navigating among higher-level and lower-level windows on a computing device
US9607315B1 (en) 2010-12-30 2017-03-28 Amazon Technologies, Inc. Complementing operation of display devices in an augmented reality environment
US9508194B1 (en) 2010-12-30 2016-11-29 Amazon Technologies, Inc. Utilizing content output devices in an augmented reality environment
US9235566B2 (en) 2011-03-30 2016-01-12 Thinkmap, Inc. System and method for enhanced lookup in an online dictionary
US9455939B2 (en) 2011-04-28 2016-09-27 Microsoft Technology Licensing, Llc Most recently used list for attaching files to messages
DE102011115904A1 (en) 2011-06-14 2012-12-20 Böwe Systec Gmbh Graphical user interface
US9501490B2 (en) * 2011-06-20 2016-11-22 Microsoft Technology Licensing, Llc Automatic synchronization of most recently used document lists
US9013366B2 (en) * 2011-08-04 2015-04-21 Microsoft Technology Licensing, Llc Display environment for a plurality of display devices
JP5842452B2 (en) * 2011-08-10 2016-01-13 カシオ計算機株式会社 Speech learning apparatus and speech learning program
CN102354276A (en) * 2011-08-17 2012-02-15 广东国笔科技股份有限公司 Data processing device, system and method for realizing control from input layer to application layer directly
JP6045847B2 (en) * 2011-08-18 2016-12-14 京セラ株式会社 Portable electronic device, control method, and control program
CN102331908A (en) * 2011-09-14 2012-01-25 惠州Tcl移动通信有限公司 Method and system for promoting recently-used applications by wireless communication equipment
US8842057B2 (en) * 2011-09-27 2014-09-23 Z124 Detail on triggers: transitional states
US20130132900A1 (en) * 2011-10-10 2013-05-23 Harold Lee Peterson Apparatus and method for associating and displaying icons in relation to a frequency of icon selection
US11392601B2 (en) * 2012-01-18 2022-07-19 Google Llc Search-based document user interfaces
US11514230B2 (en) 2012-01-18 2022-11-29 Google Llc Methods and systems for searching document operation labels
KR101952219B1 (en) * 2012-04-04 2019-02-26 삼성전자 주식회사 Operating Method For Icon displaying on the Electronic Device And Electronic Device thereof
US9170701B2 (en) * 2012-04-04 2015-10-27 Sap Portals Israel Ltd Suggesting contextually-relevant content objects
CN103365530B (en) * 2012-04-09 2018-05-25 腾讯科技(深圳)有限公司 A kind of method and device that quick start entry is provided
US9129018B2 (en) * 2012-04-20 2015-09-08 Microsoft Technology Licensing, Llc Changing results after back button use or duplicate request
TWI585670B (en) * 2012-04-25 2017-06-01 緯創資通股份有限公司 Method for presenting application lists, electronic device using the same, and computer-readable recording medium
US20140344801A1 (en) * 2012-06-01 2014-11-20 Google Inc. Integrating a web application into an operating system
CN103455910B (en) * 2012-06-01 2017-12-12 Sap欧洲公司 The work linguistic context of service application
CN102799613A (en) * 2012-06-14 2012-11-28 腾讯科技(深圳)有限公司 Showing method and device for recently-used file
US9767108B2 (en) * 2012-07-13 2017-09-19 Hitachi Solutions, Ltd. Retrieval device, method for controlling retrieval device, and recording medium
US8510794B1 (en) * 2012-07-15 2013-08-13 Identropy, Inc. Methods and apparatus for a unified identity management interface across internal and shared computing applications
US9218118B2 (en) 2012-09-11 2015-12-22 Apple Inc. Media player playlist management
US9558278B2 (en) 2012-09-11 2017-01-31 Apple Inc. Integrated content recommendation
KR101394874B1 (en) * 2012-09-24 2014-05-13 주식회사 팬택 Device and method implementing for particular function based on writing
KR20140042467A (en) 2012-09-28 2014-04-07 삼성전자주식회사 Method of setting options for function performed by using shortcut and image forming apparatus executing the same
US20140129973A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Interaction model for serving popular queries in search box
US9311069B2 (en) 2013-03-13 2016-04-12 Google Inc. Search in application launcher
US9658740B2 (en) 2013-03-15 2017-05-23 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9477404B2 (en) 2013-03-15 2016-10-25 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
RU2644469C2 (en) * 2013-05-12 2018-02-12 Лункевич Дайер Людмила Method of communication setting, messages transmission and control user behaviour in information system, including internet (world web), using web interface
CN104166501A (en) * 2013-05-17 2014-11-26 华为技术有限公司 Menu display method and device
US9203821B2 (en) * 2013-08-20 2015-12-01 Google Inc. Automatic context aware preloading of credential emulator
CN104423947B (en) * 2013-08-30 2019-04-26 腾讯科技(深圳)有限公司 A kind of method for refreshing pulling list content, device and touch panel device
US9589033B1 (en) 2013-10-14 2017-03-07 Google Inc. Presenting results from multiple search engines
TWI590142B (en) * 2013-10-29 2017-07-01 鴻海精密工業股份有限公司 Mobile terminal and application starting method
WO2015065402A1 (en) 2013-10-30 2015-05-07 Bodhi Technology Ventures Llc Displaying relevant use interface objects
US20150121306A1 (en) * 2013-10-30 2015-04-30 United Video Properties, Inc. Methods and systems for customizing functions of media guidance applications
KR102199460B1 (en) * 2013-11-18 2021-01-06 삼성전자주식회사 Terminal and method of controlling the same
US10114532B2 (en) * 2013-12-06 2018-10-30 Google Llc Editing options for image regions
JP6178259B2 (en) * 2014-02-19 2017-08-09 東芝テック株式会社 Payment terminal and program thereof
US9727209B2 (en) 2014-03-26 2017-08-08 Sap Se Hierarchical data structure with shortcut list
US10078411B2 (en) * 2014-04-02 2018-09-18 Microsoft Technology Licensing, Llc Organization mode support mechanisms
US20150347357A1 (en) * 2014-05-30 2015-12-03 Rovi Guides, Inc. Systems and methods for automatic text recognition and linking
US20150378530A1 (en) * 2014-06-27 2015-12-31 Microsoft Technology Licensing, Llc Command surface drill-in control
CN104133651B (en) * 2014-07-28 2017-12-26 联想(北京)有限公司 A kind of information processing method and electronic equipment
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US9860306B2 (en) * 2014-09-24 2018-01-02 Microsoft Technology Licensing, Llc Component-specific application presentation histories
US9600180B2 (en) 2014-10-17 2017-03-21 Netapp, Inc. Dynamic hierarchical navigation schemes for storage management systems
US20160139777A1 (en) * 2014-11-18 2016-05-19 Sony Corporation Screenshot based indication of supplemental information
CN104462296B (en) * 2014-11-28 2020-12-04 小米科技有限责任公司 File management method and device and terminal
CN105739810B (en) * 2014-12-12 2020-01-21 宏达国际电子股份有限公司 Mobile electronic device and user interface display method
CN104615339B (en) * 2015-01-22 2017-11-17 百度在线网络技术(北京)有限公司 Control shows method and device
US11556542B2 (en) * 2015-02-07 2023-01-17 International Business Machines Corporation Optionally compressed output from command-line interface
US10922094B2 (en) * 2015-06-05 2021-02-16 Apple Inc. Systems and methods for proactively providing recommendations to a user of a computing device
US10884580B2 (en) * 2015-06-07 2021-01-05 Apple Inc. Devices and methods for displaying content in a note-taking application
US10318525B2 (en) * 2015-06-07 2019-06-11 Apple Inc. Content browsing user interface
US20170108851A1 (en) * 2015-10-14 2017-04-20 Rockwell Automation Technologies, Inc. Industrial automation electronic pinboard
US20170116291A1 (en) * 2015-10-27 2017-04-27 Adobe Systems Incorporated Network caching of search result history and interactions
CN105739989B (en) * 2016-02-15 2019-03-22 珠海豹趣科技有限公司 A kind of method, apparatus and electronic equipment that systematic search frame is set
CN107193390A (en) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 Information processing method and device
US20170285889A1 (en) * 2016-04-05 2017-10-05 Microsoft Technology Licensing, Llc Scenario based pinning in a collaboration environment
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
DE102016218011A1 (en) * 2016-09-20 2018-03-22 Volkswagen Aktiengesellschaft A user interface for accessing a set of functions, methods and computer readable storage medium for providing a user interface for accessing a set of functions
US10540635B2 (en) * 2016-12-30 2020-01-21 Dropbox, Inc. System and method for generating desktop focus work areas
US11269960B2 (en) * 2017-05-15 2022-03-08 Microsoft Technology Licensing, Llc Dynamic search interfaces
US11750623B2 (en) * 2017-09-04 2023-09-05 ITsMine Ltd. System and method for conducting a detailed computerized surveillance in a computerized environment
US10649981B2 (en) * 2017-10-23 2020-05-12 Vmware, Inc. Direct access to object state in a shared log
US10635541B2 (en) 2017-10-23 2020-04-28 Vmware, Inc. Fine-grained conflict resolution in a shared log
US11392567B2 (en) 2017-10-30 2022-07-19 Vmware, Inc. Just-in-time multi-indexed tables in a shared log
JP7113341B2 (en) * 2017-11-30 2022-08-05 パナソニックIpマネジメント株式会社 IMAGE OUTPUT DEVICE, CONTROL METHOD OF IMAGE OUTPUT DEVICE, AND TELEVISION
US10866926B2 (en) 2017-12-08 2020-12-15 Dropbox, Inc. Hybrid search interface
CN109992368B (en) * 2017-12-29 2023-10-20 Oppo广东移动通信有限公司 Application processing method and device, electronic equipment and computer readable storage medium
CN110309103B (en) * 2018-03-23 2023-03-31 珠海金山办公软件有限公司 Document opening method and device, electronic equipment and readable storage medium
CN109062475B (en) 2018-08-22 2020-08-28 Oppo广东移动通信有限公司 Icon display method and device, terminal and storage medium
CN111368222A (en) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 Taskbar searching method and device
CN111367440A (en) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 Taskbar searching method and device
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets
TWI714168B (en) * 2019-07-17 2020-12-21 小白投資有限公司 Network encryption method
KR20230010759A (en) 2020-05-18 2023-01-19 애플 인크. User interfaces for viewing and refining the current location of an electronic device
JP7574658B2 (en) * 2021-01-20 2024-10-29 富士フイルムビジネスイノベーション株式会社 Information processing device and program
CN114801735A (en) * 2021-01-27 2022-07-29 现代摩比斯株式会社 System for searching using multiple displays
US11625208B2 (en) 2021-03-04 2023-04-11 Kyocera Document Solutions Inc. Portable printer settings system
CN113204299B (en) * 2021-05-21 2023-05-05 北京字跳网络技术有限公司 Display method, display device, electronic equipment and storage medium
CN114237578B (en) * 2021-11-05 2024-06-07 芯华章科技股份有限公司 Method for displaying target module designed by logic system and related equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030098891A1 (en) * 2001-04-30 2003-05-29 International Business Machines Corporation System and method for multifunction menu objects
US20030115384A1 (en) * 1998-12-04 2003-06-19 Takashi Sonehara Information processing apparatus, information processing method, and information providing medium
US6724402B1 (en) * 2000-01-27 2004-04-20 David R. Baquero Method of launching computer programs within a graphical user interface
US20040078358A1 (en) * 2002-10-17 2004-04-22 International Business Machines Corporation Search for specific files from browser window
US20040133564A1 (en) * 2002-09-03 2004-07-08 William Gross Methods and systems for search indexing
US7567964B2 (en) * 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
US7788248B2 (en) * 2005-03-08 2010-08-31 Apple Inc. Immediate search feedback

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0505621A3 (en) 1991-03-28 1993-06-02 International Business Machines Corporation Improved message recognition employing integrated speech and handwriting information
JPH0520005A (en) 1991-07-12 1993-01-29 Toshiba Corp Menu information generation device
JPH0580997A (en) 1991-09-18 1993-04-02 Sharp Corp Program selection system for computer
JPH0785216B2 (en) * 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション Menu display device and method
JPH0764748A (en) 1993-06-16 1995-03-10 Hitachi Ltd Menu customizing system
ATE181606T1 (en) 1993-07-08 1999-07-15 Koninkl Kpn Nv PROCESSOR SYSTEM HAVING A PROCESSOR AND A MEMORY AREA INCLUDING A COMPUTER INTERFACE
US5682469A (en) * 1994-07-08 1997-10-28 Microsoft Corporation Software platform having a real world interface with animated characters
US5838319A (en) 1994-12-13 1998-11-17 Microsoft Corporation System provided child window control for displaying items in a hierarchical fashion
US5815155A (en) 1995-09-27 1998-09-29 Universal Algorithms Incorporated Method and apparatus for navigating an information hierarchy
US20040019610A1 (en) * 1996-02-27 2004-01-29 Burns Kevin S. Portal information delivery system for personal computers and SOHO computer systems
US5923328A (en) 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US6148294A (en) 1996-12-20 2000-11-14 Siemens Information And Communication Networks, Inc. System and method for computer directory updating and presentation based on frequency of access
US6583797B1 (en) 1997-01-21 2003-06-24 International Business Machines Corporation Menu management mechanism that displays menu items based on multiple heuristic factors
US6151624A (en) 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US7346850B2 (en) 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
CN1206881A (en) * 1998-08-21 1999-02-03 李小港 Function menu structurization display method
JP4142175B2 (en) * 1998-10-20 2008-08-27 松下電器産業株式会社 Graphical user interface device
US6348935B1 (en) 1998-11-30 2002-02-19 International Business Machines Corporation Programmable tree viewer graphical user interface with integrated control panel
WO2000033571A1 (en) 1998-11-30 2000-06-08 Sony Corporation Information providing device and method
US7155246B2 (en) * 1999-06-30 2006-12-26 Qualcomm, Incorporated Transmitter directed code division multiple access system using multi-users diversity to maximize throughput while equitably providing access to users
US7051019B1 (en) * 1999-08-17 2006-05-23 Corbis Corporation Method and system for obtaining images from a database having images that are relevant to indicated text
US6847959B1 (en) * 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
US6704727B1 (en) 2000-01-31 2004-03-09 Overture Services, Inc. Method and system for generating a set of search terms
US7454706B1 (en) * 2000-02-11 2008-11-18 Microsoft Corporation Multiple-page shell user interface
US6618771B1 (en) * 2000-02-16 2003-09-09 Hewlett-Packard Development Company, Lp. Method and apparatus for use in installing a scanner
JP2003524843A (en) 2000-02-18 2003-08-19 エクスサイズ コーポレイション Method and system for controlling a complementary user interface on a display surface
JP3540241B2 (en) * 2000-03-29 2004-07-07 三菱電機株式会社 Application startup menu definition file generation device and application startup menu generation device
WO2001075579A2 (en) * 2000-03-31 2001-10-11 Qualcomm Incorporated Method and apparatus for electronic device feature access
US20020154157A1 (en) * 2000-04-07 2002-10-24 Sherr Scott Jeffrey Website system and process for selection and delivery of electronic information on a network
US6665655B1 (en) * 2000-04-14 2003-12-16 Rightnow Technologies, Inc. Implicit rating of retrieved information in an information search system
US6564213B1 (en) 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
KR20010044214A (en) 2000-05-22 2001-06-05 강성광 User interfacing method using navigation bar
CN100489748C (en) 2000-06-14 2009-05-20 皇家菲利浦电子有限公司 Data processing system, device and method, and remote device for user interface with dynamic menu option organization
GB0019459D0 (en) * 2000-07-28 2000-09-27 Symbian Ltd Computing device with improved user interface for applications
US20030074635A1 (en) 2001-10-11 2003-04-17 International Business Machines Corporation Method, apparatus, and program for finding and navigating to items in a set of web pages
US7765493B2 (en) 2000-12-27 2010-07-27 National Instruments Corporation Graphical user interface including palette windows with an improved navigation interface
CN1240011C (en) 2001-03-29 2006-02-01 国际商业机器公司 File classifying management system and method for operation system
US6819340B2 (en) 2001-07-23 2004-11-16 Paul E. Burke Adding a shortcut to a web site
US7237240B1 (en) * 2001-10-30 2007-06-26 Microsoft Corporation Most used programs list
EP1493258B1 (en) * 2002-04-05 2011-11-02 Panasonic Corporation Content using system
US6910106B2 (en) 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7293242B2 (en) * 2002-10-15 2007-11-06 International Business Machines Corporation Facilitated source to target object editing functions
US7383248B2 (en) 2002-12-12 2008-06-03 Jay Chieh Chen Hyperlink park and search
US20040175159A1 (en) * 2003-01-08 2004-09-09 Oetzel Kenneth G. Searchable DVD incorporating metadata
US7614015B2 (en) 2003-04-09 2009-11-03 Microsoft Corporation Method and system for representing group policy object topology and relationships
US7337185B2 (en) 2003-04-30 2008-02-26 Yahoo! Inc. System and method for providing an improved graphical user interface for search
TWI221994B (en) 2003-05-16 2004-10-11 Inventec Multimedia & Telecom Device for searching digital image files and the method thereof
JP2005018406A (en) * 2003-06-26 2005-01-20 Casio Comput Co Ltd Information display control unit, server, and program
US7080674B2 (en) * 2003-08-08 2006-07-25 Burns Bros., Inc. Low interference traction device for tires
US20050097089A1 (en) 2003-11-05 2005-05-05 Tom Nielsen Persistent user interface for providing navigational functionality
US7634472B2 (en) 2003-12-01 2009-12-15 Yahoo! Inc. Click-through re-ranking of images and other data
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US7836044B2 (en) * 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US7437358B2 (en) * 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US8677274B2 (en) * 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7512904B2 (en) 2005-03-22 2009-03-31 Microsoft Corporation Operating system launch menu program listing
US7543244B2 (en) 2005-03-22 2009-06-02 Microsoft Corporation Determining and displaying a list of most commonly used items
US7340686B2 (en) 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
US7720834B2 (en) * 2005-06-23 2010-05-18 Microsoft Corporation Application launching via indexed data
US7612773B2 (en) * 2006-05-22 2009-11-03 Magnin Paul A Apparatus and method for rendering for display forward-looking image data
US7986640B2 (en) * 2006-07-05 2011-07-26 Cisco Technology, Inc. Technique for efficiently determining acceptable link-based loop free alternates in a computer network
JP5020005B2 (en) 2007-09-06 2012-09-05 三洋電機株式会社 Broadcast signal receiver
JP5080997B2 (en) 2008-01-24 2012-11-21 株式会社トプコン Ophthalmic imaging equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115384A1 (en) * 1998-12-04 2003-06-19 Takashi Sonehara Information processing apparatus, information processing method, and information providing medium
US6724402B1 (en) * 2000-01-27 2004-04-20 David R. Baquero Method of launching computer programs within a graphical user interface
US20030098891A1 (en) * 2001-04-30 2003-05-29 International Business Machines Corporation System and method for multifunction menu objects
US20040133564A1 (en) * 2002-09-03 2004-07-08 William Gross Methods and systems for search indexing
US20040078358A1 (en) * 2002-10-17 2004-04-22 International Business Machines Corporation Search for specific files from browser window
US7567964B2 (en) * 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
US7788248B2 (en) * 2005-03-08 2010-08-31 Apple Inc. Immediate search feedback

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277492A1 (en) * 2005-03-22 2006-12-07 Microsoft Corporation Operating system program launch menu search
US9465516B2 (en) 2005-03-22 2016-10-11 Microsoft Technology Licensing, Llc Operating system program launch menu search
US20140325385A1 (en) * 2013-04-25 2014-10-30 Xiaolong ZHANG Methods and instant messaging client devices for performing im using menu option
US10474319B2 (en) * 2013-04-25 2019-11-12 Tencent Technology (Shenzhen) Company Limited Methods and instant messaging client devices for performing IM using menu option
US9141709B1 (en) 2014-11-20 2015-09-22 Microsoft Technology Licensing, Llc Relevant file identification using automated queries to disparate data storage locations
US11159646B1 (en) 2015-07-13 2021-10-26 Amazon Technologies, Inc. Identifying, presenting, and launching preferred applications on virtual desktop instances

Also Published As

Publication number Publication date
RU2007135171A (en) 2009-03-27
NZ561779A (en) 2010-07-30
EP1861766A4 (en) 2009-11-04
HK1199523A1 (en) 2015-07-03
US20060277492A1 (en) 2006-12-07
MX2007011606A (en) 2007-11-22
CN101147115B (en) 2014-06-18
IL250265B (en) 2018-01-31
CA2598694A1 (en) 2006-09-28
KR101183373B1 (en) 2012-09-17
CA2598694C (en) 2013-07-09
AU2005329409B2 (en) 2011-03-03
JP2008535052A (en) 2008-08-28
IL226191A (en) 2017-01-31
WO2006101507A3 (en) 2007-05-03
US9465516B2 (en) 2016-10-11
EP1861766B1 (en) 2017-11-15
US20060218503A1 (en) 2006-09-28
IL185558A0 (en) 2008-01-06
US20170010772A1 (en) 2017-01-12
JP4906842B2 (en) 2012-03-28
US7340686B2 (en) 2008-03-04
TWI526851B (en) 2016-03-21
TW201337593A (en) 2013-09-16
CN101147115A (en) 2008-03-19
MY144889A (en) 2011-11-30
EP1861766A2 (en) 2007-12-05
KR20070114772A (en) 2007-12-04
TWI518524B (en) 2016-01-21
WO2006101507A2 (en) 2006-09-28
TW200634557A (en) 2006-10-01
RU2405186C2 (en) 2010-11-27
US7890886B2 (en) 2011-02-15
BRPI0520453A2 (en) 2009-05-12
NO20074437L (en) 2007-10-18
IL250265A0 (en) 2017-03-30
TW201337592A (en) 2013-09-16
IL226191A0 (en) 2013-06-27
AU2005329409A1 (en) 2006-09-28
CN103902297A (en) 2014-07-02
CN103902297B (en) 2018-01-26
TWI430109B (en) 2014-03-11
US20060282790A1 (en) 2006-12-14
MX353568B (en) 2018-01-18

Similar Documents

Publication Publication Date Title
US9465516B2 (en) Operating system program launch menu search
US7543244B2 (en) Determining and displaying a list of most commonly used items
US7512904B2 (en) Operating system launch menu program listing
JP6141280B2 (en) Facilitating dialogue using a system-level search user interface
US20120198380A1 (en) Contextual user interface
US20080189627A1 (en) Execution of application based on task selection
RU2433464C2 (en) Combined search and launching file execution
AU2014202461B2 (en) Operating system launch menu program listing

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417

Effective date: 20141014

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454

Effective date: 20141014

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION