User guidance from gaze information during a communication session while viewing a webpage

The technology disclosed herein enables user guidance from gaze information obtained during a communication session while viewing a webpage. In a particular embodiment, a method includes, during a communication session between a first endpoint operated by a first user and a second endpoint operated by a second user, receiving gaze information indicating a location where the second user is looking relative to a webpage being presented to the second user at the second endpoint. The method further includes determining that the second user has been looking at the location for longer than a threshold amount of time. In response to determining that the second user has been looking at the location for longer than the threshold amount of time, the method includes notifying the first user about the second location.

TECHNICAL BACKGROUND

Gaze tracking allows a computing system to determine where on a display screen (or where in a specific area, e.g., application window, on the display screen) a user is looking. Currently, in a contact center environment, gaze tracking is mainly limited to finding a caller's (e.g., customer) interest/focus area on the screen when speaking with an agent of the contact center. The contact center will typically train that agent to handle communications with callers. There are various techniques used for agent learning/training purposes like recording the customer interaction, sentiment, context etc. Also, documentation for the training and frequently asked questions (FAQs) behind products and services supported by the contact center may also need to be revamped over time based on changes and information from callers. Although, callers do not always provide the post call feedback, which limits the input data for constructing data model that can be used for improvising agent learning/training and for better caller experience.

SUMMARY

The technology disclosed herein enables user guidance from gaze information obtained during a communication session while viewing a webpage. In a particular embodiment, a method includes, during a communication session between a first endpoint operated by a first user and a second endpoint operated by a second user, receiving gaze information indicating a location where the second user is looking relative to a webpage being presented to the second user at the second endpoint. The method further includes determining that the second user has been looking at the location for longer than a threshold amount of time. In response to determining that the second user has been looking at the location for longer than the threshold amount of time, the method includes notifying the first user about the second location.

In some embodiments, the method includes presenting the webpage to the first user at the first endpoint, wherein the communication session comprises a co-browsing session through which the webpage is presented at the first endpoint and the second endpoint. In those embodiments, notifying the first user may include presenting, on the webpage at the first endpoint, an indication of the location and an alert informing the first user that the second user has been looking at the location for longer than the threshold amount of time.

In some embodiments, notifying the first user includes presenting an alert informing the first user that the second user has been looking at the location for longer than the threshold amount of time.

In some embodiments, in response to determining that the location is not related to a present context of the communication session, the method includes presenting the first user with one or more suggestions to address a deviation from the present context by the second user. In those embodiments, the one or more suggestions may include a suggestion for the first user to guide the second user to a second location on the webpage that is related to the present context and/or a suggestion to the first user to address a location context associated with the location.

In some embodiments, determining that the second user has been looking at the location for longer than the threshold amount of time includes feeding the gaze information and a present context of user communications over the communication session into an artificial intelligence algorithm. The artificial intelligence algorithm outputs instructions for notifying the first user about the second location. In those embodiments, the method may include training the artificial intelligence algorithm using prior gaze information, prior present contexts of user communications, and prior resolutions on previous communication sessions and the instructions for notifying the first user about the second location may include an instruction to suggest one of the prior resolutions, which achieved positive results, to the first user.

In another embodiment, an apparatus is provided having one or more computer readable storage media and a processing system operatively coupled with the one or more computer readable storage media. Program instructions stored on the one or more computer readable storage media, when read and executed by the processing system, direct the processing system to, during a communication session between a first endpoint operated by a first user and a second endpoint operated by a second user, receive gaze information indicating a location where the second user is looking relative to a webpage being presented to the second user at the second endpoint. The program instructions further direct the processing system to determine that the second user has been looking at the location for longer than a threshold amount of time. In response to determining that the second user has been looking at the location for longer than the threshold amount of time, the program instructions direct the processing system to notify the first user about the second location.

DETAILED DESCRIPTION

