IP Library › Granted Patent US 12,710,939
Granted Patent B2
US 12,710,939 · App. 18/663,592 · Granted Aug 18, 2026

System and method for developing user interface applications

Inventors: Eric Don Rowell (Livermore, CA); Daniel Sol Eun (San Francisco, CA)
Assignee: WORKDAY, INC.
G06F8/38G06F8/63G06F11/3698
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 12,710,939
App. No.
18/663,592
Granted
Aug 18, 2026
Kind
B2
Abstract

A computer-implemented method for designing a user interface application uses a visual flow language and a model view flow architecture. The visual flow language may include components, where components include blocks and nodes. Call streams and data flows may be defined by a user. An application flow logic graph is generated. The application flow logic graph may be used to generate a user interface application.

Claims (37)

1 . A method for comprising:

receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;

displaying the selected components in a flow panel of the user interface design studio;

receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;

generating an application logic graph based on the selected components and defined connections; and

creating a user interface application based on the application logic graph.

2 . The method of claim 1 , further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.

3 . The method of claim 1 , further comprising implementing, by the user interface design studio, a visual flow language to model application logic flows and state through UI call streams.

4 . The method of claim 1 , further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.

5 . The method of claim 1 , further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.

6 . The method of claim 1 , further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.

7 . The method of claim 1 , further comprising the respective nodes retrieving, based on the data mapping, data responsive to call streams to enable non-linear execution of application logic.

8 . A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;

displaying the selected components in a flow panel of the user interface design studio;

receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;

generating an application logic graph based on the selected components and defined connections; and

creating a user interface application based on the application logic graph.

9 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.

10 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising implementing, by a user interface design studio, a visual flow language to model application logic flows and state through UI call streams.

11 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.

12 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.

13 . The non-transitory computer-readable storage medium of claim 8 , the steps further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.

14 . The non-transitory computer-readable storage medium of claim 8 , the respective nodes retrieving, based on the data mapping, data responsive to call streams to enable non-linear execution of application logic.

15 . A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising steps for:

receiving, via a user interface design studio, a user selection of components from a component catalog, wherein the components comprise at least one of user interface (UI) components, data components, logical components, and transform components;

displaying the selected components in a flow panel of the user interface design studio;

receiving user input to define connections between nodes of the selected components, wherein the connections comprise call streams and data mappings;

generating an application logic graph based on the selected components and defined connections; and

creating a user interface application based on the application logic graph.

16 . The device of claim 15 , further comprising: training a machine learning algorithm using existing application logic graphs; and suggesting, by the trained machine learning algorithm, modifications to improve efficiency of the application logic graph.

17 . The device of claim 15 , the steps further comprising implementing, by the user interface design studio, a visual flow language to model application logic flows and state through UI call streams.

18 . The device of claim 15 , further comprising: receiving a natural language query describing a desired task for the user interface application; and generating, based on the natural language query, a suggested application logic graph using the components and connections.

19 . The device of claim 15 , further comprising: providing a preview of the user interface application in a preview panel of the user interface design studio.

20 . The device of claim 15 , further comprising: receiving user input defining breakpoints in the application logic graph; and executing the user interface application in a debug mode that pauses execution at the defined breakpoints.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: ROWELL, ERIC DON; EUN, DANIEL SOL
To: UI FLOW, INC.
Reel/Frame 067407/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: UI FLOW, INC.
To: WORKDAY, INC.
Reel/Frame 067407/0628 →
Continuity (3)
Continuation 17548430 · Dec 10, 2021
Provisional Application 63124628 · Dec 11, 2020
Related Publication 20240296029A1 · Sep 5, 2024
References Cited (28)
US 7451403B1 · Srinivasan et al. · 2008 [cited by applicant]
US 11500628B1 · Chawda · 2022 [cited by examiner]
US 20010005852A1 · Bogle · 2001 [cited by examiner]
US 20020053070A1 · Seki · 2002 [cited by examiner]
US 20030208743A1 · Chong · 2003 [cited by examiner]
US 20070149036A1 · Misovski · 2007 [cited by examiner]
US 20070150936A1 · Maes · 2007 [cited by examiner]
US 20100107136A1 · Fildebrandt · 2010 [cited by examiner]
US 20100235815A1 · Maybee · 2010 [cited by examiner]
US 20100313181A1 · Fernandez · 2010 [cited by examiner]
US 20120166977A1 · Demant · 2012 [cited by examiner]
US 20140026084A1 · Gilboa · 2014 [cited by applicant]
US 20150135160A1 · Gauvin et al. · 2015 [cited by applicant]
US 20160291942A1 · Hutchison · 2016 [cited by examiner]
US 20170048253A1 · Anton · 2017 [cited by examiner]
US 20170102943A1 · Voellmy · 2017 [cited by examiner]
US 20170315713A1 · Pennell · 2017 [cited by examiner]
US 20180146069A1 · Du · 2018 [cited by examiner]
US 20200193221A1 · Aftab · 2020 [cited by examiner]
US 20200319856A1 · Loria · 2020 [cited by examiner]
US 20210055944A1 · Hinton · 2021 [cited by examiner]
US 20220197607A1 · Rowell · 2022 [cited by examiner]
US 20240394021A1 · Bhargava · 2024 [cited by examiner]
CN 111198849A · 2020 [cited by examiner]
WO 2017053434A1 · 2017 [cited by applicant]
International Preliminary Report on Patentability for PCT/US2021/062957, mailed Jun. 22, 2022, 15 pgs. [cited by applicant]
International Search Report and Written Opinion for PCT/US2021/062957, mailed Mar. 1, 2022, 15 pgs. [cited by applicant]
Supplementary European Search Report issued in corresponding EP Appln. No. 21904527, mailed Sep. 18, 2024 (10 pages). [cited by applicant]