IP Library › Granted Patent US 11,714,689
Granted Patent B2
US 11,714,689 · App. 17/405,364 · Granted Aug 1, 2023

System and method for managing user interaction flows within third party applications

Inventors: William Frederick Kiefer (Seattle, WA); Michael Brian Jacokes (San Francisco, CA); Jan Maksymilian Dudek (San Francisco, CA); Nathan James Tindall (San Francisco, CA)
Assignee: Plaid Inc.
G06F9/541G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,714,689
App. No.
17/405,364
Granted
Aug 1, 2023
Kind
B2
Abstract

A system and method for cloud management of user interactions on a client device comprising: initiating, in response to an initiation request of a client application, processing of a workflow configuration with an initial session state, wherein the workflow is a data model of a graph of nodes connected with directed edges, where the nodes include a set of node types that includes at least a pane node; iteratively processing the workflow configuration, initially using the initial session state, and thereby generating rendered panes for use in a user interaction flow of a client application, which comprises: following a next edge of the workflow configuration to determine a next workflow node, processing the next workflow node, which comprises, when the next workflow node is a pane node, rendering the pane node into a rendered pane, and sending the rendered panes to the client device.

Claims (40)

1. A method for cloud management of user interactions on a client device comprising:

at a client application, transmitting a workflow initiation application programming interface (API) request to a workflow initiate API universal resource identifier (URI) endpoint of a workflow service and thereby initiating, in response to the workflow initiation API request of the client application, processing of a workflow configuration with an initial session state, wherein the workflow is a data model of a graph of nodes connected with directed edges, where the nodes include a set of node types that includes at least a pane node;

iteratively processing the workflow configuration, initially using the initial session state, and thereby generating rendered panes for use in a user interaction flow of the client application, which comprises:

following a next edge of the workflow configuration to determine a next workflow node,

processing the next workflow node, which comprises, when the next workflow node is a pane node, rendering the pane node into a rendered pane, and

sending the rendered panes to the client device; and

at the client application, displaying the rendered panes, evaluating user action and pane transitions, and, when a workflow update is required based on the user action and pane transition, calling the workflow update with user input collected and transmitting a workflow update API request to a workflow update API URI endpoint of the workflow service.

2. The method of claim 1 , wherein the set of node types further includes a second type of node that is a processor node and a third type of node that is a switch node; and wherein processing the workflow configuration comprises:

when the next workflow node is a processor node, invoking a data processing method defined by the processor node to output a transformed data output, and

when the next workflow node is a switch node, evaluating one or more values from data payload input to the switch node and selecting a corresponding branch to another node.

3. The method of claim 1 , wherein evaluating user action and pane transitions comprises determining when to initiate an application programming interface (API) call for the workflow update to update a current pane of the workflow.

4. The method of claim 3 , wherein rendering the pane node comprises rendering a set of rendered panes including rendering a current pane node and neighboring pane nodes in the workflow configuration, and wherein sending the rendered panes further comprises sending the set of rendered panes; and wherein evaluating user action and pane transitions comprises determining when an existing rendered pane in the set of rendered panes can be used to update the current pane of the workflow.

5. The method of claim 1 , further comprising at the client application, updating session state analytics by transmitting a workflow state update API request.

6. A computer system for cloud management of user interactions on a client device comprising:

one or more computer processors;

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the one or more computer processors to perform operations comprising:

at a client application, transmitting a workflow initiate application programming interface (API) request to a workflow initiate API universal resource identifier (URI) endpoint of a workflow service and thereby initiating, in response to the workflow initiation API request of the client application, processing of a workflow configuration with an initial session state, wherein the workflow is a data model of a graph of nodes connected with directed edges, where the nodes include a set of node types that includes at least a pane node;

iteratively processing the workflow configuration, initially using the initial session state, and thereby generating rendered panes for use in a user interaction flow of a client application, which comprises:

following a next edge of the workflow configuration to determine a next workflow node,

