US 11,816,492 B2
Third party integration of plugins and widgets
Anshu Verma, Mountain View, CA (US); Carlos Ambrozak, Mountain View, CA (US); Tapasvi Moturu, Sunnyvale, CA (US); Muzaffar H. Malik, Mountain View, CA (US); and Jessica Yen Yen Sperling, Mountain View, CA (US)
Assigned to INTUIT, INC., Mountain View, CA (US)
Filed by INTUIT INC., Mountain View, CA (US)
Filed on Feb. 17, 2021, as Appl. No. 17/177,849.
Application 17/177,849 is a continuation of application No. 15/852,566, filed on Dec. 22, 2017, granted, now 10,956,179.
Prior Publication US 2021/0165668 A1, Jun. 3, 2021
Int. Cl. G06F 9/445 (2018.01); G06F 3/04817 (2022.01); G06F 9/54 (2006.01)
CPC G06F 9/44526 (2013.01) [G06F 3/04817 (2013.01); G06F 9/54 (2013.01); G06F 2209/461 (2013.01); G06F 2209/482 (2013.01); G06F 2209/545 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
a memory comprising executable instructions that, when executed by the one or more processors, cause the system to:
receive, from an application server, a workflow definition specifying one or more widgets to be loaded into a shell executing within a given application, wherein each respective widget of the one or more widgets comprises a native widget, a cross-platform web-based widget, or a cross-platform framework widget;
initialize, by the shell, in response to the workflow definition specifying a native widget, a native runtime environment provided by a native widget proxy service;
initialize, by the shell, in response to the workflow definition specifying a cross-platform web-based widget, a browser-based runtime environment provided by a platform-agnostic widget proxy service;
initialize, by the shell, in response to the workflow definition specifying a cross-platform framework widget, a framework-based runtime environment provided by the platform-agnostic widget proxy service;
obtain, from the application server, a widget of the one or more widgets;
instantiate a runtime environment for the widget, the runtime environment including a bridge interface between the application server and the shell for facilitating communications involving widgets of the one or more widgets or involving the given application, the bridge interface being configured to process communications executing in the native runtime environment, the browser-based runtime environment, and the framework-based runtime environment;
load the widget into the runtime environment for execution of the widget; and
process, through the bridge interface, a communication involving the widget.