US 11,669,352 B2
Contextual help with an application
Uday Illindala, Overland Park, KS (US); Adam B. Splitter, Kansas City, MO (US); and John Bowen, Raymore, MO (US)
Assigned to Cerner Innovation, Inc., Kansas City, MO (US)
Filed by CERNER INNOVATION, INC., Kansas City, KS (US)
Filed on Nov. 26, 2019, as Appl. No. 16/696,358.
Application 16/696,358 is a continuation of application No. 14/704,558, filed on May 5, 2015, granted, now 10,496,420.
Claims priority of provisional application 62/086,530, filed on Dec. 2, 2014.
Prior Publication US 2020/0097304 A1, Mar. 26, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/451 (2018.01); G06F 16/332 (2019.01)
CPC G06F 9/453 (2018.02) [G06F 16/3329 (2019.01)] 20 Claims
OG exemplary drawing
 
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.