US20180046704A1 - Systems and Methods for Selection-Based Contextual Help Retrieval - Google Patents
Systems and Methods for Selection-Based Contextual Help Retrieval Download PDFInfo
- Publication number
- US20180046704A1 US20180046704A1 US15/723,109 US201715723109A US2018046704A1 US 20180046704 A1 US20180046704 A1 US 20180046704A1 US 201715723109 A US201715723109 A US 201715723109A US 2018046704 A1 US2018046704 A1 US 2018046704A1
- Authority
- US
- United States
- Prior art keywords
- user
- interface
- query response
- interface element
- query
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3325—Reformulation based on results of preceding query
- G06F16/3326—Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G06F17/30648—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G06F17/30528—
-
- G06F9/4446—
Definitions
- crowdsourced help While computing-application “help features” have a long history, one of the most powerful help features to have yet emerged is “crowdsourced” help. Crowdsourced forms of help enable users to help each other answer questions in, for example, discussion forums, mailing lists, or within online social networks. It is generally recognized that crowdsourced help is powerful at generating answers to help questions. However, it is generally considered difficult to find answers to such questions. More particularly, it may be difficult for a user to locate the answer to a question that has previously been asked and answered. For example, the onus is on the user to sift through a variety of potential answer resources, evaluate and disregard a large amount of irrelevant material, and/or craft keywords for use in key word searching in an attempt to locate a sought-after answer.
- Described herein are systems and methods for selection-based contextual help retrieval that leverages a user's interaction with a user-interface of a computing application to enable the user to ask questions, provide solutions, and efficiently search for help within the hierarchy of the user-interface itself.
- a first computer-implemented method may involve: (a) receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determining at least one first-query response based on at least the contextual data; and (c) causing an indication of the determined at least one first-query response to be provided via an output device.
- a first system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) receive first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determine at least one first-query response based on at least the contextual data; and (c) cause an indication of the determined at least one first-query response to be provided via an output device.
- a first physical computer-readable medium may include instructions including: (a) instructions for receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) instructions for determining at least one first-query response based on at least the contextual data; and (c) instructions for causing an indication of the determined at least one first-query response to be provided via an output device.
- a second computer-implemented method may involve: (a) receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) entering the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- a second system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) receive help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) enter the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- a second physical computer-readable medium may include instructions including: (a) instructions for receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) instructions for entering the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to the at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- a third method may involve: (a) causing a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) receiving feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- a third system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) cause a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) receive feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- a third physical computer-readable medium may include instructions including: (a) instructions for causing a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) instructions for receiving feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) instructions for, in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- FIG. 1 shows a simplified block diagram of an example communication network in which the present methods can be implemented.
- FIG. 2 shows a simplified block diagram of a network-access device arranged to implement aspects of at least one embodiment of the methods.
- FIG. 3 shows a simplified block diagram of a server arranged to implement aspects of at least one embodiment of the methods.
- FIG. 4 depicts an example computer-readable medium arranged to implement aspects of at least one embodiment of the methods.
- FIGS. 5A-5B are simplified flow charts depicting aspects of an example method.
- FIG. 6 is a simplified flow chart depicting aspects of an example method.
- FIG. 7 is a simplified flow chart depicting aspects of an example method.
- FIGS. 8A-8B depict aspects of an example graphical user-interface including various user-interface elements in accordance with an example method.
- FIGS. 9A-9B depict aspects of an example information-overlay interface in accordance with an example method.
- FIGS. 10A-10B depict aspects of an information-overlay-interface elements in accordance with an example method.
- FIGS. 11A-11B depict example first-query responses in accordance with an example method.
- FIGS. 12A-12B depict example second-query responses in accordance with an example method.
- FIG. 1 shows a simplified block diagram of an example communication network in which the present method can be implemented. It should be understood that this and other arrangements described herein are set forth only as examples. Those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead and that some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. And various functions described herein may be carried out by a processor executing instructions stored in memory.
- example network 100 includes various network-access devices 102 A- 102 D, public network 104 such as the Internet, and server 106 .
- public network 104 such as the Internet
- server 106 server 106 .
- additional entities not depicted in FIG. 1 could be present as well.
- Other network elements may be in communication with public network 104 as well.
- Each of network-access devices 102 A- 102 D may be any network-access device arranged to carry out the network-access device functions described herein. As such each of network-access devices 102 A- 102 D, including network-access device 102 A as shown in FIG. 2A , may include processor 202 , data storage 204 , and communication interface 210 , all linked together via system bus, network, or other connection mechanism 212 .
- Processor 202 may include one or more general purpose microprocessors and/or one or more dedicated signal processors and may be integrated in whole or in part with communication interface 210 .
- Data storage 204 may include memory and/or other storage components, such as optical, magnetic, organic or other memory disc storage, which can be volatile and/or non-volatile, internal and/or external, and integrated in whole or in part with processor 202 .
- Data storage 204 may be arranged to contain (i) program data 206 and (ii) program logic 208 . Although these components are described herein as separate data storage elements, the elements could just as well be physically integrated together or distributed in various other ways.
- program data 206 may be maintained in data storage 204 separate from program logic 208 , for easy updating and reference by program logic 208 .
- Communication interface 210 typically functions to communicatively couple network-access device 102 A to networks, such as public network 104 .
- communication interface 210 may include a wired (e.g., Ethernet) and/or wireless (e.g., Wi-Fi) packet-data interface, for communicating with other devices, entities, and/or networks.
- Network-access device 102 A may also include multiple interfaces 210 , such as one through which network-access device 102 A sends communication, and one through which network-access device 102 A receives communication.
- Network-access device 102 A may also include, or may be otherwise communicatively coupled to, user interface 220 .
- User interface 220 may include input device 222 including, for example, buttons, a touch screen, a microphone, and/or any other elements for receiving inputs.
- User interface 220 may also include one or more elements for communicating outputs, for example, one or more graphical displays 224 and/or a speaker.
- user interface 220 may be configured to display a graphical user interface (GUI) via graphical display 224 and may also be configured to receive inputs, via input device 222 , corresponding to use of such a GUI.
- input device 222 may include a visual-capture device such as a camera. The camera may be configured and/or arranged to track eye movements.
- Server 106 may be any network server or other computing system arranged to carry out the server functions described herein including, but not limited to, those functions described with respect to FIGS. 5-7 .
- server 106 may include processor 302 , data storage 304 including program data 306 and program logic 308 , and communication interface 310 , all linked together via system bus, network, or other connection mechanism 312 .
- Processor 302 , data storage 304 , program data 306 , program logic 308 , and communication interface 310 may be configured and/or arranged similar to processor 302 , data storage 304 , program data 306 , program logic 308 , and communication interface 310 , respectively, as described above with respect to network-access device 102 A.
- Data storage 304 may contain information used by server 106 in operation.
- date storage 304 may include instructions executable by the processor for carrying out the server functions described herein including, but not limited to, those functions described below with respect to FIGS. 5-7 .
- data storage 304 may contain various design logic and/or design data used for determining a test result, such as the logic and data described below with respect to FIGS. 5-7 .
- data storage 304 may contain information used by server 106 to provide an e-commerce storefront that is accessible by various network-access devices, such as network-access device 102 A, over public network 104 .
- public network 104 may include one or more wide area networks, one or more local area networks, one or more public networks such as the Internet, one or more private networks, one or more wired networks, one or more wireless networks, and/or one or more networks of any other variety.
- Devices in communication with public network 104 may exchange data using a packet-switched protocol such as IP, and may be identified by an address such as an IP address.
- FIG. 4 is a schematic illustrating a conceptual partial view of an example computer program product that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein.
- the example computer program product 400 is provided using a signal bearing medium 402 .
- the signal bearing medium 402 may include one or more programming instructions 404 that, when executed by one or more processors may provide functionality or portions of the functionality described herein.
- the signal bearing medium 402 may encompass a computer-readable medium 406 , such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc.
- the signal bearing medium 402 may encompass a computer-recordable medium 408 , such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc.
- the signal bearing medium 402 may encompass a communications medium 410 , such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
- a communications medium 410 such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
- the signal bearing medium 402 may be conveyed by a wireless form of the communications medium 410 .
- computer-readable medium 406 , computer recordable medium 408 , and communications medium 410 as contemplated herein are distinct mediums and that, in any event, computer-readable medium 408 is a physical, non-transitory, computer-readable medium.
- the one or more programming instructions 404 may be, for example, computer executable and/or logic implemented instructions.
- a computing device such as the network-access device 102 A of FIG. 2 may be configured to provide various operations, functions, or actions in response to the programming instructions 404 conveyed to the network-access device 102 A by one or more of the computer readable medium 406 , the computer recordable medium 408 , and/or the communications medium 410 .
- the non-transitory computer readable medium could also be distributed among multiple data storage elements, which could be remotely located from each other.
- the computing device that executes some or all of the stored instructions could be a network-access device such as the network-access device 102 A illustrated in FIG. 2 .
- the computing device that executes some or all of the stored instructions could be another computing device, such as a server, for instance server 106 illustrated in FIG. 3 .
- FIGS. 5A, 5B, 6, and 7 each show simplified flow charts depicting aspects of example methods for selection-based contextual help retrieval as described herein. For purposes of example and explanation, aspects of such example methods are described with reference to an example web-application interface. It should be understood, however, that the example methods described herein may apply just as well to any suitable graphical user-interface including, but not limited to, any graphical user-interface implemented on a computer, mobile computing device, portable media player, gaming device, household appliance, office equipment, and/or other computing system.
- FIGS. 8A-8B depict aspects of an example graphical user-interface including various user-interface elements in accordance with an example method. More particularly, FIGS. 8A-8B depict aspects of an example web-application interface.
- FIG. 8A depicts a block diagram of interface elements included in the example web-application interface and FIG. 8B depicts a corresponding graphical web-application interface.
- user-interface 802 includes a variety of user-interface elements.
- Such user-interface elements include logo element 804 , button elements 806 A- 806 E, search element 808 , content element 810 , and site-help element 812 .
- Each user-interface element may generally possess various features, characteristics, and/or functionality.
- FIG. 8A depicts certain example user-interface elements, those of ordinary skill in the art will appreciate that other user-interface elements may exist.
- the user-interface elements depicted in FIG. 8A are for purposes of example and explanation only and should not be taken to be limiting.
- user-interface 852 also includes a variety of user-interface elements, certain of which, for purposes of example and explanation, are noted as corresponding to the user-interface elements depicted in FIG. 8A .
- logo element 854 generally corresponds to logo element 804 .
- Button elements 856 A- 856 E generally correspond respectively to button elements 806 A- 806 E.
- Search element 858 generally corresponds to search element 810 .
- site-help element 852 generally corresponds to site-help element 812 .
- FIGS. 8A and 8B Various respective features, characteristics, and/or functionality of the user-interface elements depicted in FIGS. 8A and 8B are discussed further below with respect to the example methods described herein.
- FIG. 5A shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a first example method.
- method 500 begins at block 502 with a computing system receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text.
- the computing system determines at least one first-query response based on at least the contextual data.
- the computing system causes an indication of the determined at least one first-query response to be provided via an output device.
- FIG. 5B shows a flowchart depicting additional functions that can be carried out in accordance with at least one embodiment of the first example method.
- the functions depicted in FIG. 5B may be carried out after those functions depicted in FIG. 5A .
- method 510 begins at block 512 with a computing system receiving second-query data indicating a selection of one or more of the at least one first-query responses.
- the computing system determines at least one second-query response based on the second-query data.
- the computing system causes an indication of the determined at least one second-query response to be provided via the output device.
- methods 500 and 510 may be carried out by server 106 , this is not required. In some embodiments, methods 500 and 510 may be carried out entirely, or in part, by network-access device 102 A or some other computing system that may or may not be communicatively coupled to any network.
- a computing system receives first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text.
- the first-query data may be submitted to the computing system by a user of the user-interface as a result of the user interacting with the user-interface and/or, as will be discussed below, as a result of the user interacting with a “help mode” information-overlay interface corresponding to the user-interface.
- the user may generally identify a particular user-interface element that the user seeks help in connection with. For instance, with respect to FIG. 8A , the user may have a question regarding the function that button element 806 A performs, and so the user may indicate button element 806 A. Alternatively, the user may have a question regarding how search element 808 works, and so the user may indicate search element 808 .
- the user-interface element identified by the user may, or may not, be related to functionality the user is seeking help regarding. That is, the user-interface element need not be interactive elements of the user-interface.
- the user may indicate logo element 804 if the user is seeking general information about the function, purpose, or some other general aspect of user-interface 802 .
- the first-query data received by the computing system includes contextual data.
- contextual data may generally be used by the computing system to analyze, identify, or otherwise evaluate the user-interface element indicated by the user and/or identify potential questions the user may have relative to the user-interface element.
- the contextual data may indicate certain information to facilitate such an analysis and/or identification including, for example, the user-interface element type, the user-interface element location within the user-interface hierarchy, and the user-interface element text.
- additional contextual data examples of some of which are discussed below, may be analyzed by the computing system as well.
- the user-interface element type may generally identify a type of the respective user-interface element.
- the type may indicate a categorization of the user-interface element, a file type of the user-interface element, or a purpose of the user-interface element, among other examples.
- the type may correspond to a tag of the user-interface element.
- the type may correspond to a Document Object Model (DOM) object tag associated with the user-interface element. Examples of such DOM object tags include DIV, TABLE, and BUTTON, among other examples.
- DOM Document Object Model
- the type of logo element 804 may be, for example, “graphic,” “.jpg,” or “logo.”
- the type of any of button elements 806 A may be, for example, “button,” “.jpg,” or “navigation.”
- the type of search element 808 may be, for example, “input field” or “search.”
- the type of content element 810 may be, for example, “content,” “text,” or “information.”
- the user-interface element location may generally identify a location of the user-interface element within the user interface. That is, the location may indicate a position, whether relative, absolute, or structural, of the user-interface element within the user interface.
- the location may be the standard XPath string representation of the user-interface element.
- the location may include a sequence of tag names and child indices that indicate the path from the DOM tree to the selected user-interface element.
- the user-interface element text may generally indicate any text associated with the user-interface element in the underlying code of the user-interface.
- the text may be visible text on the DOM node associated with the user-interface element.
- the text may include all of the text-node descendants of the selected node, concatenated into one string.
- the user-interface element includes an ALT attribute (as is typically the case for image user-interface elements)
- the text of the ALT attribute may also be concatenated onto the user-interface element text.
- the computing system may evaluate a user-interface element style associated with the user-interface element.
- the style may include, for example, an identification of a color, size, and/or shape, among other style properties, of the user-interface element.
- the user-interface may be configured or otherwise arranged to be capable of entering a “help mode” where normal operation of the user-interface may be suspended and the user is able to submit the first-query data to the computing system.
- a help mode may be entered in response to selection of site-help element 812 , which may take the form of a button.
- the computing system may receive help-mode data indicating a user-preference to enter a help mode.
- the help-mode data may correspond to the selection of a help-mode element on the user-interface such as site-help element 812 in FIG. 8A .
- site-help element 862 in FIG. 8B generally corresponds to site-help element 812 .
- the help-mode data may correspond to a key event, such as the selection of a particular key on a keyboard associated with the help mode.
- the help mode data may correspond to an input gesture, such as a particular movement of a mouse cursor associated with the help mode.
- the key event and/or input gesture may provide a more efficient, convenient, and/or intuitive technique for entering the help mode than does selection of site-help element 812 .
- FIGS. 9A-9B depict aspects of an example information-overlay interface in accordance with the example methods described herein.
- FIG. 9A depicts a block diagram of an example information-overlay interface
- FIG. 9B depicts a corresponding graphical web-application information-overlay interface.
- user-interface 902 is shown.
- User-interface 902 includes an information-overlay layer that has caused user-interface 802 to “dim.” Such a dimming effect may generally indicate that the help mode has been entered, and that normal operation of the user-interface has been suspended.
- user-interface 902 may include various information-overlay-interface elements (not shown), each corresponding to a respective user-interface element of user interface 802 .
- Such information-overlay-interface elements may not be initially apparent (and may become apparent upon a user moving a mouse cursor over the information-overlay-interface element, as discussed further below). But, nonetheless, user-interface 902 may indicate the presence of such information-overlay-interface elements by way of various visual indications 904 A- 9041 of an identification of respective information-overlay elements.
- user-interface 952 also includes an information-overlay layer that has caused user-interface 852 to “dim” (as also discussed above with respect to FIG. 8B ).
- visual indications 954 A and 954 B generally correspond to visual indications 904 A- 9041 .
- Other such visual indications are shown in user-interface 952 .
- the visual indications are generally shown as taking the form of question marks, those of skill in the art will appreciate that such visual indications may take any other suitable form as well.
- the information-overlay layer such as that depicted in FIGS. 9A and 9B , is discussed in greater detail below.
- FIGS. 10A-10B depict aspects of information-overlay-interface elements in accordance with the example methods described herein. More particularly, FIGS. 10A-10B depict the indication of an information-overlay-interface element that corresponds to a respective graphical user-interface element.
- FIG. 10A depicts a block diagram of the information-overlay-interface elements and FIG. 10B depicts corresponding graphical web-application information-overlay-interface elements.
- User-interface 1002 includes information-overlay-interface element 1006 that has been made visible as a result of the user moving mouse cursor 1004 over information-overlay-interface element 1006 (and corresponding button element 806 C).
- overlay element 1006 appears to highlight button element 806 C.
- User-interface 1052 includes information-overlay-interface element 1054 , corresponding, for purposes of example and explanation, to information-overlay-interface element 1006 , which has been made visible as a result of a user moving a mouse cursor (not shown) over information-overlay-interface element 1054 .
- the button element corresponding to information-overlay-interface element 1054 appears to be highlighted.
- the user may indicate a particular user-interface element that the user seeks help in connection with by selecting the corresponding information-overlay-interface element, and thereby cause the computing system to receive first-query data including contextual data, the contextual data indicating the user-interface element type, the user-interface element location, and user-interface element text.
- first-query data including contextual data, the contextual data indicating the user-interface element type, the user-interface element location, and user-interface element text.
- Such a selection may be executed by, for example, clicking on the information-overlay-interface element, placing the mouse cursor on the information-overlay-interface element for a predetermined amount of time, and/or any other suitable selection technique as will be appreciated by those with ordinary skill in the art.
- the computing system determines at least one first-query response based on at least the contextual data. That is, the computing system determines at least one first-query response based on at least the user-interface element type, a user-interface element location, and user-interface element text of the user-interface element indicated by the user.
- the first-query responses may generally correspond to questions associated with parts, aspects, and/or features of the user-interface element.
- Such first-query responses, or questions may be stored by the computing system, either locally or remotely, in a database or other suitable storage arrangement.
- the contextual data may be used to identify first-query responses that are associated with the user-interface element.
- the first-query responses may be ordered based on a predicted relevance to the help the user is seeking.
- the computing system may determine an order of the determined at least one first-query response based on a respective relevance of each determined at least one first-query response.
- the computing system may leverage the contextual data, i.e., the user-interface element type, the user-interface element location, and the user-interface element text to help determine the respective relevance of each first-query response. More particularly, the computing system may determine a context score for each first-query response that corresponds to the predicted relevance of the first-query response to the help the user is seeking.
- Determining a respective context score for each determined at least one first-query response may involve determining the respective context score based on at least one of an element-type metric, an element-location metric, and an element-text metric.
- the computing system may then determine the respective relevance of each determined at least one first-query response based on at least the respective context score.
- the relevances and/or context scores may be determined based on any suitable contextual data described above.
- the element-type metric may be determined or calculated based on a relevance of the user-interface element type to the first-query response.
- the computing system may store, for each first-query response, the user-interface element types that are associated with the first-query response. Accordingly, if the user-interface element type indicated in the contextual data is present in the user-interface element types associated with the first query response, the element-type metric may be set to 1. On the other hand, if the user-interface element type indicated in the contextual data is not present in the user-interface element types associated with the first query response, the element-type metric may be set to 0.
- the element-location metric may be determined or calculated based on a relevance of the user-interface element location to the first-query response.
- the computing system may store, for each first-query response, the user-interface element locations that are associated with the first-query response. Accordingly, the element-location metric may represent the similarity of the location of the user-interface element location indicated in the contextual data and the location(s) associated with the first-query response. In an example, the computing system may calculate a percent similarity between the two locations.
- the computing system may start from the root of the XPath and do a node-by-node string equality comparison to determine how much overlap there is between the two XPaths.
- the element-location metric may be set to a value between 0 and 1, the value corresponding to the calculated percent similarity between the two locations.
- the element-text metric may be determined or calculated based on a relevance of the user-interface element text to the first-query response.
- the computing system may store, for each first-query response, the text of the first-query response. Accordingly, the element-text metric may represent the similarity of the text of the user-interface element text indicated in the contextual data and the text of the first-query response.
- the computing system may perform a string contains operation to determine whether the user-interface element text is present in the text of the first-query response. If the user-interface element text is present in the text of the first-query response, the element-text metric may be set to 1. On the other hand, if the user-interface element text is not present in the text of the first-query response, the element-text metric may be set to 0.
- the respective context score may be determined based on some combination of the element-type metric, the element-location metric, and the element-text metric.
- the context score may be the addition, product, or some other combination of each metric.
- determining the respective context score may involve determining the respective context score based on at least a weighted average of the element-text metric, the element-location metric, and the element-type metric.
- each metric may be weighted by a value between 0 and 1, and the weighted metrics may then be added.
- the element-type metric may be weighted by 0.1
- the element-location metric may be weighted by 0.2
- the element-text metric may be weighted by 0.7.
- the first-query data may also include search-term data that indicates at least one search term.
- the search-term data may be provided by the user by inputting the at least one search term into a text-input box and submitting the at least one search term to the computing system.
- the search terms may reflect a key phrase, or search phrase, corresponding to the help that the user is seeking.
- determining the at least one first-query response may involve determining the at least one first-query response based on at least the contextual data and the search-term data. Additionally, determining the respective relevance of each determined at least one first-query response may involve determining the respective relevance of each determined at least one first-query response based on at least the context score and a text-similarity score. The text similarity score may be determined or calculated based on a relevance of the at least one search term to the first-query response. As noted, in an embodiment, the computing system may store, for each first-query response, the text of the first-query response. Accordingly, the text-similarity score may represent the similarity of the at least one search term and the text of the first-query response.
- the computing system may compare the at least one search term with the text of the first-query response using a search index of the text of the first-query response.
- the text-similarity score may then reflect the frequency with which the at least one search term appears in the text of a given first-query response compared to the text of all other first-query responses.
- Those of skill in the art will appreciate that other text search techniques may be used to determine or calculate the text-similarity score.
- the first-query responses may be ordered based on additional information as well.
- additional information may include the web-browser in which the user-interface is accessed and/or a uniform resource locator (URL) associated with the user-interface.
- URL uniform resource locator
- the computing system causes an indication of the determined at least one first-query response to be provided via an output device.
- the indication may be a visual indication and the output device may be a graphical display. However, this is not necessary.
- the indication may be an audible indication and the output device may be a speaker (e.g., in the form of a free standing speaker, headphones, etc.). Note that the output device may be located locally (i.e., attached) or remote (i.e., networked) to the computing system carrying out method 500 .
- FIGS. 11A-11B depict example first-query responses in accordance with the example methods described herein.
- FIG. 11A depicts a block diagram of example first-query responses and
- FIG. 11B depicts corresponding example first-query responses within a graphical web-application interface.
- user-interface 1102 includes content box 1104 including search input field 1106 and example first-query responses 1108 A- 1008 C.
- Example first-query responses 1108 A- 1008 C may be first-query responses determined in accordance with block 504 as described above. Further, first-query responses 1108 A- 1108 C may be ordered based on relevance in accordance with block 504 as described above. And while three first-query responses are depicted in the example shown in FIG. 11A , this is not necessary. Any suitable number of first-query responses may be displayed.
- each first-query response may generally correspond to a question predicted to be relevant to the help sought by the user, it is possible that the computing system may not possess, or may not have stored, any such first-query responses or questions. In such a case, the first-query response may indicate that no relevant questions exist in the system.
- Search input 1106 may be a text-input box that the user may use to submit at least one search term to the computing system as described above with respect to block 504 .
- first-query responses 1108 A- 1108 C are displayed prior to the user inputting a search term into search input 1106
- the first-query responses 1108 A- 1008 C may be updated based on the search term input into search input 1106 .
- user-interface 1152 includes, for purposes of example and explanation, content box 1154 generally corresponding to content box 1104 , search input field 1156 generally corresponding to search input field 1106 , and example first-query response 1158 which generally corresponds to any one of example first-query responses 1108 A- 1108 C.
- Content box 1154 also includes “ask your own question” button 1160 , whereby a user may select button 1160 and input a new question, or first-query response, into the computing system. Accordingly, the computing system may receive question data indicating a question associated with a given user-interface element. The computing system may also cause the question data to be stored as a first-query response.
- Content box 1154 also includes various answer indicators 1162 , each associated with a respective first-query response, that indicate whether the computing system has available, for the respective first-query response (or question) an associated answer (or second-query response). Second-query responses, or answers, are discussed further below.
- Content box 1154 also includes various “me too” buttons 1164 , whereby a user may indicate that the user has the same, or similar question. In this way, the computing system may track which questions are most common to users, and potentially use such information as an additional basis for determining the respective relevance of each question (or first-query response).
- Context box 1154 may include additional features as well. For instance, context box 1154 may include various subscription buttons, each associated with a particular question. A user may then “subscribe” to a question and be alerted, perhaps by email or instant message, once a new answer to the question becomes available. Further, context box 1154 may include various spam buttons, each associated with a particular question. A user may then “flag” a particular question as spam, and an administrator of the user-interface may evaluate the flagged question for potential removal.
- the computing system receives second-query data indicating a selection of one or more of the at least one first-query responses.
- the user may select one of first-query responses 1108 A- 1108 C.
- the selected first-query response may reflect a question that is relevant to the help sought by the user.
- the user may submit to the computing system the second-query data indicating the selection of the first-query response.
- the computing system determines at least one second-query response based on the second-query data. That is, the computing system determines at least one second-query response based on at least the first-query response, or question, indicated by the second-query data.
- the second-query responses may generally correspond to answers associated with the selected first-query response, or question.
- Such second-query responses, or answers may be stored by the computing system, either locally or remotely, in a database or other suitable storage arrangement.
- the selected first-query response may be used to identify the appropriate second query response.
- the computing system will store in an association database the second-query responses (or answers) that are associated with each first-query response (or question) for efficient reference and retrieval.
- the second-query responses may be ordered based on a predicted relevance to the help the user is seeking.
- the computing system may determine an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response.
- Determining an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response may involve determining the respective relevance of each determined at least one second-query response based on at least an identity of an author of each determined at least one second-query response.
- the computing system may store the identity of the author of each second-query response, or answer.
- the computing system may also store an indication of the experience, status, and/or other such indication of the prestige of the author of the second-query response. Those second-query responses authored by authors deemed to have a relatively higher prestige may be determined to have a relatively higher relevance.
- the computing system causes an indication of the determined at least one second-query response to be provided via the output device.
- the indication may be a visual indication and the output device may be a graphical display. However, this is not necessary.
- the indication may be an audible indication and the output device may be a speaker (e.g., in the form of a free standing speaker, headphones, etc.) Note that the output device may be located locally (i.e., attached) or remote (i.e., networked) to the computing system carrying out method 510 .
- FIGS. 12A-12B depict example second-query responses in accordance with the example methods described herein.
- FIG. 12A depicts a block diagram of example second-query responses and
- FIG. 12B depicts corresponding example second-query responses within a graphical web-application interface.
- user-interface 1202 includes content box 1204 including example second-query responses 1206 A- 1206 B and helpfulness buttons 1208 A- 1208 D.
- Example second-query responses 1206 A- 1206 B may be second-query responses determined in accordance with block 514 as described above. Further, second-query responses 1206 A- 1206 B may be ordered based on relevance in accordance with block 514 as described above. And while two second-query responses are depicted in the example shown in FIG. 12A , this is not necessary. Any suitable number of second-query responses may be displayed.
- each second-query response may generally be an answer to the first-query response, or question, selected by the user
- the computing system may not possess, or may not have stored, any such second-query responses or answers.
- the second-query response may indicate that no relevant answers exist in the system.
- the user may submit to the computing system answer-needed data, perhaps by way of a button or other input element, indicating that an answer corresponding to the first-query response is needed.
- Helpfulness buttons 1208 A- 1208 D may be selectable by the user and may function to provide an indication of the helpfulness (or lack thereof) of a particular second-query response, or answer. Accordingly in an embodiment, a particular helpfulness button, such as any of helpfulness buttons 1208 A- 1208 D may be associated with a particular second-query response, or may be associated with a group of second-query responses. For instance, “nothing helpful” button 1208 A may indicate that second-query responses 1206 A- 1206 B contain nothing helpful. “Something helpful” button 1208 B may indicate that, among the information provided by second-query responses 1206 A- 1206 B, there was some helpful information.
- “Helpful” button 1208 C may indicate that second-query response 1206 A, in particular, was helpful.
- “Helpful” button 1208 D may indicate that second-query response 1206 B, in particular, was helpful.
- the computing system may receive helpfulness data indicating an extent to which the at least one second-query response was helpful.
- user-interface 1252 includes, for purposes of example and explanation, content box 1254 generally corresponding to content box 1204 , example second-query responses 1258 A- 1258 B which generally correspond to example second-query responses 1206 A- 1206 B, and helpfulness buttons 1260 A- 1260 D generally corresponding to helpfulness buttons 1208 A- 1208 D.
- Content box 1254 also includes an indication of the selected first-query response 1256 , for the user's reference.
- Context box 1262 also includes “add an answer” button 1262 , whereby a user may select button 1262 and input a new answer, or second-query response, into the computing system. Accordingly, the computing system may receive answer data indicating an answer associated with a given first-query response, or question. The computing system may also cause the answer data to be stored as a second-query response.
- the answer data may further indicate an author of the answer.
- an indication of the experience, status, and/or other such indication of the prestige of the author the second-query response may be modified based on the helpfulness rating of the provided answer.
- the helpfulness rating may change based on helpfulness data received as a result of use of helpfulness buttons 1260 A- 1260 D as described above.
- FIG. 6 shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a second example method.
- method 600 begins at block 602 with a computing system receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element.
- the computing system enters the help mode corresponding to the graphical user-interface.
- the help mode includes, at block 604 A, providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element.
- the help mode also includes, at block 604 B, receiving selection data indicating a selection of the at least one information-overlay-interface element. And the help mode also includes, at block 604 C, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- the steps of method 600 are explained in the following subsections.
- method 600 may be carried out by server 106 , this is not required. In some embodiments, method 600 may be carried out entirely, or in part, by network-access device 102 A or some other computing system that may or may not be communicatively coupled to any network.
- a computing system receives help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element.
- the help-mode data may correspond to the selection of a help-mode element on the user-interface such as site-help element 812 in FIG. 8A .
- site-help element 862 in FIG. 8B generally corresponds to site-help element 812 .
- the help-mode data may correspond to a key event, such as the selection of a particular key on a keyboard associated with the help mode.
- the help mode data may correspond to an input gesture, such as a particular movement of a mouse cursor associated with the help mode.
- the key event and/or input gesture may provide a more efficient, convenient, and/or intuitive technique for entering the help mode than does selection of site-help element 812 .
- the computing system enters the help mode corresponding to the graphical user-interface.
- the help mode includes, at block 604 A, providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element.
- FIGS. 10A-10B depict the indication of an information-overlay-interface element that corresponds to a respective user-interface element.
- FIG. 10A depicts a block diagram of the information-overlay-interface elements and FIG. 10B depicts corresponding graphical web-application information-overlay-interface elements.
- User-interface 1002 includes information-overlay-interface element 1006 that has been made visible as a result of the user moving mouse cursor 1004 over information-overlay-interface element 1006 (and corresponding button element 806 C). Similar such information-overlay-interface elements may exist that correspond to the other graphical-user-interface elements in user-interface 1002 including, for example, any of logo element 804 , button elements 806 A- 806 E, search element 808 , content element 810 , and/or site-help element 812 .
- the help mode also includes, at block 604 B, receiving selection data indicating a selection of the at least one information-overlay-interface element.
- the computing system may cause a visual indication of an identification of the at least one information-overlay-interface element to be displayed on the graphical display.
- a visual indication may take any suitable form including a highlighting and/or underlining of the graphical-user-interface element that corresponds to the information-overlay element.
- the selection of the at least one information-overlay-interface element may be associated with a selection of the corresponding at least one respective graphical-user-interface element.
- the selection of the information-overlay-interface element may serve as a proxy for the user's desire to indicate that the user seeks help regarding the corresponding graphical-user-interface element.
- the computing system may, before receiving the selection data, modify at least one graphical property of the graphical user-interface. For instance, as discussed above, and as depicted in FIGS. 9A and 9B , the graphical user-interface may be “dimmed.” However, this is not necessary. In an alternative embodiment, the graphical user-interface may not be dimmed at all.
- the help mode also includes, at block 604 C, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display. For instance, as a result of the selection, the computing system may cause an additional new content window to be displayed.
- a content window may take the form of content window 1104 or content window 1154 as discussed above.
- the selection data may further indicate a user-interface element type, a user-interface element location, and user-interface element text.
- the help mode may further involve determining at least one first-query response based on at least the selection data, or the user-interface element type, user-interface element location, and user-interface element text, as described above.
- the help mode may also involve causing a visual indication of the determined at least one first-query response to be displayed on the graphical display, as depicted in FIGS. 11A and 11B .
- the help mode may involve any additional suitable features described above with respect to the first example method.
- FIG. 7 shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a third example method.
- method 700 begins at block 702 with a computing system causing a display of a content window on a graphical display, the content window including a content element and a feedback element.
- the computing system receives feedback data indicating a selection of the feedback element and a utility of the content element.
- the computing system in response to receiving the feedback data, no longer causes the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- the steps of method 700 are explained in the following subsections.
- method 700 may be carried out by server 106 , this is not required. In some embodiments, method 700 may be carried out entirely, or in part, by network-access device 102 A or some other computing system that may or may not be communicatively coupled to any network.
- causing a display of a content window on a graphical display the content window including a content element and a feedback element.
- the computing system may display content window 1204 as depicted in FIG. 12A .
- content window 1204 includes a content element in the form of second-query responses 1206 A- 1206 B and includes a feedback element in the form of helpfulness buttons 1208 A- 1208 D.
- the content element may include information corresponding to a graphical-user-interface element.
- the content element in the form of second-query responses 1206 A- 1206 B includes information (i.e., answers to questions relevant to help sought by the user) corresponding to the graphical-user-interface element button element 806 C.
- the feedback element may be the only element within the content window that allows the user to close, exit, or otherwise dismiss the content window.
- buttons 1208 A- 1208 D may be the only elements within content window 1204 that allows the user to close, exit, or otherwise dismiss content window 1204 . That is, second-query responses 1206 A- 1206 B may not be selectable.
- content window 1204 does not include any other elements, selectable or otherwise, including an “exit” and/or “close” button.
- the computing system receives feedback data indicating a selection of the feedback element and a utility of the content element. For example a user may select one of helpfulness buttons 1208 A- 1208 D and, as a result, submit to the computing system feedback data indicating whether the content element, or second-query responses 1206 A- 1206 B, was helpful.
- the computing system may cause the display of a feedback prompt indicating that the feedback element should be selected.
- content window 1204 may additionally include a prompt indicating that the user must select one of helpfulness buttons 1208 A- 1208 D.
- the computing system may, in response to the user attempting to interact with the user-interface in any manner other than selecting one of helpfulness buttons 1208 A- 1208 D, provide a prompt indicating that the user must select one of helpfulness buttons 1208 A- 1208 D.
- the computing system may determine a relevance of the content element based on at least the indication of the utility of the content element. Such a relevance may be determined in accordance with any of the relevance-determination techniques described above.
- the feedback data may further indicate an author of the content element.
- the computing system may be arranged to recognize, and perhaps store, whether the content provided by a given author was identified as helpful or, alternatively, identified as not helpful.
- the computing system in response to receiving the feedback data, no longer causes the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received. That is, the content window is closed when, and only when, the user provides feedback regarding the utility of the content element. According to such a feature, feedback information regarding the content displayed in the content window is conveniently, yet mandatorily, provided within the normal course of the user's interaction with the user-interface.
- the computing system may store various first-query responses (questions) and second-query responses (answers) for presentation to users that seek help regarding particular user-interface elements.
- users of the user-interface may submit such first-query responses and second-query responses to the computing system in the normal course of the users' interaction with the user-interface.
- the user-interface may also include various administration features that, among other features, may include the ability for an administrator of the user-interface to populate various first-query responses and second-query responses for the user-interface.
- an administrator may submit anticipated questions and associated answers corresponding to the user-interface prior to any actual use of the user-interface by a user.
- the administrator may “seed” initial content of the help mode described above, and thereby encourage use of the help mode.
- an “administrator” may be any user of the user-interface. That is, any user may be given privileges, explicitly or implicitly, to carry out the administrative functions described herein.
- the user may submit various first-query responses, or questions, that may not have previously existed. Such submitted questions may be drawn to the attention of the administrator, and the administrator may responsively submit an answer associated with the user-submitted question.
- the user may submit answer-needed data indicating that an answer corresponding to a first-query response is needed.
- Such a submission may similarly be drawn to the attention of the administrator, and the administrator may responsively submit an answer corresponding to the first-query response.
- the user-interface may include additional suitable administrative features so as to assist and/or improve the function of the user-interface including a help mode associated with the user-interface.
- a block that represents a processing of information may correspond to circuitry that can be configured to perform the specific logical functions of a herein-described method or technique.
- a block that represents a processing of information may correspond to a module, a segment, or a portion of program code (including related data).
- the program code may include one or more instructions executable by a processor for implementing specific logical functions or actions in the method or technique.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Described herein are systems and methods for selection-based contextual help retrieval. One example method involves (a) receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determining at least one first-query response based on at least the contextual data; and (c) causing an indication of the determined at least one first-query response to be provided via an output device.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/126,967, filed Feb. 12, 2014, which is a U.S. national phase of International Application No. PCT/US2012/042979 filed Jun. 18, 2012, which claims priority to U.S. Provisional Patent Application Ser. No. 61/498,326 filed Jun. 17, 2011, entitled Systems and Methods for Selection-Based, Crowdsourced, Contextual Help Retrieval in Web Applications, and to U.S. Provisional Patent Application Ser. No. 61/540,403 filed Sep. 28, 2011, entitled Systems and Methods for Selection-Based, Crowdsourced, Contextual Help Retrieval in Web Applications, which are incorporated herein in their entirety.
- This invention was made with government support under CCF-0952733 awarded by the National Science Foundation. The government has certain rights in the invention.
- Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
- Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
- With the proliferation of computing technologies, the usability of computing systems, and the usability of computing applications utilized to interact with such computing systems, has improved greatly. Nonetheless, many users encounter difficulties when attempting to learn how to use and configure computing applications to meet their particular needs. Indeed, as computing applications, including web-based applications, become more dynamic, feature-rich, and customizable, users' needs for assistance with the use of such applications increases.
- While computing-application “help features” have a long history, one of the most powerful help features to have yet emerged is “crowdsourced” help. Crowdsourced forms of help enable users to help each other answer questions in, for example, discussion forums, mailing lists, or within online social networks. It is generally recognized that crowdsourced help is powerful at generating answers to help questions. However, it is generally considered difficult to find answers to such questions. More particularly, it may be difficult for a user to locate the answer to a question that has previously been asked and answered. For example, the onus is on the user to sift through a variety of potential answer resources, evaluate and disregard a large amount of irrelevant material, and/or craft keywords for use in key word searching in an attempt to locate a sought-after answer.
- An improvement is therefore desired.
- Described herein are systems and methods for selection-based contextual help retrieval that leverages a user's interaction with a user-interface of a computing application to enable the user to ask questions, provide solutions, and efficiently search for help within the hierarchy of the user-interface itself.
- In one aspect, a first computer-implemented method is provided. The method may involve: (a) receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determining at least one first-query response based on at least the contextual data; and (c) causing an indication of the determined at least one first-query response to be provided via an output device.
- In a further aspect, a first system is provided. The system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) receive first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determine at least one first-query response based on at least the contextual data; and (c) cause an indication of the determined at least one first-query response to be provided via an output device.
- In a further aspect, a first physical computer-readable medium is provided. The physical computer-readable medium may include instructions including: (a) instructions for receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) instructions for determining at least one first-query response based on at least the contextual data; and (c) instructions for causing an indication of the determined at least one first-query response to be provided via an output device.
- In a further aspect, a second computer-implemented method is provided. The method may involve: (a) receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) entering the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- In a further aspect, a second system is provided. The system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) receive help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) enter the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- In a further aspect, a second physical computer-readable medium is provided. The physical computer-readable medium may include instructions including: (a) instructions for receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element; (b) instructions for entering the help mode corresponding to the graphical user-interface, the help mode including: (i) providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to the at least one respective graphical-user-interface element; (ii) receiving selection data indicating a selection of the at least one information-overlay-interface element; and (iii) causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display.
- In a further aspect, a third method is provided. The method may involve: (a) causing a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) receiving feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- In a further aspect, a third system is provided. The system may include: (1) a processor; (2) a physical computer readable medium; and (3) program instructions stored on the physical computer readable medium and executable by the processor to: (a) cause a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) receive feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- In a further aspect, a third physical computer-readable medium is provided. The physical computer-readable medium may include instructions including: (a) instructions for causing a display of a content window on a graphical display, the content window including a content element and a feedback element; (b) instructions for receiving feedback data indicating (i) a selection of the feedback element and (ii) a utility of the content element; and (c) instructions for, in response to receiving the feedback data, no longer causing the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received.
- These as well as other aspects, advantages, and alternatives, will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings.
-
FIG. 1 shows a simplified block diagram of an example communication network in which the present methods can be implemented. -
FIG. 2 shows a simplified block diagram of a network-access device arranged to implement aspects of at least one embodiment of the methods. -
FIG. 3 shows a simplified block diagram of a server arranged to implement aspects of at least one embodiment of the methods. -
FIG. 4 depicts an example computer-readable medium arranged to implement aspects of at least one embodiment of the methods. -
FIGS. 5A-5B are simplified flow charts depicting aspects of an example method. -
FIG. 6 is a simplified flow chart depicting aspects of an example method. -
FIG. 7 is a simplified flow chart depicting aspects of an example method. -
FIGS. 8A-8B depict aspects of an example graphical user-interface including various user-interface elements in accordance with an example method. -
FIGS. 9A-9B depict aspects of an example information-overlay interface in accordance with an example method. -
FIGS. 10A-10B depict aspects of an information-overlay-interface elements in accordance with an example method. -
FIGS. 11A-11B depict example first-query responses in accordance with an example method. -
FIGS. 12A-12B depict example second-query responses in accordance with an example method. - In the following detailed description, reference is made to the accompanying figures, which form a part thereof. In the figures, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, figures, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and/or designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
-
FIG. 1 shows a simplified block diagram of an example communication network in which the present method can be implemented. It should be understood that this and other arrangements described herein are set forth only as examples. Those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead and that some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. And various functions described herein may be carried out by a processor executing instructions stored in memory. - As shown in
FIG. 1 ,example network 100 includes various network-access devices 102A-102D,public network 104 such as the Internet, andserver 106. Note that additional entities not depicted inFIG. 1 could be present as well. As an example, there could be more network-access devices and more servers in communication withpublic network 104. Other network elements may be in communication withpublic network 104 as well. Also, there could be one or more devices and/or networks making up at least part of one or more of the communication links depicted inFIG. 1 . As an example, there could be one or more routers, switches, or other devices or networks on the communication links between network-access devices 102A-102D,public network 104, and/orserver 106. - Each of network-
access devices 102A-102D may be any network-access device arranged to carry out the network-access device functions described herein. As such each of network-access devices 102A-102D, including network-access device 102A as shown inFIG. 2A , may includeprocessor 202,data storage 204, andcommunication interface 210, all linked together via system bus, network, orother connection mechanism 212. -
Processor 202 may include one or more general purpose microprocessors and/or one or more dedicated signal processors and may be integrated in whole or in part withcommunication interface 210.Data storage 204 may include memory and/or other storage components, such as optical, magnetic, organic or other memory disc storage, which can be volatile and/or non-volatile, internal and/or external, and integrated in whole or in part withprocessor 202.Data storage 204 may be arranged to contain (i)program data 206 and (ii)program logic 208. Although these components are described herein as separate data storage elements, the elements could just as well be physically integrated together or distributed in various other ways. For example,program data 206 may be maintained indata storage 204 separate fromprogram logic 208, for easy updating and reference byprogram logic 208. -
Communication interface 210 typically functions to communicatively couple network-access device 102A to networks, such aspublic network 104. As such,communication interface 210 may include a wired (e.g., Ethernet) and/or wireless (e.g., Wi-Fi) packet-data interface, for communicating with other devices, entities, and/or networks. Network-access device 102A may also includemultiple interfaces 210, such as one through which network-access device 102A sends communication, and one through which network-access device 102A receives communication. - Network-
access device 102A may also include, or may be otherwise communicatively coupled to,user interface 220.User interface 220 may includeinput device 222 including, for example, buttons, a touch screen, a microphone, and/or any other elements for receiving inputs.User interface 220 may also include one or more elements for communicating outputs, for example, one or moregraphical displays 224 and/or a speaker. In operation,user interface 220 may be configured to display a graphical user interface (GUI) viagraphical display 224 and may also be configured to receive inputs, viainput device 222, corresponding to use of such a GUI. In some embodiments,input device 222 may include a visual-capture device such as a camera. The camera may be configured and/or arranged to track eye movements. -
Server 106 may be any network server or other computing system arranged to carry out the server functions described herein including, but not limited to, those functions described with respect toFIGS. 5-7 . As such, as shown inFIG. 3 ,server 106 may includeprocessor 302,data storage 304 includingprogram data 306 andprogram logic 308, andcommunication interface 310, all linked together via system bus, network, orother connection mechanism 312.Processor 302,data storage 304,program data 306,program logic 308, andcommunication interface 310 may be configured and/or arranged similar toprocessor 302,data storage 304,program data 306,program logic 308, andcommunication interface 310, respectively, as described above with respect to network-access device 102A. -
Data storage 304 may contain information used byserver 106 in operation. For example,date storage 304 may include instructions executable by the processor for carrying out the server functions described herein including, but not limited to, those functions described below with respect toFIGS. 5-7 . As another example,data storage 304 may contain various design logic and/or design data used for determining a test result, such as the logic and data described below with respect toFIGS. 5-7 . Generally,data storage 304 may contain information used byserver 106 to provide an e-commerce storefront that is accessible by various network-access devices, such as network-access device 102A, overpublic network 104. - Returning to
FIG. 1 ,public network 104 may include one or more wide area networks, one or more local area networks, one or more public networks such as the Internet, one or more private networks, one or more wired networks, one or more wireless networks, and/or one or more networks of any other variety. Devices in communication with public network 104 (including, but not limited to, network-access devices 102A-102D and server 106) may exchange data using a packet-switched protocol such as IP, and may be identified by an address such as an IP address. - As noted above, in some embodiments, the disclosed methods may be implemented by computer program instructions encoded on a non-transitory computer-readable storage media in a machine-readable format, or on other non-transitory media or articles of manufacture.
FIG. 4 is a schematic illustrating a conceptual partial view of an example computer program product that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein. - In one embodiment, the example
computer program product 400 is provided using a signal bearing medium 402. The signal bearing medium 402 may include one ormore programming instructions 404 that, when executed by one or more processors may provide functionality or portions of the functionality described herein. In some examples, the signal bearing medium 402 may encompass a computer-readable medium 406, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, the signal bearing medium 402 may encompass a computer-recordable medium 408, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearing medium 402 may encompass acommunications medium 410, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, the signal bearing medium 402 may be conveyed by a wireless form of thecommunications medium 410. It should be understood, however, that computer-readable medium 406,computer recordable medium 408, and communications medium 410 as contemplated herein are distinct mediums and that, in any event, computer-readable medium 408 is a physical, non-transitory, computer-readable medium. - The one or
more programming instructions 404 may be, for example, computer executable and/or logic implemented instructions. In some examples, a computing device such as the network-access device 102A ofFIG. 2 may be configured to provide various operations, functions, or actions in response to theprogramming instructions 404 conveyed to the network-access device 102A by one or more of the computerreadable medium 406, thecomputer recordable medium 408, and/or thecommunications medium 410. - The non-transitory computer readable medium could also be distributed among multiple data storage elements, which could be remotely located from each other. The computing device that executes some or all of the stored instructions could be a network-access device such as the network-
access device 102A illustrated inFIG. 2 . Alternatively, the computing device that executes some or all of the stored instructions could be another computing device, such as a server, forinstance server 106 illustrated inFIG. 3 . -
FIGS. 5A, 5B, 6, and 7 each show simplified flow charts depicting aspects of example methods for selection-based contextual help retrieval as described herein. For purposes of example and explanation, aspects of such example methods are described with reference to an example web-application interface. It should be understood, however, that the example methods described herein may apply just as well to any suitable graphical user-interface including, but not limited to, any graphical user-interface implemented on a computer, mobile computing device, portable media player, gaming device, household appliance, office equipment, and/or other computing system. -
FIGS. 8A-8B depict aspects of an example graphical user-interface including various user-interface elements in accordance with an example method. More particularly,FIGS. 8A-8B depict aspects of an example web-application interface.FIG. 8A depicts a block diagram of interface elements included in the example web-application interface andFIG. 8B depicts a corresponding graphical web-application interface. - With respect to
FIG. 8A , user-interface 802 includes a variety of user-interface elements. Such user-interface elements includelogo element 804,button elements 806A-806E,search element 808,content element 810, and site-help element 812. Each user-interface element may generally possess various features, characteristics, and/or functionality. Further, whileFIG. 8A depicts certain example user-interface elements, those of ordinary skill in the art will appreciate that other user-interface elements may exist. The user-interface elements depicted inFIG. 8A are for purposes of example and explanation only and should not be taken to be limiting. - With respect to
FIG. 8B , user-interface 852 also includes a variety of user-interface elements, certain of which, for purposes of example and explanation, are noted as corresponding to the user-interface elements depicted inFIG. 8A . More particularly,logo element 854 generally corresponds tologo element 804.Button elements 856A-856E generally correspond respectively tobutton elements 806A-806E.Search element 858 generally corresponds to searchelement 810. And site-help element 852 generally corresponds to site-help element 812. - Various respective features, characteristics, and/or functionality of the user-interface elements depicted in
FIGS. 8A and 8B are discussed further below with respect to the example methods described herein. -
FIG. 5A shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a first example method. As shown inFIG. 5A ,method 500 begins atblock 502 with a computing system receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text. Atblock 504, the computing system determines at least one first-query response based on at least the contextual data. And atblock 506, the computing system causes an indication of the determined at least one first-query response to be provided via an output device. -
FIG. 5B shows a flowchart depicting additional functions that can be carried out in accordance with at least one embodiment of the first example method. In an embodiment, the functions depicted inFIG. 5B may be carried out after those functions depicted inFIG. 5A . As shown inFIG. 5B ,method 510 begins atblock 512 with a computing system receiving second-query data indicating a selection of one or more of the at least one first-query responses. Atblock 514, the computing system determines at least one second-query response based on the second-query data. And atblock 516, the computing system causes an indication of the determined at least one second-query response to be provided via the output device. - The steps of
method - And although
methods server 106, this is not required. In some embodiments,methods access device 102A or some other computing system that may or may not be communicatively coupled to any network. - a. Receive First-Query Data Including Contextual Data
- At
block 502, a computing system receives first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text. - As a general matter, the first-query data may be submitted to the computing system by a user of the user-interface as a result of the user interacting with the user-interface and/or, as will be discussed below, as a result of the user interacting with a “help mode” information-overlay interface corresponding to the user-interface. In any event, the user may generally identify a particular user-interface element that the user seeks help in connection with. For instance, with respect to
FIG. 8A , the user may have a question regarding the function thatbutton element 806A performs, and so the user may indicatebutton element 806A. Alternatively, the user may have a question regarding howsearch element 808 works, and so the user may indicatesearch element 808. - Further, it should be understood that, more generally, the user-interface element identified by the user may, or may not, be related to functionality the user is seeking help regarding. That is, the user-interface element need not be interactive elements of the user-interface. For instance, in an embodiment, with respect to
FIG. 8A , the user may indicatelogo element 804 if the user is seeking general information about the function, purpose, or some other general aspect of user-interface 802. - As noted, the first-query data received by the computing system includes contextual data. Such contextual data may generally be used by the computing system to analyze, identify, or otherwise evaluate the user-interface element indicated by the user and/or identify potential questions the user may have relative to the user-interface element. Accordingly, the contextual data may indicate certain information to facilitate such an analysis and/or identification including, for example, the user-interface element type, the user-interface element location within the user-interface hierarchy, and the user-interface element text. Those of ordinary skill in the art will appreciate that additional contextual data, examples of some of which are discussed below, may be analyzed by the computing system as well.
- The user-interface element type may generally identify a type of the respective user-interface element. The type may indicate a categorization of the user-interface element, a file type of the user-interface element, or a purpose of the user-interface element, among other examples. In an embodiment, the type may correspond to a tag of the user-interface element. For instance, including but not limited to, a web-application embodiment, the type may correspond to a Document Object Model (DOM) object tag associated with the user-interface element. Examples of such DOM object tags include DIV, TABLE, and BUTTON, among other examples. Thus, the type of
logo element 804 may be, for example, “graphic,” “.jpg,” or “logo.” The type of any ofbutton elements 806A may be, for example, “button,” “.jpg,” or “navigation.” The type ofsearch element 808 may be, for example, “input field” or “search.” And the type ofcontent element 810 may be, for example, “content,” “text,” or “information.” Those of ordinary skill in the art will appreciate that additional user-interface element types may exist as well and that the examples provided herein should not be taken to be limiting. In particular, additional user-interface element types may exist in a web-application embodiment, and additional user-interface elements may exist in other user-interface embodiments as well. - The user-interface element location may generally identify a location of the user-interface element within the user interface. That is, the location may indicate a position, whether relative, absolute, or structural, of the user-interface element within the user interface. In an embodiment, including but not limited to, a web-application embodiment, the location may be the standard XPath string representation of the user-interface element. For instance, the location may include a sequence of tag names and child indices that indicate the path from the DOM tree to the selected user-interface element. Those of ordinary skill in the art will appreciate that additional approaches to indicating a user-interface element location may exist as well and that the examples provided herein should not be taken to be limiting.
- The user-interface element text may generally indicate any text associated with the user-interface element in the underlying code of the user-interface. In an embodiment, including but not limited to, a web-application embodiment, the text may be visible text on the DOM node associated with the user-interface element. For instance, the text may include all of the text-node descendants of the selected node, concatenated into one string. Additionally, or alternatively, to the extent the user-interface element includes an ALT attribute (as is typically the case for image user-interface elements), the text of the ALT attribute may also be concatenated onto the user-interface element text. Those of ordinary skill in the art will appreciate that additional user-interface element text may exist as well and that the examples provided herein should not be taken to be limiting.
- Those of ordinary skill in the art will also appreciate that other contextual data may be utilized by the computing system as well. As one example of such additional contextual data, the computing system may evaluate a user-interface element style associated with the user-interface element. The style may include, for example, an identification of a color, size, and/or shape, among other style properties, of the user-interface element.
- For purposes of example and explanation, the user-interface may be configured or otherwise arranged to be capable of entering a “help mode” where normal operation of the user-interface may be suspended and the user is able to submit the first-query data to the computing system. In an embodiment, such a help mode may be entered in response to selection of site-
help element 812, which may take the form of a button. - Thus, before receiving the first-query data, the computing system may receive help-mode data indicating a user-preference to enter a help mode. In an embodiment, the help-mode data may correspond to the selection of a help-mode element on the user-interface such as site-
help element 812 inFIG. 8A . Note that site-help element 862 inFIG. 8B generally corresponds to site-help element 812. - However, additionally or alternatively, the help-mode data may correspond to a key event, such as the selection of a particular key on a keyboard associated with the help mode. And, additionally or alternatively still, the help mode data may correspond to an input gesture, such as a particular movement of a mouse cursor associated with the help mode. The key event and/or input gesture may provide a more efficient, convenient, and/or intuitive technique for entering the help mode than does selection of site-
help element 812. - As will be discussed further below, entering the help mode may involve providing an information-overlay interface that corresponds to the graphical-user interface. Accordingly,
FIGS. 9A-9B depict aspects of an example information-overlay interface in accordance with the example methods described herein.FIG. 9A depicts a block diagram of an example information-overlay interface andFIG. 9B depicts a corresponding graphical web-application information-overlay interface. - With respect to
FIG. 9A , user-interface 902 is shown. User-interface 902 includes an information-overlay layer that has caused user-interface 802 to “dim.” Such a dimming effect may generally indicate that the help mode has been entered, and that normal operation of the user-interface has been suspended. Further, user-interface 902 may include various information-overlay-interface elements (not shown), each corresponding to a respective user-interface element ofuser interface 802. Such information-overlay-interface elements may not be initially apparent (and may become apparent upon a user moving a mouse cursor over the information-overlay-interface element, as discussed further below). But, nonetheless, user-interface 902 may indicate the presence of such information-overlay-interface elements by way of variousvisual indications 904A-9041 of an identification of respective information-overlay elements. - With respect to
FIG. 9B , user-interface 952 also includes an information-overlay layer that has caused user-interface 852 to “dim” (as also discussed above with respect toFIG. 8B ). For purposes of example and explanation,visual indications visual indications 904A-9041. Other such visual indications are shown in user-interface 952. And although the visual indications are generally shown as taking the form of question marks, those of skill in the art will appreciate that such visual indications may take any other suitable form as well. - The information-overlay layer, such as that depicted in
FIGS. 9A and 9B , is discussed in greater detail below. - As noted above, the computing system may receive the first-query data including the contextual data as the result of the user identifying a particular user-interface element that the user seeks help in connection with. Accordingly,
FIGS. 10A-10B depict aspects of information-overlay-interface elements in accordance with the example methods described herein. More particularly,FIGS. 10A-10B depict the indication of an information-overlay-interface element that corresponds to a respective graphical user-interface element.FIG. 10A depicts a block diagram of the information-overlay-interface elements andFIG. 10B depicts corresponding graphical web-application information-overlay-interface elements. - With respect to
FIG. 10A , user-interface 1002 is shown. User-interface 1002 includes information-overlay-interface element 1006 that has been made visible as a result of the user movingmouse cursor 1004 over information-overlay-interface element 1006 (andcorresponding button element 806C). In the example depicted inFIG. 10A ,overlay element 1006 appears to highlightbutton element 806C. - With respect to
FIG. 10B ,user interface 1052 is shown. User-interface 1052 includes information-overlay-interface element 1054, corresponding, for purposes of example and explanation, to information-overlay-interface element 1006, which has been made visible as a result of a user moving a mouse cursor (not shown) over information-overlay-interface element 1054. In the example depicted inFIG. 10B , the button element corresponding to information-overlay-interface element 1054 appears to be highlighted. Those of skill in the art will appreciate that, while the information-overlay-interface elements depicted inFIGS. 10A-10B cause their respective corresponding graphical-user-interface elements to appear highlighted, the existence of such information-overlay-interface elements may be indicated in a number of alternative suitable manners. In one alternative embodiment, for example, the corresponding graphical-user-interface element may appear to be underlined in addition to, or instead of, highlighted. - In any event, the user may indicate a particular user-interface element that the user seeks help in connection with by selecting the corresponding information-overlay-interface element, and thereby cause the computing system to receive first-query data including contextual data, the contextual data indicating the user-interface element type, the user-interface element location, and user-interface element text. Such a selection may be executed by, for example, clicking on the information-overlay-interface element, placing the mouse cursor on the information-overlay-interface element for a predetermined amount of time, and/or any other suitable selection technique as will be appreciated by those with ordinary skill in the art.
- b. Determine at Least One First-Query Response
- At
block 504, the computing system determines at least one first-query response based on at least the contextual data. That is, the computing system determines at least one first-query response based on at least the user-interface element type, a user-interface element location, and user-interface element text of the user-interface element indicated by the user. - The first-query responses may generally correspond to questions associated with parts, aspects, and/or features of the user-interface element. Such first-query responses, or questions, may be stored by the computing system, either locally or remotely, in a database or other suitable storage arrangement. As a general matter, the contextual data may be used to identify first-query responses that are associated with the user-interface element.
- The first-query responses may be ordered based on a predicted relevance to the help the user is seeking. Thus, the computing system may determine an order of the determined at least one first-query response based on a respective relevance of each determined at least one first-query response. The computing system may leverage the contextual data, i.e., the user-interface element type, the user-interface element location, and the user-interface element text to help determine the respective relevance of each first-query response. More particularly, the computing system may determine a context score for each first-query response that corresponds to the predicted relevance of the first-query response to the help the user is seeking.
- Determining a respective context score for each determined at least one first-query response may involve determining the respective context score based on at least one of an element-type metric, an element-location metric, and an element-text metric. The computing system may then determine the respective relevance of each determined at least one first-query response based on at least the respective context score. As a general matter, the relevances and/or context scores may be determined based on any suitable contextual data described above.
- The element-type metric may be determined or calculated based on a relevance of the user-interface element type to the first-query response. In an embodiment, the computing system may store, for each first-query response, the user-interface element types that are associated with the first-query response. Accordingly, if the user-interface element type indicated in the contextual data is present in the user-interface element types associated with the first query response, the element-type metric may be set to 1. On the other hand, if the user-interface element type indicated in the contextual data is not present in the user-interface element types associated with the first query response, the element-type metric may be set to 0.
- The element-location metric may be determined or calculated based on a relevance of the user-interface element location to the first-query response. In an embodiment, the computing system may store, for each first-query response, the user-interface element locations that are associated with the first-query response. Accordingly, the element-location metric may represent the similarity of the location of the user-interface element location indicated in the contextual data and the location(s) associated with the first-query response. In an example, the computing system may calculate a percent similarity between the two locations. For instance, in an embodiment where the locations are indicated using XPaths, the computing system may start from the root of the XPath and do a node-by-node string equality comparison to determine how much overlap there is between the two XPaths. Thus, the element-location metric may be set to a value between 0 and 1, the value corresponding to the calculated percent similarity between the two locations.
- The element-text metric may be determined or calculated based on a relevance of the user-interface element text to the first-query response. In an embodiment, the computing system may store, for each first-query response, the text of the first-query response. Accordingly, the element-text metric may represent the similarity of the text of the user-interface element text indicated in the contextual data and the text of the first-query response. In an example, the computing system may perform a string contains operation to determine whether the user-interface element text is present in the text of the first-query response. If the user-interface element text is present in the text of the first-query response, the element-text metric may be set to 1. On the other hand, if the user-interface element text is not present in the text of the first-query response, the element-text metric may be set to 0.
- As noted, the respective context score may be determined based on some combination of the element-type metric, the element-location metric, and the element-text metric. For instance, the context score may be the addition, product, or some other combination of each metric.
- In an embodiment, determining the respective context score may involve determining the respective context score based on at least a weighted average of the element-text metric, the element-location metric, and the element-type metric. In a particular example, each metric may be weighted by a value between 0 and 1, and the weighted metrics may then be added. For instance, the element-type metric may be weighted by 0.1, the element-location metric may be weighted by 0.2, and the element-text metric may be weighted by 0.7. Those of ordinary skill in the art will appreciated that other suitable weight combinations may be used as well.
- In addition to the contextual data, the first-query data may also include search-term data that indicates at least one search term. The search-term data may be provided by the user by inputting the at least one search term into a text-input box and submitting the at least one search term to the computing system. As a general matter, the search terms may reflect a key phrase, or search phrase, corresponding to the help that the user is seeking.
- Accordingly, determining the at least one first-query response may involve determining the at least one first-query response based on at least the contextual data and the search-term data. Additionally, determining the respective relevance of each determined at least one first-query response may involve determining the respective relevance of each determined at least one first-query response based on at least the context score and a text-similarity score. The text similarity score may be determined or calculated based on a relevance of the at least one search term to the first-query response. As noted, in an embodiment, the computing system may store, for each first-query response, the text of the first-query response. Accordingly, the text-similarity score may represent the similarity of the at least one search term and the text of the first-query response. In an example, the computing system may compare the at least one search term with the text of the first-query response using a search index of the text of the first-query response. The text-similarity score may then reflect the frequency with which the at least one search term appears in the text of a given first-query response compared to the text of all other first-query responses. Those of skill in the art will appreciate that other text search techniques may be used to determine or calculate the text-similarity score.
- Further, in an embodiment, the first-query responses may be ordered based on additional information as well. Such additional information may include the web-browser in which the user-interface is accessed and/or a uniform resource locator (URL) associated with the user-interface.
- c. Cause an Indication of the Determined at Least One First-Query Response to be Provided
- At
block 506, the computing system causes an indication of the determined at least one first-query response to be provided via an output device. In one embodiment, the indication may be a visual indication and the output device may be a graphical display. However, this is not necessary. In an alternative embodiment the indication may be an audible indication and the output device may be a speaker (e.g., in the form of a free standing speaker, headphones, etc.). Note that the output device may be located locally (i.e., attached) or remote (i.e., networked) to the computing system carrying outmethod 500. - With respect to a visual indication of the at least one first-query response,
FIGS. 11A-11B depict example first-query responses in accordance with the example methods described herein.FIG. 11A depicts a block diagram of example first-query responses andFIG. 11B depicts corresponding example first-query responses within a graphical web-application interface. - With respect to
FIG. 11A , user-interface 1102 includescontent box 1104 includingsearch input field 1106 and example first-query responses 1108A-1008C. Example first-query responses 1108A-1008C may be first-query responses determined in accordance withblock 504 as described above. Further, first-query responses 1108A-1108C may be ordered based on relevance in accordance withblock 504 as described above. And while three first-query responses are depicted in the example shown inFIG. 11A , this is not necessary. Any suitable number of first-query responses may be displayed. Further, while, as described above, each first-query response may generally correspond to a question predicted to be relevant to the help sought by the user, it is possible that the computing system may not possess, or may not have stored, any such first-query responses or questions. In such a case, the first-query response may indicate that no relevant questions exist in the system. -
Search input 1106 may be a text-input box that the user may use to submit at least one search term to the computing system as described above with respect to block 504. In the event that first-query responses 1108A-1108C are displayed prior to the user inputting a search term intosearch input 1106, the first-query responses 1108A-1008C may be updated based on the search term input intosearch input 1106. - With respect to
FIG. 11B , user-interface 1152 includes, for purposes of example and explanation,content box 1154 generally corresponding tocontent box 1104, searchinput field 1156 generally corresponding to searchinput field 1106, and example first-query response 1158 which generally corresponds to any one of example first-query responses 1108A-1108C. -
Content box 1154 also includes “ask your own question” button 1160, whereby a user may select button 1160 and input a new question, or first-query response, into the computing system. Accordingly, the computing system may receive question data indicating a question associated with a given user-interface element. The computing system may also cause the question data to be stored as a first-query response. -
Content box 1154 also includesvarious answer indicators 1162, each associated with a respective first-query response, that indicate whether the computing system has available, for the respective first-query response (or question) an associated answer (or second-query response). Second-query responses, or answers, are discussed further below. -
Content box 1154 also includes various “me too”buttons 1164, whereby a user may indicate that the user has the same, or similar question. In this way, the computing system may track which questions are most common to users, and potentially use such information as an additional basis for determining the respective relevance of each question (or first-query response). -
Context box 1154 may include additional features as well. For instance,context box 1154 may include various subscription buttons, each associated with a particular question. A user may then “subscribe” to a question and be alerted, perhaps by email or instant message, once a new answer to the question becomes available. Further,context box 1154 may include various spam buttons, each associated with a particular question. A user may then “flag” a particular question as spam, and an administrator of the user-interface may evaluate the flagged question for potential removal. - d. Receive Second-Query Data
- At
block 512, the computing system receives second-query data indicating a selection of one or more of the at least one first-query responses. For example, the user may select one of first-query responses 1108A-1108C. The selected first-query response may reflect a question that is relevant to the help sought by the user. As a result of selecting the first-query response the user may submit to the computing system the second-query data indicating the selection of the first-query response. - e. Determine at Least One Second-Query Response
- At
block 514, the computing system determines at least one second-query response based on the second-query data. That is, the computing system determines at least one second-query response based on at least the first-query response, or question, indicated by the second-query data. - The second-query responses may generally correspond to answers associated with the selected first-query response, or question. Such second-query responses, or answers, may be stored by the computing system, either locally or remotely, in a database or other suitable storage arrangement. As a general matter, the selected first-query response may be used to identify the appropriate second query response. In an embodiment, for example, the computing system will store in an association database the second-query responses (or answers) that are associated with each first-query response (or question) for efficient reference and retrieval.
- Like the first-query responses, the second-query responses may be ordered based on a predicted relevance to the help the user is seeking. Thus, the computing system may determine an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response.
- Determining an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response, may involve determining the respective relevance of each determined at least one second-query response based on at least an identity of an author of each determined at least one second-query response. For instance, the computing system may store the identity of the author of each second-query response, or answer. The computing system may also store an indication of the experience, status, and/or other such indication of the prestige of the author of the second-query response. Those second-query responses authored by authors deemed to have a relatively higher prestige may be determined to have a relatively higher relevance.
- f. Cause an Indication of the Determined at Least One Second-Query Response to be Provided
- At
block 516, the computing system causes an indication of the determined at least one second-query response to be provided via the output device. In one embodiment, the indication may be a visual indication and the output device may be a graphical display. However, this is not necessary. In an alternative embodiment the indication may be an audible indication and the output device may be a speaker (e.g., in the form of a free standing speaker, headphones, etc.) Note that the output device may be located locally (i.e., attached) or remote (i.e., networked) to the computing system carrying outmethod 510. - With respect to a visual indication of the at least one second-query response
FIGS. 12A-12B depict example second-query responses in accordance with the example methods described herein.FIG. 12A depicts a block diagram of example second-query responses andFIG. 12B depicts corresponding example second-query responses within a graphical web-application interface. - With respect to
FIG. 12A , user-interface 1202 includescontent box 1204 including example second-query responses 1206A-1206B andhelpfulness buttons 1208A-1208D. Example second-query responses 1206A-1206B may be second-query responses determined in accordance withblock 514 as described above. Further, second-query responses 1206A-1206B may be ordered based on relevance in accordance withblock 514 as described above. And while two second-query responses are depicted in the example shown inFIG. 12A , this is not necessary. Any suitable number of second-query responses may be displayed. Further, while, as described above, each second-query response may generally be an answer to the first-query response, or question, selected by the user, it is possible that the computing system may not possess, or may not have stored, any such second-query responses or answers. In such a case, the second-query response may indicate that no relevant answers exist in the system. In the event that the second-query response is an indication that no relevant answers exist in the system, the user may submit to the computing system answer-needed data, perhaps by way of a button or other input element, indicating that an answer corresponding to the first-query response is needed. -
Helpfulness buttons 1208A-1208D may be selectable by the user and may function to provide an indication of the helpfulness (or lack thereof) of a particular second-query response, or answer. Accordingly in an embodiment, a particular helpfulness button, such as any ofhelpfulness buttons 1208A-1208D may be associated with a particular second-query response, or may be associated with a group of second-query responses. For instance, “nothing helpful”button 1208A may indicate that second-query responses 1206A-1206B contain nothing helpful. “Something helpful”button 1208B may indicate that, among the information provided by second-query responses 1206A-1206B, there was some helpful information. “Helpful”button 1208C may indicate that second-query response 1206A, in particular, was helpful. And “Helpful”button 1208D may indicate that second-query response 1206B, in particular, was helpful. Thus, after causing the indication of the determined at least one second-query response to be provided, the computing system may receive helpfulness data indicating an extent to which the at least one second-query response was helpful. - With respect to
FIG. 12B , user-interface 1252 includes, for purposes of example and explanation,content box 1254 generally corresponding tocontent box 1204, example second-query responses 1258A-1258B which generally correspond to example second-query responses 1206A-1206B, andhelpfulness buttons 1260A-1260D generally corresponding tohelpfulness buttons 1208A-1208D.Content box 1254 also includes an indication of the selected first-query response 1256, for the user's reference. -
Context box 1262 also includes “add an answer”button 1262, whereby a user may selectbutton 1262 and input a new answer, or second-query response, into the computing system. Accordingly, the computing system may receive answer data indicating an answer associated with a given first-query response, or question. The computing system may also cause the answer data to be stored as a second-query response. - Further, as noted above, the answer data may further indicate an author of the answer. Correspondingly, an indication of the experience, status, and/or other such indication of the prestige of the author the second-query response may be modified based on the helpfulness rating of the provided answer. The helpfulness rating may change based on helpfulness data received as a result of use of
helpfulness buttons 1260A-1260D as described above. -
FIG. 6 shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a second example method. As shown inFIG. 6 ,method 600 begins atblock 602 with a computing system receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element. Atblock 604, the computing system enters the help mode corresponding to the graphical user-interface. The help mode includes, atblock 604A, providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element. The help mode also includes, atblock 604B, receiving selection data indicating a selection of the at least one information-overlay-interface element. And the help mode also includes, atblock 604C, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display. The steps ofmethod 600 are explained in the following subsections. - And although
method 600 may be carried out byserver 106, this is not required. In some embodiments,method 600 may be carried out entirely, or in part, by network-access device 102A or some other computing system that may or may not be communicatively coupled to any network. - a. Receive Help-Mode Data
- At
block 602, a computing system receives help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface including at least one graphical-user-interface element. In an embodiment, the help-mode data may correspond to the selection of a help-mode element on the user-interface such as site-help element 812 inFIG. 8A . Note that site-help element 862 inFIG. 8B generally corresponds to site-help element 812. - However, additionally or alternatively, the help-mode data may correspond to a key event, such as the selection of a particular key on a keyboard associated with the help mode. And, additionally or alternatively still, the help mode data may correspond to an input gesture, such as a particular movement of a mouse cursor associated with the help mode. The key event and/or input gesture may provide a more efficient, convenient, and/or intuitive technique for entering the help mode than does selection of site-
help element 812. - b. Enter Help Mode
- At
block 604, the computing system enters the help mode corresponding to the graphical user-interface. - i. Provide Information-Overlay Interface
- The help mode includes, at
block 604A, providing an information-overlay interface corresponding to the graphical user-interface, where the information-overlay interface includes at least one information-overlay-interface element corresponding to at least one respective graphical-user-interface element. As noted above,FIGS. 10A-10B depict the indication of an information-overlay-interface element that corresponds to a respective user-interface element.FIG. 10A depicts a block diagram of the information-overlay-interface elements andFIG. 10B depicts corresponding graphical web-application information-overlay-interface elements. - With respect to
FIG. 10A , user-interface 1002 is shown. User-interface 1002 includes information-overlay-interface element 1006 that has been made visible as a result of the user movingmouse cursor 1004 over information-overlay-interface element 1006 (andcorresponding button element 806C). Similar such information-overlay-interface elements may exist that correspond to the other graphical-user-interface elements in user-interface 1002 including, for example, any oflogo element 804,button elements 806A-806E,search element 808,content element 810, and/or site-help element 812. - ii. Receive Selection Data
- The help mode also includes, at
block 604B, receiving selection data indicating a selection of the at least one information-overlay-interface element. However, as noted above, before receiving the selection data, the computing system may cause a visual indication of an identification of the at least one information-overlay-interface element to be displayed on the graphical display. Such a visual indication may take any suitable form including a highlighting and/or underlining of the graphical-user-interface element that corresponds to the information-overlay element. - In connection with the correspondence between various information-overlay-interface elements and various respective graphical-user-interface elements, the selection of the at least one information-overlay-interface element may be associated with a selection of the corresponding at least one respective graphical-user-interface element. In other words, the selection of the information-overlay-interface element may serve as a proxy for the user's desire to indicate that the user seeks help regarding the corresponding graphical-user-interface element.
- Further, the computing system may, before receiving the selection data, modify at least one graphical property of the graphical user-interface. For instance, as discussed above, and as depicted in
FIGS. 9A and 9B , the graphical user-interface may be “dimmed.” However, this is not necessary. In an alternative embodiment, the graphical user-interface may not be dimmed at all. - iii. Cause Visual Indication of Selection
- The help mode also includes, at
block 604C, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display. For instance, as a result of the selection, the computing system may cause an additional new content window to be displayed. In an embodiment, such a content window may take the form ofcontent window 1104 orcontent window 1154 as discussed above. - Further, as discussed above, the selection data may further indicate a user-interface element type, a user-interface element location, and user-interface element text. Accordingly, the help mode may further involve determining at least one first-query response based on at least the selection data, or the user-interface element type, user-interface element location, and user-interface element text, as described above. The help mode may also involve causing a visual indication of the determined at least one first-query response to be displayed on the graphical display, as depicted in
FIGS. 11A and 11B . Further, the help mode may involve any additional suitable features described above with respect to the first example method. -
FIG. 7 shows a flowchart depicting functions that can be carried out in accordance with at least one embodiment of a third example method. As shown inFIG. 7 ,method 700 begins atblock 702 with a computing system causing a display of a content window on a graphical display, the content window including a content element and a feedback element. Atblock 704, the computing system receives feedback data indicating a selection of the feedback element and a utility of the content element. And atblock 706, the computing system, in response to receiving the feedback data, no longer causes the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received. The steps ofmethod 700 are explained in the following subsections. - And although
method 700 may be carried out byserver 106, this is not required. In some embodiments,method 700 may be carried out entirely, or in part, by network-access device 102A or some other computing system that may or may not be communicatively coupled to any network. - a. Cause Display of Content Window Including Content Element and Feedback Element
- At
block 702, causing a display of a content window on a graphical display, the content window including a content element and a feedback element. As one example the computing system may displaycontent window 1204 as depicted inFIG. 12A . As shown,content window 1204 includes a content element in the form of second-query responses 1206A-1206B and includes a feedback element in the form ofhelpfulness buttons 1208A-1208D. - In an embodiment, the content element may include information corresponding to a graphical-user-interface element. For example, in the example shown in
FIG. 12A , the content element in the form of second-query responses 1206A-1206B includes information (i.e., answers to questions relevant to help sought by the user) corresponding to the graphical-user-interfaceelement button element 806C. - Further, in an embodiment, the feedback element may be the only element within the content window that allows the user to close, exit, or otherwise dismiss the content window. Thus, in the example shown in
FIG. 12A helpfulness buttons 1208A-1208D may be the only elements withincontent window 1204 that allows the user to close, exit, or otherwise dismisscontent window 1204. That is, second-query responses 1206A-1206B may not be selectable. And further, note thatcontent window 1204 does not include any other elements, selectable or otherwise, including an “exit” and/or “close” button. - b. Receive Feedback Data Indicating Selection of Feedback Element and Utility of Content Element
- At
block 704, the computing system receives feedback data indicating a selection of the feedback element and a utility of the content element. For example a user may select one ofhelpfulness buttons 1208A-1208D and, as a result, submit to the computing system feedback data indicating whether the content element, or second-query responses 1206A-1206B, was helpful. - In an embodiment, before receiving the feedback data, the computing system may cause the display of a feedback prompt indicating that the feedback element should be selected. For instance,
content window 1204 may additionally include a prompt indicating that the user must select one ofhelpfulness buttons 1208A-1208D. Alternatively, the computing system may, in response to the user attempting to interact with the user-interface in any manner other than selecting one ofhelpfulness buttons 1208A-1208D, provide a prompt indicating that the user must select one ofhelpfulness buttons 1208A-1208D. - Further, in an embodiment, the computing system may determine a relevance of the content element based on at least the indication of the utility of the content element. Such a relevance may be determined in accordance with any of the relevance-determination techniques described above.
- And further still, the feedback data may further indicate an author of the content element. Accordingly, the computing system may be arranged to recognize, and perhaps store, whether the content provided by a given author was identified as helpful or, alternatively, identified as not helpful.
- c. No Longer Display Content Window
- At
block 706, the computing system, in response to receiving the feedback data, no longer causes the display of the content window on the graphical display, where the content window is displayed at least until the feedback data is received. That is, the content window is closed when, and only when, the user provides feedback regarding the utility of the content element. According to such a feature, feedback information regarding the content displayed in the content window is conveniently, yet mandatorily, provided within the normal course of the user's interaction with the user-interface. - As described above, the computing system may store various first-query responses (questions) and second-query responses (answers) for presentation to users that seek help regarding particular user-interface elements. As also described above, users of the user-interface may submit such first-query responses and second-query responses to the computing system in the normal course of the users' interaction with the user-interface.
- It is of note that the user-interface may also include various administration features that, among other features, may include the ability for an administrator of the user-interface to populate various first-query responses and second-query responses for the user-interface. In this way, an administrator may submit anticipated questions and associated answers corresponding to the user-interface prior to any actual use of the user-interface by a user. In this way the administrator may “seed” initial content of the help mode described above, and thereby encourage use of the help mode. And note that an “administrator” may be any user of the user-interface. That is, any user may be given privileges, explicitly or implicitly, to carry out the administrative functions described herein.
- Further, as noted above, in the normal course of a user's interaction with the user-interface, the user may submit various first-query responses, or questions, that may not have previously existed. Such submitted questions may be drawn to the attention of the administrator, and the administrator may responsively submit an answer associated with the user-submitted question.
- Further, as noted above, in the normal course of a user's interaction with the user-interface, the user may submit answer-needed data indicating that an answer corresponding to a first-query response is needed. Such a submission may similarly be drawn to the attention of the administrator, and the administrator may responsively submit an answer corresponding to the first-query response.
- Those of skill in the art will appreciate that the user-interface may include additional suitable administrative features so as to assist and/or improve the function of the user-interface including a help mode associated with the user-interface.
- While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. For example, with respect to the flow charts depicted in the figures and discussed herein, functions described as blocks may be executed out of order from that shown or discussed, including substantially concurrent or in reverse order, depending on the functionality involved. Further, more or fewer blocks and/or functions may be used and/or flow charts may be combined with one another, in part or in whole.
- A block that represents a processing of information may correspond to circuitry that can be configured to perform the specific logical functions of a herein-described method or technique. Alternatively or additionally, a block that represents a processing of information may correspond to a module, a segment, or a portion of program code (including related data). The program code may include one or more instructions executable by a processor for implementing specific logical functions or actions in the method or technique.
- The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims. Other embodiments can be utilized, and other changes can be made, without departing from the spirit or scope of the subject matter presented herein.
Claims (26)
1. A method, comprising:
entering into a help mode of a graphical user interface for a computing system, wherein at least some functionality of the graphical user interface is suspended while in the help mode;
while in the help mode,
identifying an identified user-interface element of the graphical user interface, and
after identifying the identified user-interface element of the graphical user interface, receiving first-query data at the computing device, the first-query data comprising contextual data for the identified user-interface element of the graphical user interface, the contextual data indicating one or more of: a user-interface element type for the identified user-interface element, a user-interface element location for the identified user-interface element within the graphical user interface, and user-interface element text for the identified user-interface element;
after receiving the first-query data, determining at least one ordered first-query response based on at least the contextual data using the computing system by at least:
determining a respective context score for each determined at least one first-query response based on the contextual data, the context score based on at least one of an element-type metric that is based on the user-interface element type, an element-location metric that is based on the user-interface element location, and an element-text metric that is based on the user-interface element text; and
determining an order for the determined at least one first-query response based on the respective context score for each determined at least one first-query response; and
causing an indication of the determined at least one ordered first-query response to be provided using the graphical user interface via an output device associated with the computing system.
2. The method of claim 1 , further comprising:
receiving second-query data indicating a selection of one or more of the at least one first-query responses;
determining at least one second-query response based on the second-query data; and
causing an indication of the determined at least one second-query response to be provided via the output device.
3. The method of claim 2 , further comprising:
determining an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response, wherein determining the respective relevance of each determined at least one second-query response comprises determining the respective relevance of each determined at least one second-query response based on at least an identity of an author of each determined at least one second-query response.
4. The method of claim 2 , further comprising:
after causing the indication of the determined at least one second-query response to be provided, receiving helpfulness data indicating an extent to which the at least one second-query response was helpful.
5. The method of claim 2 , further comprising:
receiving answer data indicating an answer associated with a given first-query response;
causing the answer data to be stored as a second-query response; and
modifying a status of the author of the answer based on a helpfulness rating of the answer.
6. The method of claim 1 , wherein the first-query data further comprises search-term data indicating at least one search term, and wherein determining the at least one first query response comprises determining the at least one first-query response based on at least the contextual data and the search-term data.
7. The method of claim 1 , wherein determining the respective context score for each determined at least one first-query response comprises:
determining a first value of the element-type metric when the user-interface element type is in the first-query response, and determining a second value of the element-type metric when the user-interface element type is not in the first-query response.
8. The method of claim 1 , wherein entering into the help mode comprises dimming the graphical user interface.
9. The method of claim 1 , further comprising:
receiving answer-needed data indicating that an answer corresponding to a first-query response is needed.
10. The method of claim 1 , further comprising:
receiving question data indicating a question associated with a given user-interface element; and
causing the question data to be stored as a first-query response.
11. A system comprising:
a processor;
a non-transitory computer readable medium; and
program instructions stored on the non-transitory computer readable medium and executable by the processor to:
enter into a help mode of a graphical user interface, wherein at least some functionality of the graphical user interface is suspended while in the help mode;
while in the help mode,
identify an identified user-interface element of the graphical user interface, and
after identifying the identified user-interface element of the graphical user interface, receive first-query data comprising contextual data for the identified user-interface element of the graphical user interface, the contextual data indicating one or more of: a user-interface element type for the identified user-interface element, a user-interface element location for the identified user-interface element within the graphical user interface, and user-interface element text for the identified user-interface element;
after receiving the first-query data, determine at least one ordered first-query response based on at least the contextual data using the system to at least:
determining a respective context score for each determined at least one first-query response based on the contextual data, the context score based on at least one of an element-type metric that is based on the user-interface element type, an element-location metric that is based on the user-interface element location, and an element-text metric that is based on the user-interface element text; and
determining an order for the determined at least one first-query response based on the respective context score for each determined at least one first-query response;
cause an indication of the determined at least one ordered first-query response to be provided using the graphical user interface via an output device;
receive second-query data indicating a selection of one or more of the at least one first-query responses;
determining at least one second-query response based on the second-query data; and
cause an indication of the determined at least one second-query response to be provided via the output device.
12. The system of claim 11 , wherein determining the respective context score for each determined at least one first-query response comprises:
determining a first value of the element-type metric when the user-interface element type is in the first-query response, and determining a second value of the element-type metric when the user-interface element type is not in the first-query response; and
wherein the system further comprising program instructions stored on the non-transitory computer readable medium and executable by the processor to:
determine an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response, wherein determining the respective relevance of each determined at least one second-query response comprises determining the respective relevance of each determined at least one second-query response based on at least an identity of an author of each determined at least one second-query response.
13. The system of claim 11 , wherein entering into the help mode comprises dimming the graphical user interface, and the system further comprising program instructions stored on the non-transitory computer readable medium and executable by the processor to:
after causing the indication of the determined at least one second-query response to be provided, receive helpfulness data indicating an extent to which the at least one second-query response was helpful.
14. The system of claim 11 , the system further comprising program instructions stored on the non-transitory computer readable medium and executable by the processor to:
receive answer-needed data indicating that an answer corresponding to a first-query response is needed;
receive answer data indicating an answer associated with a given first-query response;
cause the answer data to be stored as a second-query response; and
modify a status of the author of the answer based on a helpfulness rating of the answer.
15. The system of claim 11 , the system further comprising program instructions stored on the non-transitory computer readable medium and executable by the processor to:
receive question data indicating a question associated with a given user-interface element; and
cause the question data to be stored as a first-query response.
16. A non-transitory computer readable medium having instructions stored thereon, the instructions comprising:
instructions for entering into a help mode of a graphical user interface, wherein at least some functionality of the graphical user interface is suspended while in the help mode;
instructions for, while in the help mode,
identifying an identified user-interface element of the graphical user interface, and
after identifying the identified user-interface element of the graphical user interface, receiving first-query data comprising contextual data, the contextual data for the identified user-interface element of the graphical user interface, the contextual data indicating one or more of: a user-interface element type for the identified user-interface element, a user-interface element location for the identified user-interface element within the graphical user interface, and user-interface element text for the identified user-interface element;
instructions for, after receiving the first-query data, determining at least one ordered first-query response based on at least the contextual data by at least:
determining a respective context score for each determined at least one first-query response based on the contextual data, the context score based on at least one of an element-type metric that is based on the user-interface element type, an element-location metric that is based on the user-interface element location, and an element-text metric that is based on the user-interface element text; and
determining an order for the determined at least one first-query response based on the respective context score for each determined at least one first-query response;
instructions for causing an indication of the determined at least one ordered first-query response to be provided using the graphical user interface via an output device;
instructions for receiving second-query data indicating a selection of one or more of the at least one first-query responses;
instructions for determining at least one second-query response based on the second-query data; and
instructions for causing an indication of the determined at least one second-query response to be provided via the output device.
17. The non-transitory computer readable medium of claim 16 , wherein the instructions for determining the respective context score for each determined at least one first-query response comprise:
instructions for determining a first value of the element-type metric when the user-interface element type is in the first-query response;
instructions for determining a second value of the element-type metric when the user-interface element type is not in the first-query response; and wherein the instructions further comprise:
instructions for determining an order of the determined at least one second-query response based on a respective relevance of each determined at least one second-query response, wherein determining the respective relevance of each determined at least one second-query response comprises determining the respective relevance of each determined at least one second-query response based on at least an identity of an author of each determined at least one second-query response.
18. The non-transitory computer readable medium of claim 16 , wherein the instructions for entering into the help mode comprise instructions for dimming the graphical user interface, and the instructions further comprising:
instructions for, after causing the indication of the determined at least one second-query response to be provided, receiving helpfulness data indicating an extent to which the at least one second-query response was helpful.
19. The non-transitory computer readable medium of claim 16 , the instructions further comprising:
instructions for receiving answer data indicating an answer associated with a given first-query response;
instructions for causing the answer data to be stored as a second-query response; and
instructions for modifying a status of the author of the answer based on a helpfulness rating of the answer.
20. The non-transitory computer readable medium of claim 16 , the instructions further comprising:
instructions for receiving question data indicating a question associated with a given user-interface element; and
instructions for causing the question data to be stored as a first-query response.
21. A method, comprising:
receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface comprising at least one graphical-user-interface element;
entering the help mode corresponding to the graphical user-interface, wherein at least some functionality of the graphical user-interface is suspended while in the help mode, the help mode comprising:
providing an information-overlay interface corresponding to the graphical user-interface, wherein the information-overlay interface comprises at least one information-overlay-interface element corresponding to the graphical user-interface;
receiving selection data indicating a selection of the at least one information-overlay-interface element indicating an identified graphical-user-interface element of the graphical user-interface, wherein the selection data indicates one or more of: a user-interface element type for the identified user-interface element, a user-interface element location for the identified user-interface element within the graphical user interface, and user-interface element text for the identified user-interface element, and wherein the at least one respective graphical-user-interface element comprises the identified graphical-user-interface element; and
after receiving the selection data, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display by at least:
determining at least one query response based on the selection data;
determining a respective context score for each determined at least one first-query response based on the selection data, the context score based on at least one of an element-type metric that is based on the user-interface element type, an element-location metric that is based on the user-interface element location, and an element-text metric that is based on the user-interface element text; and
determining an order for the at least one query response based on the respective context score for each of the at least one query response, and
causing a visual indication of the ordered at least one query response.
22. The method of claim 21 , wherein the help mode further comprises:
before receiving the selection data, causing a visual indication of an identification of the at least one information-overlay-interface element to be displayed on the graphical display.
23. The method of claim 21 , wherein providing the information-overlay interface comprises dimming the graphical user-interface.
24. The method of claim 21 , wherein determining the respective context score for each of the at least one query response comprises:
determining a first value of the element-type metric when the user-interface element type is in the query response; and
determining a second value of the element-type metric when the user-interface element type is not in the query response.
25. The method of claim 21 , wherein the help mode further comprises:
before receiving the selection data, modifying at least one graphical property of the graphical user-interface.
26. A non-transitory computer readable medium having instructions stored thereon, the instructions comprising:
instructions for receiving help-mode data indicating a user-preference to enter a help mode corresponding to a graphical user-interface comprising at least one graphical-user-interface element;
instructions for entering the help mode corresponding to the graphical user-interface, wherein at least some functionality of the graphical user-interface is suspended while in the help mode, the help mode comprising:
providing an information-overlay interface corresponding to the graphical user-interface, wherein the information-overlay interface comprises at least one information-overlay-interface element corresponding to the graphical user-interface;
receiving selection data indicating a selection of the at least one information-overlay-interface element indicating an identified graphical-user-interface element of the graphical user-interface, wherein the selection data indicates one or more of: a user-interface element type for the identified user-interface element, a user-interface element location for the identified user-interface element within the graphical user interface, and user-interface element text for the identified user-interface element
and wherein the at least one respective graphical-user-interface element comprises the identified graphical-user-interface element; and
after receiving the selection data, causing a visual indication of the selection of the at least one information-overlay-interface element to be displayed on a graphical display by at least:
determining at least one query response based on the selection data;
determining a respective context score for each determined at least one first-query response, the context score based on at least one of an element-type metric that is based on the user-interface element type, an element-location metric that is based on the user-interface element location, and an element-text metric that is based on the user-interface element text; and
determining an order for the at least one query response based on the respective context score for each of the at least one query response, and
causing a visual indication of the ordered at least one query response.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/723,109 US20180046704A1 (en) | 2011-06-17 | 2017-10-02 | Systems and Methods for Selection-Based Contextual Help Retrieval |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161498326P | 2011-06-17 | 2011-06-17 | |
US201161540403P | 2011-09-28 | 2011-09-28 | |
PCT/US2012/042979 WO2012174547A2 (en) | 2011-06-17 | 2012-06-18 | Systems and methods for selection-based contextual help retrieval |
US201414126967A | 2014-02-12 | 2014-02-12 | |
US15/723,109 US20180046704A1 (en) | 2011-06-17 | 2017-10-02 | Systems and Methods for Selection-Based Contextual Help Retrieval |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2012/042979 Continuation WO2012174547A2 (en) | 2011-06-17 | 2012-06-18 | Systems and methods for selection-based contextual help retrieval |
US14/126,967 Continuation US9811583B2 (en) | 2011-06-17 | 2012-06-18 | Systems and methods for selection-based contextual help retrieval |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180046704A1 true US20180046704A1 (en) | 2018-02-15 |
Family
ID=46506621
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/126,967 Expired - Fee Related US9811583B2 (en) | 2011-06-17 | 2012-06-18 | Systems and methods for selection-based contextual help retrieval |
US15/723,109 Abandoned US20180046704A1 (en) | 2011-06-17 | 2017-10-02 | Systems and Methods for Selection-Based Contextual Help Retrieval |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/126,967 Expired - Fee Related US9811583B2 (en) | 2011-06-17 | 2012-06-18 | Systems and methods for selection-based contextual help retrieval |
Country Status (3)
Country | Link |
---|---|
US (2) | US9811583B2 (en) |
EP (1) | EP2721529A2 (en) |
WO (1) | WO2012174547A2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012174547A2 (en) | 2011-06-17 | 2012-12-20 | University Of Washington Through Its Center For Commercialization | Systems and methods for selection-based contextual help retrieval |
US9497178B2 (en) * | 2013-12-31 | 2016-11-15 | International Business Machines Corporation | Generating challenge response sets utilizing semantic web technology |
US20150347156A1 (en) * | 2014-06-03 | 2015-12-03 | Genband Us Llc | Help mode for hierarchical resale system |
US10394316B2 (en) * | 2016-04-07 | 2019-08-27 | Hand Held Products, Inc. | Multiple display modes on a mobile device |
JP6774862B2 (en) * | 2016-12-05 | 2020-10-28 | 日本電子株式会社 | Programs, controls, and information storage media |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990001190A1 (en) | 1988-07-20 | 1990-02-08 | International Business Machines Corporation | Help provision in a data processing system |
US5546521A (en) | 1991-10-15 | 1996-08-13 | International Business Machines Corporation | Dynamic presentation of contextual help and status information |
US6202058B1 (en) * | 1994-04-25 | 2001-03-13 | Apple Computer, Inc. | System for ranking the relevance of information objects accessed by computer users |
US6349977B1 (en) | 1996-07-01 | 2002-02-26 | Ti Group Automotive Systems, L.L.C. | Quick connect retainer having tolerance for wide band of male tube dimensions |
WO1998006219A1 (en) | 1996-08-06 | 1998-02-12 | Starsight Telecast, Incorporated | Electronic program guide with interactive areas |
US6134019A (en) * | 1998-09-03 | 2000-10-17 | Xerox Corporation | Help button service for a user interface in a digital printing scanning or facsimile system |
US6340977B1 (en) * | 1999-05-07 | 2002-01-22 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
US8321496B2 (en) * | 1999-12-13 | 2012-11-27 | Half.Com, Inc. | User evaluation of content on distributed communication network |
US7831688B2 (en) * | 2000-06-06 | 2010-11-09 | Adobe Systems Incorporated | Method and system for providing electronic user assistance |
US6959294B2 (en) | 2001-07-10 | 2005-10-25 | Microsoft Corporation | Context-based help engine and dynamic help |
US6988240B2 (en) * | 2002-03-29 | 2006-01-17 | Global Knowledge, Inc. | Methods and apparatus for low overhead enhancement of web page and markup language presentations |
US7895595B2 (en) * | 2003-07-30 | 2011-02-22 | Northwestern University | Automatic method and system for formulating and transforming representations of context used by information services |
US7543232B2 (en) | 2004-10-19 | 2009-06-02 | International Business Machines Corporation | Intelligent web based help system |
US7519562B1 (en) * | 2005-03-31 | 2009-04-14 | Amazon Technologies, Inc. | Automatic identification of unreliable user ratings |
US20070122788A1 (en) * | 2005-11-28 | 2007-05-31 | Microsoft Corporation | Virtual teaching assistant |
US8527939B2 (en) | 2006-09-14 | 2013-09-03 | Sap Ag | GUI modeling of knowledge base in a modeling environment |
US20080109722A1 (en) | 2006-11-06 | 2008-05-08 | Gengler William H | Direct presentation of help information relative to selectable menu items in a computer controlled display interface |
US7849405B1 (en) | 2006-12-18 | 2010-12-07 | Intuit Inc. | Contextual user-contributed help information for a software application |
US20080301558A1 (en) | 2007-05-29 | 2008-12-04 | Maryam Najafi | Interface, Method, and System for Providing Inline Contextual Help and Support |
US20090271283A1 (en) * | 2008-02-13 | 2009-10-29 | Catholic Content, Llc | Network Media Distribution |
EP2315148A1 (en) * | 2008-03-11 | 2011-04-27 | Mallinckrodt Inc. | Power injector with help functionality |
EP2159693B1 (en) | 2008-08-21 | 2017-05-31 | Business Objects, S.A. | Context driven help function |
US8903751B1 (en) * | 2011-01-28 | 2014-12-02 | Amazon Technologies, Inc. | Detecting participant helpfulness in communications |
WO2012174547A2 (en) | 2011-06-17 | 2012-12-20 | University Of Washington Through Its Center For Commercialization | Systems and methods for selection-based contextual help retrieval |
-
2012
- 2012-06-18 WO PCT/US2012/042979 patent/WO2012174547A2/en active Application Filing
- 2012-06-18 EP EP12733820.0A patent/EP2721529A2/en not_active Withdrawn
- 2012-06-18 US US14/126,967 patent/US9811583B2/en not_active Expired - Fee Related
-
2017
- 2017-10-02 US US15/723,109 patent/US20180046704A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US9811583B2 (en) | 2017-11-07 |
WO2012174547A2 (en) | 2012-12-20 |
WO2012174547A3 (en) | 2013-04-25 |
US20140149432A1 (en) | 2014-05-29 |
EP2721529A2 (en) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733545B2 (en) | User-centric contextual information for browser | |
US20180046704A1 (en) | Systems and Methods for Selection-Based Contextual Help Retrieval | |
US10740704B2 (en) | User-centric browser location | |
US10366114B2 (en) | Providing data presentation functionality associated with collaboration database | |
US9684724B2 (en) | Organizing search history into collections | |
US8887044B1 (en) | Visually distinguishing portions of content | |
US20170364575A9 (en) | Graph-driven authoring in productivity tools | |
JP2023505411A (en) | A method, computer-readable medium, and system for creating, organizing, displaying, and connecting document annotations within a web browser | |
US20070250492A1 (en) | Visual search experience editor | |
JP2021529385A (en) | Systems and methods for investigating relationships between entities | |
RU2696305C2 (en) | Browsing images through intellectually analyzed hyperlinked fragments of text | |
CN106716402A (en) | Entity-centric knowledge discovery | |
EP2994842A1 (en) | Recommending context based actions for data visualizations | |
MacDonald | Practical ui patterns for design systems: Fast-track interaction design for a seamless user experience | |
Vuorre et al. | Curating research assets: A tutorial on the Git version control system | |
US11244106B2 (en) | Task templates and social task discovery | |
US20180260442A1 (en) | Self-tutoring graph of event data | |
CN109923539A (en) | Identify the audio-visual media item with particular audio content | |
US20160191338A1 (en) | Retrieving content from an application | |
US11475320B2 (en) | Contextual analysis of isolated collections based on differential ontologies | |
US10185580B2 (en) | Information management | |
US20190258666A1 (en) | Resource accessibility services | |
US11822447B2 (en) | Methods and servers for storing data associated with users and digital items of a recommendation system | |
US11947774B1 (en) | Techniques for utilizing audio segments for expression | |
US20240104150A1 (en) | Presenting Related Content while Browsing and Searching Content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: UNIVERSITY OF WASHINGTON THROUGH ITS CENTER FOR CO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHILANA, PARMIT K.;KO, ANDREW J.;WOBBROCK, JACOB O.;SIGNING DATES FROM 20140110 TO 20140129;REEL/FRAME:043759/0776 |
|
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 |