CPC G06F 9/453 (2018.02) [G06F 16/3329 (2019.01)] | 20 Claims |
1. A method for providing contextual help to a user of an application, comprising:
defining checkpoints within the application, wherein each checkpoint is associated with a respective set of code within the application, and wherein each set of code is invokable by a corresponding user action;
receiving notifications of checkpoints that occur during a current usage session of the application, wherein each checkpoint that occurs corresponds to a set of code invoked by a user action;
for each set of code that is invoked, storing a checkpoint record identifying the checkpoint associated with the set of code, wherein the checkpoint record includes information associated with a current usage context of the user within the application;
proactively identifying in real time a problem encountered by the user while using the application, wherein identifying the problem comprises:
using stored checkpoint records to determine the current usage context of the application and a current user task that is defined by at least two checkpoints and that is mapped to a plurality of learning opportunities,
using the stored checkpoint records to determine an occurrence of one or more of:
the user attempting the current user task repeatedly without making progress,
the user attempting to perform an action prematurely,
the user performing a sequence of actions that do not belong together,
the user performing a sequence of actions that do not accomplish anything, or
the user failing to complete the current user task within a given period of time; and
in response to proactively identifying in real time the problem encountered by the user,
based at least in part on the current usage context and the current user task, determining short-term help that is specific to the problem encountered by the user, wherein the short-term help comprises an immediate solution to the problem for the current usage session of the application, and wherein the short-term help is determined at least in part from a database that maps user tasks to short-term help information,
providing the user with the short-term help for the problem; and
providing the user with a recommendation for long-term help that addresses the problem, wherein the long-term help comprises a learning opportunity selected from the plurality of learning opportunities as addressing the problem of the current user task for other users, wherein the learning opportunity is identified by comparing (1) an amount of time other users spent completing the current user task before availing themselves of at least one learning opportunity of the plurality of learning opportunities to (2) an amount of time the other users spent completing the current user task after availing themselves of the at least one learning opportunity of the plurality of learning opportunities, wherein when the amount of time the other users spent completing the current user task after availing themselves of the at least one learning opportunity is reduced from the amount of time the other users spent completing the current user task before availing themselves of the at least one learning opportunity, the at least one opportunity is associated with addressing the problem of the current task for the other users.
|