The present invention relates to computer reference information, and in particular, a task library comprising task data relating to a plurality of components installed on a computer system, the task data identifying tasks that may be performed on the computer system.
Computer systems are made up of numerous hardware and software components, collectively operating to create the computer system. However, while computer systems have become increasingly more powerful, they still require computer users to think in terms of distinct, separate components, including both hardware and software components. Thus, for a user to perform a specific task, the user must think in terms of a particular component to accomplish that task, instead of the whole, cooperative computer system. This componentization of specific tasks is often quite challenging to computer users, particularly to inexperienced computer users. These challenges are heightened as the computer user must also know which component accomplishes a specific task.
At least some of these componentization problems arises because the various components that make up a computer system come from a variety of vendors. Almost always, operating system and application vendors provide some form of reference material, or help, regarding the supplied components, but they almost never provide information beyond the scope of the supplied components. For example, a text editor application may include a help system that provides information regarding how to print a document from within the text editor component. However, should a problem arise while attempting to print the document, and that problem appears to be outside of the text editor's control, the component can, at best, only suggest that the computer user refer to some other component's help system. The computer user is then left to discover which, of all the components on the system, are involved with printing the document, and also determine which other component is not functioning, or is configured incorrectly. If the computer user is able to identify the proper component, the computer user must switch application context from the text editor to the “offending” component to make the necessary corrections. Once there, the computer user must determine how to make the necessary changes by navigating through that component's user interface, including menus, custom controls, toolbars, dialogs, and the like. Once the location is found and the problem corrected, the user must then return back to the text editor application to complete the print operation, requiring yet an additional context switch. Clearly, to the computer user, simply printing a document may be very challenging.
What is needed in the prior art is a task library containing information relating to the abilities of a computer system. The task library should include information for a plurality of components installed on or available to a computer system. The information for the plurality of components available to the computer system should be organized to facilitate user access to similar and/or related topics, even among multiple components on the computer system. The present invention addresses these an other deficiencies of the known art.
A task library comprising reference information (task data) from multiple components installed on a computer is provided. The components may include both hardware and software components. The components may be local or remote to the computer. The task library includes links referencing the task data, wherein the links are generated according to predetermined schemas, such as predefined categories, or alphabetically by subject matter. The task data may include at least one task data element, i.e., individual entries in the task data, that is configured such that aspects of a corresponding component may be modified from within the context of the task library.
In accordance with other aspects of the present invention, a method for creating a task library is presented. Task data from a plurality of components installed on a computer is obtained. The task data may include at least one task data element that is configured such that aspects of a corresponding component may be modified from within the context of the task library. Task links referencing the task data from the plurality of components are generated according to a predetermined schema, such as predefined categories or subjects, or alphabetically by subject matter. The task data and the task links are stored as the task library.
In accordance with further aspects of the present invention, a method for executing a task in the task library without change component context from the current context is presented. Tasks from a task library are retrieved. The task library comprises a plurality of tasks from a plurality of components installed on the computer. The retrieved tasks are displayed to the user. A user selection of a retrieved task is detected and the actions associated with the retrieved task are carried out.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
While aspects of the invention may be described in terms of application programs that run on an operating system in conjunction with a personal computer, those skilled in the art will recognize that those aspects also may be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
With reference to
The personal computer 102 further includes a hard disk drive 116, a magnetic disk drive 118, e.g., to read from or write to a removable disk 120, and an optical disk drive 122, e.g., for reading a CD-ROM disk 124 or to read from or write to other optical media. The hard disk drive 116, magnetic disk drive 118, and optical disk drive 122 are connected to the system bus 108 by a hard disk drive interface 126, a magnetic disk drive interface 128, and an optical drive interface 130, respectively. The drives and their associated computer-readable media provide nonvolatile storage for the personal computer 102. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk, and a CD-ROM disk, it should be appreciated by those skilled in the art that other types of media that are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, ZIP disks, and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored in the drives and RAM 112, including an operating system 132, one or more application programs 134, other program modules 136, and program data 138. A user may enter commands and information into the personal computer 102 through input devices such as a keyboard 140 or a mouse 142. Other input devices (not shown) may include a microphone, touch pad, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 104 through a user input interface 144 that is coupled to the system bus, but may be connected by other interfaces (not shown), such as a game port or a universal serial bus (USB). A display device 158 is also connected to the system bus 108 via a display subsystem that typically includes a graphics display interface 156 and a code module, sometimes referred to as a display driver, to interface with the graphics display interface. While illustrated as a stand-alone device, the display device 158 could be integrated into the housing of the personal computer 102. Furthermore, in other computing systems suitable for implementing the invention, such as a PDA, the display could be overlaid with a touch-screen. In addition to the elements illustrated in
The personal computer 102 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 146. The remote computer 146 may be a server, a router, a peer device, or other common network node, and typically includes many or all of the elements described relative to the personal computer 102. The personal computer 102 may be logically connected to other remote devices, such as network printers and fax machines (not shown). The logical connections depicted in
When used in a LAN networking environment, the personal computer 102 is connected to the LAN 148 through a network interface 152. When used in a WAN networking environment, the personal computer 102 typically includes a modem 154 or other means for establishing communications over the WAN 150, such as the Internet. The modem 154, which may be internal or external, is connected to the system bus 108 via the user input interface 144. In a networked environment, program modules depicted relative to the personal computer 102, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used. In addition, the LAN 148 and WAN 150 may be used as a source of nonvolatile storage for the personal computer 102.
As illustrated in
As illustrated in
As will be readily recognized by those skilled in the art, the installation process for a hardware component, such as installation process 212 for Device B 208, may be substantially different from the installation process of a software component, such as installation process 206 for Application A 202. However, those skilled in the art will also recognize that installing a hardware component often requires some installation, or activation, of controlling software on the computer system 102, often referred to as a device driver. It is typically during the installation of a device driver for a hardware component that available reference material, such as Device B Reference Data 210, is placed on the computer system 102.
Also shown in
Typically, reference data is added to the task library 302 concurrently with the installation of the corresponding component. As illustrated in
When reference data is added to the task library 302, task links 314 are generated and/or updated to include references to the added reference data. Task links 314 are pointers or references to individual reference units of the reference data. The task links 314 enable a user to efficiently access the reference material in the task library 302. These task links 314 are generated according to one or more schemas associated with the task library 302. The task links 314 may include links generated according to multiple schemas. Task links 314 are commonly stored with or in the task library 302.
Task links 314 may be viewed as a type of table of contents or index to the reference data in the task library 302, depending on the schema used to generate the links. For example, task links 314 may be generated to point to the reference data in the task library 302 according to sections and chapters. Alternatively, or additionally, task links 314 may be generated to point to the reference data according to the topics or subject matter of the individual reference entries. As yet another alternative, task links 314 may be generated to reference the data in an alphabetic order according to each entry's subject matter. Categories within the task links may include subcategories thereby creating a nested structure of topics and subtopics, as well as the individual reference entries. Numerous alternative schemas for generating task links 314 within the task library 302 are contemplated as falling within the scope of the present invention.
As shown in
Task data entries may alternatively include information that enables a user to launch a program on the computer system 102, send a message to another user or remote system, open additional assistance materials, navigate to Web pages, and the like, all from within the context of the task library 302. Other actions may also enabled by the task data entries from within the task library 302, and these are also contemplated as falling within the scope of the present invention.
Task data in a task library 302 may be configured in such a way as to be context sensitive, including responsive to a user's identity and/or permissions, current computer system status, recent user actions, and the like. For example, task data may be configured such that only certain identified users, or groups of users, may access particular, restricted task data. Alternatively, task data may be configured to be accessible only to task library 302 users having specific system access permissions, such as read/write permissions, or administrator privileges. A user may be able to access the task library 302 directly, i.e., at a top level, in order to browse the task data via the generated task links 314, or in relation to a particular topic. For example, while attempting to print a document from a word processing application/component, the task library 302 may be invoked/entered such that the user is taken directly to related printing task data. Other means for accessing the task library 302 may also be utilized.
Because the task library 302 combines task data from multiple installed components into a unified body, each predetermined category may include task data from a plurality of installed components on the computer system 102. For example, task data referenced under the Security and Maintenance Category 406 may include entries corresponding to an on-computer password security component as well as information regarding an installed network firewall component. Additionally, a single task data entry may be linked to, and presented in, more than one predetermined category. Thus, while a task data entry relating to an installed network firewall component may be found under the Security and Maintenance Category 406, it may also be found under the Networking Category 414, and/or the Using the Internet Category 416, to name just a few.
As mentioned above, according to one aspect of the present invention, task data entries may be delivered in a format such that a user may carry out particular instructions or tasks not available with current reference or help systems, from within the task library 302, i.e., while browsing the task data entries in the task library. Thus, with reference to
According to aspects of the present invention, in addition to selecting tasks from the task library 302 according to the current context, the selected tasks may be presented to a user in such a way as to put certain tasks in more prominent or accessible locations according to a determined relevancy. For example, the tasks 708 prominently displayed in the preview pane 704 may have been selected because they were considered most relevant. Relevancy for tasks may be determined according to a number of factors, including, but not limited to, current computer state information, the frequency with which the user selects a certain task, the frequency that others select a certain task, and the like. Relevancy information may be stored with the task library 302.
As previously mentioned, tasks in a task library 302 may not necessarily be implemented by the current component. Thus, the picture library component that presents the user interface screen 702 to the user might not implement any of the associated tasks in the preview pane 704, such as Copy the Selected Picture 710. Additionally, tasks in the task library 302 may be configured such that they may complete the associated function without changing from the current component's context. Thus, while the component that displays the picture library 702 may not have the functionality to send the Picture 706 to another person via e-mail, a user may, nonetheless, be able to send the Picture 706 without changing from the current component's context by selecting the task Send Picture in E-Mail 712.
The associated tasks 708 in the preview pane 704, such as Copy Selected Picture 710 and Send Picture in E-Mail 712, are presented because picture 706 has been selected. This is an example of how the task library 302 may be accessed in a context sensitive manner. For example, the component that present the user interface screen 702 is aware of the current context, in this case Picture 706 is selected. Thus, in presenting the associated tasks 708, this component likely requested information from the task library 302 according to the categories defined in the task library. Because there is a limited amount of space in a preview pane 704 to display related tasks, in one embodiment, tasks are selected to be displayed in a preview pane according to those that the component deems most likely to be used. Additional related tasks that are less commonly used may also be accessed. For example, by selecting the task More 714, additional associated tasks may be presented.
It should be understood that while the above figures illustrate various user interface mechanisms for accessing tasks in a task library 302, they are for illustration purposes only, and should not be construed as limiting upon the present invention. Those skilled in the art will recognize that numerous other user interface controls may be used without departing from the scope of the present invention.
At block 804, the task data from the plurality of components is stored in a task library 302. According to one aspect of the present invention, the task library 302 is a database stored on the computer 102. Other storage configurations of a task library 302 may also be utilized. The task library 302 may be stored remote from the computer 102, such as on a remote computer 146 or on the Internet. Accordingly, the present invention should not be construed as limited to any particular configuration. At block 806, task links 314 referencing the task data entries in the task library 302 are generated according to at least one predetermined schema associated with task library. At block 808, the task links 314 are stored as part of the task library 302. Thereafter, the routine 800 terminates.
At block 910, the retrieved tasks are displayed to a user. Examples of how tasks may be displayed to a user are found in
While embodiments of the invention have been illustrated and described, including the preferred embodiment, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.