Abstract:
A method for tailoring help systems to the expertise of users includes recording data related to a user&#39;s interaction with a product. The data is then analyzed to ascertain a level of expertise of the user relative to using the product. Upon receiving a request for assistance from the user with respect to the product, a help system may be selected based on the determined level of expertise of the user. The method may automatically provide assistance to the user through a more advanced help system in the event the user is ascertained to have a more advanced level of expertise. Similarly, the method may automatically provide assistance to the user through a less advanced help system in the event the user is ascertained to have a less advanced level of expertise. A corresponding apparatus and computer program product are also disclosed.

Description:
BACKGROUND 
       [0001]    1. Field of the Invention 
         [0002]    This invention relates to apparatus and methods for matching help systems to the expertise level of users. 
         [0003]    2. Background of the Invention 
         [0004]    Many products (e.g., hardware and software systems) provide technical support or help systems to assist users who encounter problems or have general questions about a product&#39;s capabilities or features. Such technical support and help systems may come in a variety of forms, including printed manuals and reference literature, phone numbers for users to call to reach support personnel, and online support materials such as web pages, community forums, lists of commonly asked questions, email support, video tutorials, chat assistants, and the like. In some cases, such as when users are using applications or surfing web sites, tailored technical assistance, also referred as context-sensitive help, may be provided based on where a user currently is in the application or web site. 
         [0005]    Nevertheless, current technical support and help systems are not without their shortcomings. For example, users of products may have various levels of expertise, from novice to advanced. Nevertheless, users are often directed to the same technical support personnel and/or help systems when troubleshooting a product or asking for product information regardless of their level of expertise. For example, when an advanced user encounters a problem or has a question, the advanced user may be directed to a phone number that is the same for all users of the product. In some cases, the advanced user may be placed in contact with support personnel, in some cases reading prewritten scripts or other materials, that may have no more expertise than the user that is requesting assistance. This can be very frustrating for advanced users and may result in bad customer service as well as dissatisfaction with a product. Likewise, novice users may be placed in contact with support personnel or help materials that may be more advanced than what the users are currently capable of understanding. This can likewise lead to frustration and dissatisfaction with a product. 
         [0006]    In view of the foregoing, what are needed are apparatus and methods to more carefully tailor technical assistance and help systems to the expertise of users. Ideally, such apparatus and methods will be seamless and require little if any effort on the part of users. 
       SUMMARY 
       [0007]    The invention has been developed in response to the present state of the art and, in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available apparatus and methods. Accordingly, apparatus and methods have been developed to tailor help systems to the expertise of users. The features and advantages of the invention will become more fully apparent from the following description and appended claims, or may be learned by practice of the invention as set forth hereinafter. 
         [0008]    Consistent with the foregoing, a method for tailoring help systems to the expertise of users is disclosed herein. In one embodiment, such a method includes recording data related to a user&#39;s interaction with a product. The data is then analyzed to ascertain a level of expertise of the user relative to using the product. Upon receiving a request for assistance from the user with respect to the product, a help system may be selected based on the determined level of expertise of the user. For example, the method may automatically provide assistance to the user through a more advanced help system in the event the user is ascertained to have a more advanced level of expertise. Similarly, the method may automatically provide assistance to the user through a less advanced help system in the event the user is ascertained to have a less advanced level of expertise. 
         [0009]    A corresponding apparatus and computer program product are also disclosed and claimed herein. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    In order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through use of the accompanying drawings, in which: 
           [0011]      FIG. 1  is a high-level block diagram showing one example of a computing system in which various components or modules of an apparatus and method in accordance with the invention may be implemented; 
           [0012]      FIG. 2  is a block diagram showing a high-level view of one embodiment of a help system matching module used to implement an expert-matched help system, including various sub-modules that may be included therein; 
           [0013]      FIG. 3  is a flow diagram showing one example of operation of an expert-matched help system in accordance with the invention; 
           [0014]      FIG. 4  is a block diagram showing one example of an expert-matched help system wherein users are directed to different website URLs based on their level of expertise; 
           [0015]      FIG. 5  is a block diagram showing one example of an expert-matched help system wherein users are provided different contact information based on their level of expertise; and 
           [0016]      FIG. 6  is a block diagram showing one example of an expert-matched help system wherein users are provided different tutorials based on their level of expertise. 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    It will be readily understood that the components of the present invention, as generally described and illustrated in the Figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the invention, as represented in the Figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of certain examples of presently contemplated embodiments in accordance with the invention. The presently described embodiments will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. 
         [0018]    As will be appreciated by one skilled in the art, the present invention may be embodied as an apparatus, system, method, or computer program product. Furthermore, the present invention may take the form of a hardware embodiment, a software embodiment (including firmware, resident software, microcode, etc.) configured to operate hardware, or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module” or “system.” Furthermore, the present invention may take the form of a computer-usable storage medium embodied in any tangible medium of expression having computer-usable program code stored therein. 
         [0019]    Any combination of one or more computer-usable or computer-readable storage medium(s) may be utilized to store the computer program product. The computer-usable or computer-readable storage medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CDROM), an optical storage device, or a magnetic storage device. In the context of this document, a computer-usable or computer-readable storage medium may be any medium that can contain, store, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
         [0020]    Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++, or the like, conventional procedural programming languages such as the “C” programming language, scripting languages such as JavaScript, or similar programming languages. Computer program code for implementing the invention may also be written in a low-level programming language such as assembly language. 
         [0021]    Embodiments of the invention may be described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus, systems, and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions or code. These computer program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0022]    The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0023]    Referring to  FIG. 1 , one example of a computing system  100  is illustrated. The computing system  100  is presented to show one example of an environment where various components or modules of an apparatus and method in accordance with the invention may be implemented. The computing system  100  is presented only by way of example and is not intended to be limiting. Indeed, the apparatus and methods disclosed herein may be applicable to a wide variety of different computing systems in addition to the computing system  100  shown. The apparatus and methods disclosed herein may also potentially be distributed across multiple computing systems  100 . 
         [0024]    As shown, the computing system  100  includes at least one processor  102  and may include more than one processor  102 . The processor  102  may be operably connected to a memory  104 . The memory  104  may include one or more non-volatile storage devices such as hard drives  104   a , solid state drives  104   a , CD-ROM drives  104   a , DVD-ROM drives  104   a , tape drives  104   a , or the like. The memory  104  may also include non-volatile memory such as a read-only memory  104   b  (e.g., ROM, EPROM, EEPROM, and/or Flash ROM) or volatile memory such as a random access memory  104   c  (RAM or operational memory). A bus  106 , or plurality of buses  106 , may interconnect the processor  102 , memory devices  104 , and other devices to enable data and/or instructions to pass therebetween. 
         [0025]    To enable communication with external systems or devices, the computing system  100  may include one or more ports  108 . Such ports  108  may be embodied as wired ports  108  (e.g., USB ports, serial ports, Firewire ports, SCSI ports, parallel ports, etc.) or wireless ports  108  (e.g., Bluetooth, IrDA, etc.). The ports  108  may enable communication with one or more input devices  110  (e.g., keyboards, mice, touchscreens, cameras, microphones, scanners, storage devices, etc.) and output devices  112  (e.g., displays, monitors, speakers, printers, storage devices, etc.). The ports  108  may also enable communication with other computing systems  100 . 
         [0026]    In certain embodiments, the computing system  100  includes a network adapter  114  to connect the computing system  100  to a network  116 , such as a LAN, WAN, or the Internet. Such a network  116  may enable the computing system  100  to connect to one or more servers  118 , workstations  120 , personal computers  120 , mobile computing devices, or other devices. The network  116  may also enable the computing system  100  to connect to another network by way of a router  122  or other device  122 . Such a router  122  may allow the computing system  100  to communicate with servers, workstations, personal computers, or other devices located on different networks. 
         [0027]    Referring to  FIG. 2 , one embodiment of a help system matching module  200  for tailoring help systems to the expertise of users is illustrated. As shown, the help system matching module  200  includes one or more sub-modules providing various features and functions. These modules may be implemented in hardware, software or firmware executable on hardware, or a combination thereof. The modules are presented only by way of example and are not intended to be limiting. Indeed, alternative embodiments may include additional or fewer modules than those illustrated, or the modules may be organized differently. Furthermore, in some embodiments, the functionality of some modules may be broken into multiple modules or, conversely, the functionality of several modules may be combined into a single or fewer modules. 
         [0028]    As shown, in certain embodiments, the help system matching module  200  includes one or more of a data recording module  202 , an expertise determination module  204 , and a help system identification module  206  to provide various features and functions. The modules are illustrated to provide a conceptual understanding of apparatus in accordance with the invention, while understanding that the manner in which the modules are actually implemented may vary considerably. For example, the help system matching module  200  could be implemented entirely on a user&#39;s computer, on one or more server computers communicating with a user&#39;s computer, or on a combination thereof. 
         [0029]    The data recording module  202  may be configured to gather data with respect to a user&#39;s interaction with a product (e.g., a software application). Specifically, the data recording module  202  may be configured to record data relevant to a user&#39;s expertise using the product. Such data may include, for example: frequency that a user uses a product (frequent use may indicate that a user is more familiar with a product); a period of time that a user has used a product (more time with a product may indicate greater expertise using a product); time required by a user to complete tasks using a product (completing a task faster may indicate that a user is more familiar with a product); frequency that a user uses advanced features of a product (novice users may be less likely to use advanced features); and frequency of modifying advanced options of a product (novice users may be less likely to modify advanced options). Data that is relevant to a user&#39;s expertise may differ for different products (e.g., software applications). Thus, the foregoing list is provided only by way of example and not limitation. 
         [0030]    In other embodiments, the data recording module  202  may also gather data about a user&#39;s work environment, since a user&#39;s work environment may in some cases indicate a user&#39;s general expertise. For example, if a user uses a computer workstation, as opposed to a standard desktop personal computer (PC), this may indicate that the user is a “power user” and thus more likely to have greater expertise with respect to products the user is using. Thus, in certain embodiments, hardware, operating system (i.e., Linux is not typically utilized by novice users), or applications that a user is using may be good indicators of the user&#39;s general level of expertise. 
         [0031]    In yet other embodiments, product version may be an indicator of user expertise. For example, if a user is using an advanced or full version of a software application as opposed to a free version or a version with a reduced feature set, this may indicate that the user has additional expertise. In other cases, the data recording module  202  may record which types of information a user has accessed or technical support that a user has been provided in the past. For example, if a user frequently accesses web pages describing advanced product features, or if a user has previously received customer service for advanced product features, this may indicate that a user is a more advanced user. 
         [0032]    Because privacy may be a concern, in certain embodiments, a user may be given the option to turn the data recording module  202  on or off as needed. For example, if a user would rather not have data collected about his or her product use, the user may opt to turn the data recording module  202  off. On the other hand, if a user desires help systems that are more tailored to the user&#39;s expertise, the user may elect to turn the data recording module  202  on. In yet other embodiments, the user may turn on or off particular data collection features. For example, the user may opt to enable data gathering with respect to use of advanced features of a product, but may opt to disable data gathering with respect to a frequency that the user uses the product. 
         [0033]    An expertise determination module  204  may be configured to, based on data gathered by the data recording module  202 , determine a level of expertise of a user with respect to a particular product. Any suitable algorithm may be used to determine such a level of expertise. For example, the expertise determination module  204  may assign a numerical value to each data category of data that is gathered, and then sum the numerical values to generate a score indicating a user&#39;s level of expertise. In certain cases, data may be weighted differently to indicate its relative importance. For example, the frequency of use of a particular product may be deemed more important than the frequency a user modifies advanced options of the product. In such a case, the numerical value associated with the frequency of use of a particular product may be multiplied by a larger weight factor than the numerical value associated with the frequency a user modifies advanced options. The results could then be summed to yield the score. Although this is a very simple algorithm, other more advanced and sophisticated algorithms are also possible and within the scope of the invention. 
         [0034]    In certain embodiments, the expertise determination module  204  may allocate users into one or more discrete categories. For example, scores within a first range may be deemed “expert users”, scores with a second range may be deemed “intermediate users”, and scores within a third range may be deemed “novice users”. As will be explained in more detail hereafter, these discrete categories (or ranges of expertise scores) may be used to direct users to different help systems or to tailor the help systems to the users. Although the example discussed above uses three categories, other numbers of categories are possible and within the scope of the invention. 
         [0035]    A help system identification module  206  may be configured to, based on a level of expertise determined by the expertise determination module  204 , direct a user to an appropriate help system. For example, “expert users” may be directed to a first help system geared to more advanced users, “intermediate users” may be directed to a second help system geared to users of intermediate expertise, and “novice users” may be directed to a third help system geared to novice users. Such help systems may take on many forms, including printed manuals or reference literature, phone numbers for users to call to reach support personnel, or online support materials such as web pages, community forums, lists of commonly asked questions, email support, video tutorials, chat assistants, and the like. 
         [0036]    For example, where the help system is a phone number to call, “expert users” may be provided a first phone number, “intermediate users” may be provided a second phone number, and “novice users” may provided a third phone number, with each phone number providing a different level of support or enabling a user to speak with support personnel of differing levels of expertise. In some cases, more advanced users may be able to speak with experienced support personnel while less advanced users may only hear prerecorded messages providing answers to commonly asked questions. Similarly if the help system is a web site containing reference materials, more advanced users may be directed or linked to more advanced reference materials while less advanced users may be directed or linked to less advanced reference materials. 
         [0037]    Referring to  FIG. 3 , one simple example of operation of an expert-matched help system is illustrated. This example is intended to be non-limiting, since an expert-matched help system in accordance with the invention may take on many different forms. For example, an expert-matched help system in accordance with the invention may use different types of data, algorithms, help systems, or the like, to achieve the objectives described herein. 
         [0038]    In the illustrated example, the expert-matched help system is configured to gather various types of data  300  describing a user&#39;s interaction with a particular product. This data may be used to generate one or more data elements A 1 , A 2 , A 3 , . . . , A N , such as the numerical values previously discussed. The magnitude of each data element may vary in accordance with the strength or weakness of the underlying data. As also previously mentioned, in certain embodiments, weight values C 1 , C 2 , C 3 , . . . , C N  may optionally be assigned to each of the data elements A 1 , A 2 , A 3 , . . . , A N  to indicate the importance of the underlying data. 
         [0039]    In the illustrated example the data elements A 1 , A 2 , A 3 , . . . , A N  and weight values C 1 , C 2 , C 3 , . . . , C N  are input to an algorithm 302 to yield an expertise level. In certain embodiments, this expertise level is simply a numerical value or score that approximates a level of expertise of the user. In this example, a greater score indicates a greater level of expertise and a lesser score indicates a lesser level of expertise. 
         [0040]    The approximated expertise level may then be mapped to one or more help systems  304 . In this example, two help systems are provided. If the user&#39;s expertise level is determined to be greater than or equal to a value X, then the user is directed to a first help system  304   a . Similarly, if the user&#39;s expertise level is determined to be less than the value X, the user is directed to a second help system  304   b . Although users are mapped to only two help systems in this example, in other embodiments, users may be mapped to additional help systems to provide finer-grained tailoring to each user&#39;s level of expertise. 
         [0041]    Referring to  FIGS. 4 ,  5 , and  6 , various examples implementing an expert-matched help system are illustrated. In these examples, the Microsoft® Word document and word processing application is the product for which help may be sought.  FIG. 4  is a diagram showing one example of an expert-matched help system wherein users are directed to two different website URLs based on their determined level of expertise. For example, when an expert user clicks on the “Microsoft® Office Help” menu item, the user may be directed to a first web site URL geared to more advanced users. Similarly, when a novice user clicks on the “Microsoft® Office Help” menu item, the user may be directed to a second web site URL geared to less advanced users. 
         [0042]      FIG. 5  is a diagram showing an example of an expert-matched help system wherein users are provided different contact information based on their determined level of expertise. For example, when an expert user clicks on the “Contact Us” menu item, the user may be provided first contact information (e.g., phone number, email address, etc.) that may place the user in contact with support personnel able to assist more advanced users. Similarly, when a novice user clicks on the “Contact Us” menu item, the user may be provided second contact information that may place the user in contact with support personnel able to assist less advanced users. 
         [0043]      FIG. 6  is a diagram showing an example of an expert-matched help system wherein users are provided two different tutorials based on their determined level of expertise. For example, when an expert user clicks on the “Tutorial” menu item, the user may be linked to a first tutorial (e.g., written, audio, or video tutorial) that is geared to more advanced users. Similarly, when a novice user clicks on the “Tutorial” menu item, the user may be linked to a second tutorial that is geared to less advanced users. 
         [0044]    Apparatus and methods in accordance with the invention may be applied to a wide variety of different products. Although particular emphasis has been given to software applications, the disclosed apparatus and methods may also be applied to hardware products or products that combine both hardware and software. The disclosed apparatus and methods may also be used not only with traditional desktop-based applications, but also with applications accessed over the Internet or through a browser. Thus, the term “product” should be interpreted broadly to include a wide variety of different items, goods, applications, and services. 
         [0045]    Different variations of the apparatus and methods disclosed herein may also fall within the scope of the invention. For example, in certain embodiments, using the disclosed expert-matched help system, expert and novice users may be directed to two entirely different types of help systems based on their level of expertise. For example, if a user is determined to be an expert user, the user may be directed to live support personnel for technical support. By contrast, if the user is determined to be a novice user, the user may be directed to written materials such as a digital manual or a web site URL. After reviewing such written materials, the user may then optionally be directed to live support personnel or other support materials if needed. Thus, in some cases, novice users may be directed to less advanced resources followed by more advanced resources (i.e., a tiered help system) whereas more advanced users may be immediately directed to more advanced resources. 
         [0046]    The block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-usable storage media according to various embodiments of the present invention. In this regard, each block in the block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions discussed in association with a block may occur in a different order than discussed. For example, two functions occurring in succession may, in fact, be implemented in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams, and combinations of blocks in the block diagrams, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.