The examples provided herein enable tracking of a user's gaze relative to a webpage being viewed by the user while a communication session with another user (e.g., contact center agent) to discuss the webpage or the content thereon. The web-assist systems notify the other user when the user's gaze is focused on a particular location of the webpage for longer than a threshold amount of time. If the other user is an agent of a contact center, then the agent may be able to address, on the communication session, that the user has been looking at the same place for a relatively long amount of time (i.e., longer than the threshold). For instance, the user may be confused because what they are looking at on the webpage (i.e., the location) does not correspond to the current context (e.g., topic) of the conversation with the agent over the communication session. In some examples, the location and context of the conversation (and, possibly, how the agent handles being notified of the location) may be used to train a machine learning algorithm to generate a model for use when training agents in the future. The training may, therefore, enable the agents to anticipate and handle issues like that experienced during the above communication session. Similarly, FAQs for the webpage may be updated in an attempt to help potential callers prior to initiation of a call to the contact center.

In operation, endpoint102and endpoint103may each respectively be a telephone, tablet computer, laptop computer, desktop computer, conference room system, or some other type of user operable computing system. Web-assist system101is a computing system (e.g., server or collection of servers) that facilitates the capture of gaze information131regarding user123from endpoint103while user123is viewing a webpage presented by endpoint103. In some examples, endpoint102may also be viewing the same webpage presented by endpoint102. For instance, a co-browsing session may be established such that endpoint102and endpoint103synchronize the presentation of the webpage at endpoint102and endpoint103to user122and user123, respectively. Web-assist system101may also facilitate the co-browsing session or a separate co-browsing system may be used instead. When gaze information131satisfies a criteria for notifying user122, web-assist system101notifies user122by transferring notification132to endpoint102, as described below.

FIG. 2illustrates operation200to use gaze information to guide a user viewing a webpage during a communication session. In operation200, user122and user123are communicating with each other over a communication session established between endpoint102and endpoint103. The communication session may support voice, video, text chat, or some other type of real-time user communications. User123may have directed to endpoint103to establish the communication session, user122may have directed endpoint102to establish the communication session, or the communication session may have been initiated via some other system, such as a communication routing system or a communication control system that facilitates the communication session. Web-assist system101may facilitate the communication session itself, the communication session may be facilitated by some other system (e.g., the aforementioned communication control system), or may be facilitated on a peer-to-peer basis between endpoint102and endpoint103.

