As the amount of functionality that is available on a computing device continues to increase so to does the complexity of the computing device. To minimize user frustration, software and hardware is typically configured to need minimal user intervention, even when being installed on the computing device. However, the lack of the user intervention also results in the isolation of the user from the operation of the computing device such that the user may not be aware as to how the software and hardware interacts, one with another. Therefore, this isolation may result in the user being ill prepared to address errors when encountered during the operation of the computing device.
When encountering an error message, for instance, a user is typically provided with little or nor explanation regarding the error. For example, when the error is identified in the error message, even savvy computer users may be at a loss as to how to correct the error. Therefore, rather than correct the error, the user generally reboots the computing device and continues on as before, hoping that the reboot solved the problem. However, this may result in only a temporary solution which can lead to the user encountering the same or even greater problems in the future.
Messages with forum assistance are described. In an implementation, a message includes a link that is selectable to obtain information, from one or more forums, that relate to the message using text taken from the message.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The same reference numbers are utilized in instances in the discussion to reference like structures and components.
When error messages occur, users are often left with little or no explanation regarding how to resolve the errors. Techniques are described, in which, a forum search for information related to an error message is performed when a message (e.g., an error message) is encountered. For example, the error message may include text which describes the error and a user-selectable link to obtain information related to the error. When the link is selected, the text of the error message may be automatically used to search forums (e.g., newsgroups) for the information relating to the error. Thus, by selecting the link the user may be automatically presented with information relating to the error. The search may be performed in a variety of ways, such as by performing a new search each time the link is selected, navigating to pre-filtered search results that are indicated as “helpful” or “complete” by previous users, and so on, further discussion of which may be found in relation to
In the following description, an exemplary environment is first described which is operable to employ forum assistive techniques for error messages. Exemplary procedures are then described which are operable in the exemplary environment, as well as in other environments.
Although the network 106 is illustrated as the Internet, the network may assume a wide variety of configurations. For example, the network 106 may include a wide area network (WAN), a local area network (LAN), a wireless network, a public telephone network, an intranet, and so on. Further, although a single network 106 is shown, the network 106 may be configured to include multiple networks.
Client 104(N) is illustrated as having a plurality of resources 108(r), where “r” can be any integer from one to “R”, that are configured to provide functionality during the operation of the client 104(N). For example, the resources 108(r) may be configured as hardware resources 110(r), such as processors and memory, peripheral devices (e.g., printers, scanners, digital cameras, music players), input devices (e.g., keyboards, voice-input devices and cursor-control devices), display devices (e.g., monitors, projectors and motion-output devices), and so on. The resources 108(r) may also be configured as software resources 112(r), such as executable modules configured as applications, operating systems, third-party plug-in modules, drivers, and so forth. Thus, the client 104(N) may include a wide variety of resources which are operable to provide functionality to the client 104(N).
As previously described, however, errors may be encountered during the operation of the resources 108(r). To provide the client 104(N) (i.e., a user) with additional information regarding the encountered errors, a forum module 114(N) may be executed to obtain additional information related to the error from the forum service 102(m) over the network 106.
The forum service 102(m) is illustrated as maintaining a plurality of forums 116(g), where “g” can be any integer from one to “G”, in storage 118(m). Forums 116(g) are electronic discussion groups (e.g., a bulletin board), each of which are typically devoted to discussion of a particular topic. Forms 116(g), for instance, may be configured as newsgroups, discussion groups, email threads, blogs (i.e., web logs), web forums, and so on. Each of the illustrated forums 116(g) includes a plurality of posts 120(p), which are messages that have been addressed to the respective forum 116(g) rather than a specific individual, e.g., the client 104(N). Additionally, the forums 116(g) may be “threaded” such that various topics (e.g., forums) pertaining to a central theme may be combined. For instance, the posts 120(p) may be threaded according to a particular discussion of a central theme.
The forum service 102(m) is illustrated as including a forum manager module 122 that is executable to manage the forums 116(g) and posts 120(p) in the respective forums 116(g). For example, client 104(1) may create a post 120(p) for a particular forum 116(g), which may be managed by the forum manager module 122. When the post 120(p) is requested by client 104((N), the post 120(p) may be communicated over the network 106 to the client 104(N) by the forum manager module 122. The forum manager module 122 may provide a wide variety of additional functionality, further discussion of which may be found later in the description.
As previously described, errors may be encountered during operation of the plurality of resources 108(r) of the client 104(N). To gain additional information regarding the errors, the forum module 114(N), when executed, may locate forums 116(g) that have information (e.g., posts 120(p)) related to the error. These posts 120(p) may then be output at the client 104(N) for viewing such that a user may be provided with this information. Thus, the client 104(N) may learn information provided by other clients (e.g., client 104(1)) that may assist the client 104(N) in correcting the error, information regarding the source of the error, experiences with the error by the other client 104(1), and so on. In an implementation, navigation to the forum service 102(m) and location of the relevant information is performed automatically upon selection of a link included in the error message, further discussion of which may be found in relation to the following figure.
Although the following discussion describes the use of error messages and forums, these techniques may be applied in a variety of other instances. For example, a mechanism which maps from a source user interface to a thread destination is automated by using text and data from the source to match with the correct destination. Therefore, this mechanism may also be employed such that a newsgroup which discusses books may be utilized by a book seller such that a hyperlink is placed in the catalog of books which causes the user to navigate to the relevant discussion. Therefore, the user may be provided with a web page that shows a subset of newsgroup threads that specifically relate about that particular book in the catalog. In this way, the hyperlinks are built into the source user interface, instead of having the user go to a separate search engine. This functionality may also leverage post rating, poster rating, and so on besides the text of the threads to locate particular threads of interest which will be described in further detail below. Further, the functionality may also leverage additional information about the source, such as a user's language, application type that incorporates the functionality (e.g., word processor, etc.), and so on. Further discussion of these features may be found in relation to the following figures.
Generally, any of the functions described herein can be implemented using software, firmware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “logic” as used herein generally represent software, firmware, or a combination of software and firmware. In the case of a software implementation, the module or logic represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, further description of which may be found in relation to
Processors are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions. Alternatively, the mechanisms of or for processors, and thus of or for a computing device, may include, but are not limited to, quantum computing, optical computing, mechanical computing (e.g., using nanotechnology), and so forth. Additionally, although a single memory 208(s), 210(N) is shown, respectively, for the client 104(N) and the servers 202(s), a wide variety of types and combinations of memory may be employed, such as random access memory (RAM), hard disk memory, removable medium memory, and so forth.
The client 104(N) is illustrated as executing the forum module 114(N) on the processor 206(N), which is also storable in memory 210(N). The forum module 114(n) is representative of functionality that is executable to provide forum information that is related to errors encountered during the operation of the hardware resources 110(r) and/or software resources 112(r) of the client 104(N). For example, the forum module 114(N) may be utilized to configure an error message 212 to include a forum link 214. The forum link is selectable to obtain information from the forums 116(g) over the network 106 that relate to the error. For example, selection of the forum link 214 may cause text included in the error message which describes the error to be utilized in a search by the forum module 114(N) of forums 116(g) for related information, further discussion of which may be found in relation to
In another example, selection of the forum link 214 automatically navigates the client 104(N) to results 216(e) (where “e” can be any integer from one to “E”) that correspond to the error being indicated by the error message 212. For instance, the forum manager module 122 may pre-process the forum 116(g) and store results 216(e) of the processing according to the type of error encountered at one or more particular network addresses. The forum link 214 may point to one or more of these network addresses to obtain information from the forums 116(g). Further discussion of pre-processing of the forums 116(g) may be found in relation to
Results of a forum search may also be filtered such that a client 104(N) is more likely to obtain information that is relevant to the error. For example, posts of the forums 116(g) may be rated by other clients for helpfulness (e.g., “was this post helpful regarding this error”), completeness (e.g., “was this post complete regarding this error”), and so on. These ratings may then be utilized by the forum module 114(N) and/or the forum manager module 122 to filter results of the search for “helpful” and “complete” posts. Further discussion of filtering of search results may be found in relation to
The forum module 114(N) may also provide additional functionality to ease future searches to obtain information related to an error. For example, a search for an error message in the forums 116(g) may turn up limited results that are not helpful. Accordingly, to obtain additional information, a post may be created through execution of the forum module 114(N) that automatically inserts the text of the error message such that other clients (e.g., client 104(1)) may reply to the post. These replies may then be obtained later by the client 104(N), such as when the error is again encountered, at a scheduled time, and so on.
The forum link 214 is illustrated as a button that is operable as a hyperlink to navigate to information obtained from the forums 116(g) of
The following discussion describes forum assistive techniques that may be implemented utilizing the previously described systems and devices. Aspects of each of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the environment 100 of
During operation of the client device, the error is encountered (block 404). For example, a hardware error may be encountered such that the client device is unable to perform a desired action, a software error may be encountered in the execution of a module, and so on. Therefore, the error message is output having the forum link (block 406), such as the error message 120 and forum link 122 of
When the forum link is selected, the client 104(N) is navigated to a forum that relates to the error (block 408). For example, the client 104(N) may be navigated to a network address of the forum to obtain posts which relate to the error. In some situations, however, the forums may contain little or no information that is related to the error. Therefore, in such an instance the client 104(N) may create a post requesting information related to the error from other clients, e.g., client 104(1). When the post is created, the text of the error message may be automatically inserted into the post (block 410), such as through execution of the forum module 114(N). Therefore, subsequent clients which encounter the same message may readily find the post and share any found solutions, experiences, and so on.
In response to the input, text of the error message is automatically used to search one or more forums (block 504). The text “An Error has Occurred when Attempting to Print” as shown in
Results of the search are filtered for posts that are marked as “helpful” by one or more previous users (block 506). The previous users, for instance, may read posts 120(p) of one or more forums 116(g) and rate the posts (e.g., “helpful”, “sort of helpful”, “not helpful”, and so on) based on how helpful the post was in relation to the error, such as to correct the error, understand a source of the error, and so forth. These ratings may then be used to quickly locate helpful posts for output to subsequent users, thereby increasing the likelihood that the subsequent users are provided with useful information. In this way, the subsequent users may leverage the experience of the previous users (e.g., user 104(1)) with the posts 120(p).
Likewise, results for posts that are marked as “complete” by at least one previous user may be filtered (block 508). Like marking posts as “helpful”, the completeness of the posts may also be rated to indicate to subsequent users that the; posts may be useful in relation to the error. Results of the filtering (blocks 506, 508) may then be output for viewing by the user (block 510), such as on a display device as illustrated in
Based on the examination, at least one page is configured to reference posts in the one or more forums that correspond to particular errors (block 604). For example, the page may include network addresses of posts that are categorized by error type. Therefore, data regarding the pages may be provided to hardware and software designers (block 606) such that the designers may configure error messages to include forum links that point to corresponding pages (block 608). Thus, the designers may incorporate the functionality into the error messages in a simple manner.
Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.