processing the next workflow node, which comprises, when the next workflow node is a pane node, rendering the pane node into a rendered pane, and

sending the rendered panes to the client device; and

at the client application, displaying the rendered panes, evaluating user action and pane transitions, and, when a workflow update is required based on the user action and pane transition, calling the workflow update with user input collected and transmitting a workflow update API request to a workflow update API URI endpoint of the workflow service.

7. The system of claim 6 , wherein the set of node types further includes a second type of node that is a processor node and a third type of node that is a switch node; and wherein processing the workflow configuration comprises:

when the next workflow node is a processor node, invoking a data processing method defined by the processor node to output a transformed data output, and

when the next workflow node is a switch node, evaluating one or more values from data payload input to the switch node and selecting a corresponding branch to another node.

8. The system of claim 6 , wherein evaluating user action and pane transitions comprises determining when to initiate an application programming interface (API) call for the workflow update to update a current pane of the workflow.

9. The system of claim 8 , wherein rendering the pane node comprises rendering a set of rendered panes including rendering a current pane node and neighboring pane nodes in the workflow configuration, and wherein sending the rendered panes further comprises sending the set of rendered panes; and wherein evaluating user action and pane transitions comprises determining when an existing rendered pane in the set of rendered panes can be used to update the current pane of the workflow.

10. The system of claim 6 , wherein the client application is further configured to perform the operations: updating session state analytics by transmitting a workflow state update API request.

11. A non-transitory computer-readable medium storing instructions for cloud management of user interactions on a client device comprising that, when executed by one or more computer processors of a computing platform, cause the computing platform to perform:

at a client application, transmitting a workflow initiation application programming interface (API) request to a workflow initiate API universal resource identifier (URI) endpoint of a workflow service and thereby initiating, in response to the workflow initiation API request of the client application, processing of a workflow configuration with an initial session state, wherein the workflow is a data model of a graph of nodes connected with directed edges, where the nodes include a set of node types that includes at least a pane node;

iteratively processing the workflow configuration, initially using the initial session state, and thereby generating rendered panes for use in a user interaction flow of a client application, which comprises:

following a next edge of the workflow configuration to determine a next workflow node,

processing the next workflow node, which comprises, when the next workflow node is a pane node, rendering the pane node into a rendered pane, and

sending the rendered panes to the client device; and

at the client application, displaying the rendered panes, evaluating user action and pane transitions, and, when a workflow update is required based on the user action and pane transition, calling the workflow update with user input collected and transmitting a workflow update API request to a workflow update API URI endpoint of the workflow service.

12. The non-transitory computer-readable medium of claim 11 , wherein the set of node types further includes a second type of node that is a processor node and a third type of node that is a switch node; and wherein processing the workflow configuration comprises:

when the next workflow node is a processor node, invoking a data processing method defined by the processor node to output a transformed data output, and

when the next workflow node is a switch node, evaluating one or more values from data payload input to the switch node and selecting a corresponding branch to another node.

13. The non-transitory computer-readable medium of claim 11 , wherein evaluating user action and pane transitions comprises determining when to initiate an application programming interface (API) call for the workflow update to update a current pane of the workflow.

14. The non-transitory computer-readable medium of claim 13 , wherein rendering the pane node comprises rendering a set of rendered panes including rendering a current pane node and neighboring pane nodes in the workflow configuration, and wherein sending the rendered panes further comprises sending the set of rendered panes; and wherein evaluating user action and pane transitions comprises determining when an existing rendered pane in the set of rendered panes can be used to update the current pane of the workflow.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2023
From: KIEFER, WILLIAM FREDERICK; JACOKES, MICHAEL BRIAN; DUDEK, JAN MAKSYMILIAN; TINDALL, NATHAN JAMES
To: PLAID INC.
Reel/Frame 062737/0670 →
Continuity (2)
Provisional Application 63067250 · Aug 18, 2020
Related Publication 20220058065A1 · Feb 24, 2022
Cited By (3)
US 12,223,552 US 12,335,164 US 12,519,870