In operation200, web-assist system101receives gaze information131indicating a location where user123is looking relative to a webpage being presented to user123at endpoint103(201). The webpage may be presented by a web browser application executing on endpoint103or by some other application executing on endpoint103that is capable of displaying web pages to user123via a display of endpoint103. Gaze information131is generated by endpoint103tracking the gaze of user123(i.e., where user123's eyes are looking). Endpoint103may use a videocamera built into, or otherwise, connected to endpoint103for capturing video user123that can be used for any purpose (e.g., for transmission on a video communication session, including the present communication session if the session is a video session). Alternatively, endpoint103may use dedicated eye tracking hardware to determine where user123is looking relative to the webpage. The location indicated by gaze information131may be a location on the webpage or may indicate that the user is not looking at the webpage (e.g., is looking at a different application window than the window, such as a browser window, that is displaying the webpage). The location may indicate a discrete area of the webpage. For example, the webpage may be divided into equal sized squares/rectangles (e.g., measured in pixels or may be dynamic based on a defined number of segments for width and height to account for different screen sizes/resolutions) and gaze information131may indicate into which of the squares/rectangles user123is looking. Alternatively, the webpage may be divided into areas based on what is presented by the webpage at that area (e.g., various display elements, such as text entry fields, links, buttons, product/service information section, written descriptions, photos, graphics, and/or other type of page element) and may, therefore, be shaped according to the size and shape of each individual area. For instance, the location may be a particular product listing displayed in the webpage among other product listings. In some examples, if user123scrolls the webpage, then the potential areas of the webpage that may be indicated by the location may also change. In other examples, the webpage may not be segmented, as in the above examples, but may be any point on the webpage. In those examples, since the webpage may be displayed differently depending on screen size, screen resolution, zoom level, etc., the location may be indicated, there may be a predefined convention used by both endpoint103and web-assist system101to ensure that gaze information131properly indicates the location to web-assist system101.

After receiving gaze information131, web-assist system101determines that user123has been looking at the location for longer than a threshold amount of time (202). The threshold amount of time may be any value (e.g., minutes and/or seconds). Preferably the threshold amount of time is set to a value corresponding to a likelihood that user123would benefit from user122being notified that user123has been looking at the same location for longer than the threshold. For example, user123looking at a particular location for longer than 10 seconds (i.e., the threshold amount of time) may indicate that user123is confused about what they are seeing at the location. In some examples, gaze information131may indicate a length of time in which user123has been looking at the location so that web-assist system101can simply compare that length to the threshold. Alternatively, web-assist system101may track duration itself as gaze information131is updated from user123. For example, endpoint103may continually or periodically (e.g., every 2 seconds) update the location where user123is looking and transfer updated gaze information131accordingly. Web-assist system101may then track the locations reported in the updates to determine how long user123has been looking at a location. In some examples, if the location provided in gaze information131is specific (e.g., a point on the webpage), then web-assist system101may consider the location to be within a predefined distance of each other (e.g., within a radius from a best fit center point of a cluster of location points reported by endpoint103) to account for eye movement around the location. Similarly, in some examples, web-assist system101may allow user123's gaze to leave the location for a period of time (e.g., a period of time defined by another threshold) while not disrupting the duration used by web-assist system101to determine whether the threshold amount of time has been reached. For instance, user123may quickly look at something else on the screen, or outside of endpoint103, before returning to looking at the location.

In response to determining that user123has been looking at the location for longer than the threshold amount of time, web-assist system101notifies user122about the second location (203). In this example, web-assist system101notifies user122by transferring notification132to endpoint102. Upon receiving notification132, endpoint102presents an alert to user122informing user122about the location. Notification132may explicitly instruct endpoint102to present the alert or endpoint102may be preconfigured to present an alert in response to receiving a notification like notification132(e.g., a software client executing on endpoint102may be configured to handle notifications received from web-assist system101). The alert may be presented visually, audibly, or in some other manner by endpoint102. In some examples, the alert may be displayed over a presentation of the webpage at endpoint102. For instance, the webpage may be displayed at endpoint102and endpoint103during a co-browsing session that synchronizes the browsing of the webpage between endpoint102and endpoint103. User122in those examples is, therefore, able to see exactly what portion of the webpage is being displayed at endpoint103and see the alert indicating the location where user123was looking.

In some cases, the alert may simply provide the location to user122(e.g., and rely on user122to understand why the location is being presented to them) while, in other cases, the alert may provide additional information about the location, as may be received in notification132. For example, the alert may provide a suggestion about how user122should handle the fact that user123has been looking at the location for longer than the threshold amount of time (e.g., suggest to user122that user122ask, over the communication session, whether user123is confused by what user123is seeing at the location or may even provide an indication about what user123is likely confused about based on prior interactions with other users).

In some examples, web-assist system101may also (or instead) notify user123about the location (204). Web-assist system101may send a notification similar to notification132and endpoint103may alert user123in a manner similar to the alert presented by endpoint102above. Also like the alert above, the alert notifying user123about the location may provide additional information to user123. For example, the alert may provide a suggestion intended to help user123navigate the webpage or the offerings on the webpage. Like the suggestion above, the suggestion to user123may be based on prior interactions with other users (e.g., suggest that user123take an action that other users that looked at the location for longer than the threshold amount of time also took). In some examples, web-assist system101may be able to notify user123, and endpoint103may responsively present a suggestion in an alert, even when a communication session has not been established. Ideally, the suggestion would help to clarify any issues or questions that user123may have before user123feels the need to establish the communication session.

The alerts presented in response to notifications sent to either endpoint102or endpoint103in the above examples may also be based on the present context of the communication session at the time web-assist system101determines that user123has been looking at the location for longer than the threshold amount of time. The context may include a topic being discussed, the respective moods of user122and user123, the sentiment of user123towards offers on the webpage or entity associated therewith, or some other type of information that can be gleaned from the user communications exchanged on the communication session. The context of the communication session may indicate a reason for user123's gaze being on the location for longer than the threshold amount of time. Web-assist system101may then suggest through notifications, and subsequent alerts, to user122and/or user123an action that may be taken based on the determined reason. For instance, if the present context of the communication session is unrelated to what the webpage displays at the location, then web-assist system101may suggest an action to address that deviation. In a more specific example, if the context is that user122and user123are discussing Product A but user123is looking at Product B (i.e., the location) on the webpage, the notification to user122may suggest that user122should direct user123to Product A on the webpage or ask user123whether they want to discuss Product B instead. Similarly, a notification to user123may suggest that user123look where Product A is displayed or mention to user122that they would like to discuss Product B instead. In some examples, the present context of the communication may prevent notification(s) from occurring when user123is looking at a location for longer than the threshold amount of time. For instance, if the present context being discussed by user122and user123relates to the location (e.g., user123is looking at Product A while discussing Product A), then there may be no need to inform either user122or user123about the location.

FIG. 3illustrates implementation300for using gaze information to guide a user viewing a webpage during a communication session. Implementation300includes co-browsing system302, co-browsing system302, WebRTC server303, agent endpoints304-307, contact center network308, caller endpoint309, Internet310, and web server311. Although, web-assist system301, co-browsing system302, WebRTC server303, agent endpoints304-307, contact center network308are part of contact center321, no element of contact center321need be co-located with another. As such, contact center network308may use Internet310, and possibly other local area networks, to exchange communications. While only four agent endpoints are shown in implementation300, contact center321may include any number of agent endpoints.

In this example, agent endpoints304-307are operated by respective agents324-327and caller endpoint309is operated by caller329. WebRTC is used to exchange user communications between endpoints and WebRTC server303handles the exchange of those communications, although, in other examples, other forms of communication may be used instead. In the examples below, caller endpoint309is also using WebRTC, via a WebRTC client executing thereon, and will have a similar connection to WebRTC server303established. However, in other examples, caller endpoint309may connect to contact center321in some other manner (e.g., a traditional telephone call) and WebRTC server303, or some other system of contact center321, will act as a gateway to the WebRTC connection with an agent endpoint. Co-browsing system302facilitates the co-browsing of webpages between an agent endpoint and a caller endpoint. In this case, the webpage being co-browsed is provided by web server311. While shown as distinct devices in contact center321, in other examples one or more of web-assist system301, co-browsing system302, and WebRTC server303may be combined into fewer distinct systems.

FIG. 4illustrates operational scenario400for using gaze information to guide a user viewing a webpage during a communication session. In operational scenario400, caller endpoint309receives webpage401at step1from web server311. Webpage401is transferred in a format (e.g., a Hypertext Markup Language based code) that a web browser application executing on caller endpoint309is configured to render for presentation on a display of webpage401. In some examples, caller endpoint309may retrieve additional presentation elements for webpage401from a different system than web server311. For instance, the code for webpage401received from web server311may direct the web browser to request photos, other graphics, and/or ads from a different server. Caller329may have navigated the web browser to webpage401or the retrieval of webpage401may be initiated in some other manner. Caller endpoint309then presents webpage401at step2to caller329. For example, the web browser mentioned above may direct caller endpoint309to render webpage401and display webpage401in a Graphical User Interface (GUI) window of the web browser. Caller329may then browse and interact with webpage401via user interface components of caller endpoint309(e.g., mouse, touchscreen, and/or keyboard).

In this example, webpage401includes a button or link that, when selected by caller329, initiates a co-browsing session with one of agents324-327from contact center321. In response to the user selection, co-browsing system302is directed to establish co-browsing session402at step3between caller endpoint309and agent endpoint304. Agent endpoint304may be selected from agent endpoints304-307by co-browsing system302itself or another system of contact center321may perform the selection and direct co-browsing system302to use agent endpoint304accordingly. After establishing WebRTC session403, agent endpoint304also presents webpage401. In some examples, co-browsing system302may cause the same instance of webpage401to be presented at both caller endpoint309and agent endpoint304, although co-browsing system302may implement co-browsing of webpage401in some other manner.

Since co-browsing alone may not be very affective without communicating with agent324, WebRTC session403is also established at step5by WebRTC server303. WebRTC session403allows caller329and agent324to at least speak with one another in real-time while also participating in co-browsing session402. In some examples, WebRTC session403may carry video captured of caller329and/or agent324to accompany the audio captured thereof. A web-based client executing in a browser on caller endpoint309and agent endpoint304may handle both co-browsing session402and WebRTC session403at the endpoints or each session may be handled by different clients. In some examples, rather than being web-based, the client may be a browser plugin or an application executing separately from the browser. While WebRTC session403is established after co-browsing session402in this example, WebRTC session403may be established before co-browsing session402in other examples. For instance, caller329may first speak to agent324over WebRTC session403and then, during the course of that conversation, agent324or caller329may decide that co-browsing session402would be helpful and should be established.

While caller329and agent324are co-browsing over co-browsing session402and talking over WebRTC session context405, caller endpoint309tracks the gaze of caller329at step6relative to the display of webpage401. Tracking the gaze of caller329enables the creation of gaze information404by caller endpoint309. Caller endpoint309sends gaze information404to web-assist system301at step7. The information in gaze information404notifies web-assist system301about where caller329is looking relative to webpage401. That is, gaze information404may indicate that caller329is looking at a particular area on webpage401or may indicate that caller329is not looking at webpage401at all. As caller endpoint309continues to track the gaze of caller329, caller endpoint309may continue to generate updated gaze information404and send the updated gaze information404to web-assist system301so that web-assist system301can determine whether caller329is looking at a location on webpage401for longer than a threshold amount of time. Similarly, when web-assist system301is informed by gaze information404that caller329has not been looking at webpage401for longer than the threshold amount of time, then the fact that caller329is not looking at webpage401may also be considered a location relative to webpage401. In some examples, caller endpoint309itself determine that caller329has been looking at a location for longer than the threshold amount of time. In those cases, gaze information404may be transferred upon making that determination to inform web-assist system301about the location.

Web-assist system301determines WebRTC session context405at step8, which is the present context of the user communications being exchanged between caller329and agent324over WebRTC session403when web-assist system301determines that caller329has been looking at the location for longer than the threshold amount of time. Though not shown, web-assist system301may have access to the user communications on WebRTC session403to determine WebRTC session context405or web-assist system301may determine WebRTC session context405by receiving WebRTC session context405from another system, such as WebRTC server303. WebRTC session context405may be determined by applying a natural language processing algorithm, or some other type of algorithm, to the user communications exchanged over WebRTC session403to determine a topic of conversation, a mood of caller329and/or agent324, a sentiment of caller329, or any other type of information that can be gleaned from user communications.

In this example, web-assist system301determines, at step9, that the location looked at by the user for longer than the threshold amount of time, as indicated by gaze information404, is unrelated to WebRTC session context405. For instance, caller329and agent324may be discussing a different topic than that shown at the location on webpage401or agent324may have directed caller329to look at a particular location on webpage401and the location indicated by gaze information404is not that particular location. The above determination triggers web-assist system301to send notification406at step10to agent endpoint304. In this example, notification406is a message that includes a suggestion407that should be presented by agent endpoint304to agent324. Suggestion407may include an action the web-assist system301is suggesting that agent324take in order to address the fact that WebRTC session context405does not match the location. For instance, suggestion407may suggest that agent324change context of WebRTC session403or direct caller329to a location on the webpage that relates to the present context. Suggestion407may be determined based on gaze information and contexts from previous communication sessions between agents of contact center321and callers with respect to webpage401(or other webpages in some cases). For example, web-assist system301may learn from previous communication sessions that caller329may think they are looking at the right location, but really are not, due to confusion about the directions provided by agent324. Regardless, upon receiving notification406, agent endpoint304alerts agent324about the location relative to webpage401and presents suggestion407at step11. Suggestion407may be audibly or visually presented to agent324. In some examples, suggestion407may be displayed nearby the location on webpage401so as agent324can more readily associate the suggestion with where caller329is looking.

Although agent324is provided with a suggestion in the above scenario, web-assist system301may send a notification message to caller endpoint309so that caller329may be presented with a suggestion in other examples. The suggestion presented to caller329may be the same as or different from suggestion407. In some cases, when both agent324and caller329are presented with suggestions, the suggestions may complement each other. For example, a suggestion to caller329may direct caller329to look at a different location on webpage401while a suggestion to agent324may direct agent324to guide caller329to the different location.

FIG. 5illustrates operational scenario500and operational scenario501for using gaze information to guide a user viewing a webpage during a communication session. Operational scenario500is an example for how web-assist system301may use web-assist algorithm511to determine suggestion407in operational scenario400. In particular, web-assist algorithm511is an algorithm that may be trained using machine learning, as described in operational scenario501below. Once trained, web-assist system301inputs gaze information404, or at least the location determined to be looked at for longer than the threshold amount of time, and WebRTC session context405into web-assist algorithm511and web-assist algorithm511outputs suggestion407. In some examples, web-assist algorithm511may also handle the determination of whether caller329has been looking at the location for longer than the threshold amount of time. In fact, based on what web-assist algorithm511learns from the training, web-assist algorithm511may employ different thresholds depending on the particular circumstances. For instance, web-assist algorithm511may learn that it can determine that a user is confused by one location of webpage401based on a shorter threshold than when the user is looking at another location. Similarly, the present context of the communication session may indicate that the threshold can be shorter. For example, if agent324is instructing caller329to input user into a particular field, then caller329looking at any other field, even if for a very short amount of time, may indicate to web-assist algorithm511the location caller329is looking at needs to be addressed by agent324.

Operational scenario501is an example of how web-assist algorithm511may be trained to perform in operational scenario500. Web-assist system301may handle the training of web-assist algorithm511itself or another system may handle the training. In some examples, web-assist algorithm511may continue to be trained even as it is being used by web-assist system301to enhance the ability of web-assist algorithm511to provide suggestions. In this example, web-assist algorithm511is trained by providing prior gaze information521, prior contexts522that correspond to respective portions of prior gaze information521, and prior resolutions523that also correspond to respective portions of prior gaze information521and prior resolutions523. Prior resolutions523may only indicate resolutions (e.g., actions taken in response to the corresponding portions of prior gaze information521and prior contexts522) that achieved positive results so that web-assist algorithm511can learn resolutions that worked (e.g., helped the caller) in various scenarios. A resolution that had positive results may then be output by web-assist algorithm511in response to being fed gaze information and session context similar to gaze information and session contexts associated with the resolution previously. Prior resolutions523may also indicate resolutions that achieved negative results so that web-assist algorithm511can learn to avoid suggesting resolutions that have negative results (e.g., were not helpful to the caller). The more prior gaze information521, prior contexts522, and prior resolutions523are fed into web-assist algorithm511the more scenarios web-assist algorithm511will be able to provide an appropriate suggestion for.

While the examples above describe how web-assist algorithm511may be used to determine suggestion407in real-time, other examples may employ web-assist algorithm511for other types of scenarios, such as agent training, website support (e.g., FAQs), website design, and other non-real-time applications. For example, web-assist algorithm511may be used to indicate common issues that arise when a user is browsing webpage401based on what web-assist algorithm511learned in operational scenario501. Agents324-327may then be preemptively trained to handle the issues, FAQs associated with webpage401may be updated to provide assistance to users without the users having to call contact center321, webpage401may be redesigned to obviate the issues, or some other mitigating action may be take—including combinations thereof.

FIG. 6illustrates display system600for using gaze information to guide a user viewing a webpage during a communication session. Display system600includes display611and camera621. Display611may be a cathode ray tube (CRT), Liquid Crystal Display (LCD), Light Emitting Diode display (LED), or some other type of display capable of presenting images described below. Camera621includes optics and an image sensor for capturing video of a participant viewing display611. Display system600, in this example, is a display system of caller endpoint309.

Display611presents web-browser window631, which is a window for a web-browser application executing on caller endpoint309. Web-browser window631presenting webpage401, which is a webpage for “Example Bank” in this scenario. Location641on webpage401is an example of a location where web-assist system301has determined caller329has been looking for longer than the threshold amount of time. As can be seen, location641is not just a point on webpage401but rather is a general region around three menu options for credit cards. Accordingly, caller329is still considered to be looking at the same location641for longer than the threshold amount of time even as caller329reads through the three options. In this example, the oval identifying location641is not actually displayed, although, in other examples, an indication of location641may be displayed to caller329to make them aware that they have been looking at location641for an inordinately long time (i.e., longer than the threshold amount of time). With respect to operational scenario400, agent endpoint304would receive a notification from web-assist system301and, responsively, present an indication of location641while co-browsing webpage401, which may actually look similar to the oval inFIG. 6, although other manners of indicating a location may be used.

FIG. 7illustrates display system700for using gaze information to guide a user viewing a webpage during a communication session. Display system700is an example of display system600after caller329receives a notification from web-assist system301in response to web-assist system301determining that caller329has been looking at location641longer than the threshold amount of time. In this example, web-assist system301determined, using gaze information404identifying location641and WebRTC session context405, that caller329should be looking at information in the “Accounts” tab of webpage401rather than the “Credit Cards” tab. For instance, agent324may be discussing opening an account with the bank and caller329may be confused because they are looking at credit card options and, therefore, not seeing the accounts to which agent324is referring. Web-assist system301determines, using web-assist algorithm511or otherwise, that a suggestion to look at the accounts tab should be presented to caller329. In response to receiving the notification from web-assist system301, caller endpoint309displays alert741which includes a suggestion guiding caller329towards the accounts tab.

In the context of operational scenario400, suggestion407may be a complementary suggestion to that displayed in alert741. For example, suggestion407may suggest to agent324that they direct caller329to look at the accounts tab because they are currently looking at credit cards. Suggestion407may be presented to agent324in a manner similar to alert741's presentation to caller329or a different form of alert may be presented instead.

FIG. 8illustrates computing architecture800for using gaze information to guide a user viewing a webpage during a communication session. Computing architecture800is an example computing architecture for web-assist systems101and301, although systems101and301may use alternative configurations. Computing architecture800may also be used for other computing systems described herein. Computing architecture800comprises communication interface801, user interface802, and processing system803. Processing system803is linked to communication interface801and user interface802. Processing system803includes processing circuitry805and memory device806that stores operating software807.

Communication interface801comprises components that communicate over communication links, such as network cards, ports, RF transceivers, processing circuitry and software, or some other communication devices. Communication interface801may be configured to communicate over metallic, wireless, or optical links. Communication interface801may be configured to use TDM, IP, Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof.

User interface802comprises components that interact with a user. User interface802may include a keyboard, display screen, mouse, touch pad, or some other user input/output apparatus. User interface802may be omitted in some examples.

Processing circuitry805comprises microprocessor and other circuitry that retrieves and executes operating software807from memory device806. Memory device806comprises a computer readable storage medium, such as a disk drive, flash drive, data storage circuitry, or some other memory apparatus. In no examples would a storage medium of memory device806be considered a propagated signal. Operating software807comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software807includes web-assist module808. Operating software807may further include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry805, operating software807directs processing system803to operate computing architecture800as described herein.

In particular, during a communication session between a first endpoint operated by a first user and a second endpoint operated by a second user, web-assist module808directs processing system803to receive gaze information indicating a location where the second user is looking relative to a webpage being presented to the second user at the second endpoint. Web-assist module808further directs processing system803to determine that the second user has been looking at the location for longer than a threshold amount of time. In response to determining that the second user has been looking at the location for longer than the threshold amount of time, web-assist module808directed processing system803to notify the first user about the second location.

The descriptions and figures included herein depict specific implementations of the claimed invention(s). For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. In addition, some variations from these implementations may be appreciated that fall within the scope of the invention. It may also be appreciated that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.