IP Library Granted Patent US 11,645,048
Granted Patent B1
US 11,645,048 · App. 17/861,591 · Granted May 9, 2023

Bi-directional design-to-code

Inventors: Radoslav Kirilov (Sofia, BG); Daniel Levy (Bedford, MA); Ivan Zhekov (Sofia, BG)
Assignee: Progress Software Corporation
G06F8/34G06F8/33G06F16/986G06F8/20G06F8/30G06F8/35G06F8/36G06F8/38G06F8/41G06F8/71G06F16/95G06F16/958G06F16/972
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,645,048
App. No.
17/861,591
Granted
May 9, 2023
Kind
B1
Abstract

A system and method for bi-directional design to code are disclosed. In one embodiment, the system includes a processor; a memory storing instructions that, when executed, cause the system to obtain, by a plugin, a web application design, the web application design generated using a first design tool; generate, by the plugin, an object model based on the web application design; access, by a configurator, the object model; and generate, by the configurator, for presentation to a developer, the web application design.

Claims (54)

1. A method comprising:

obtaining, by a plugin to a first designer-selected design tool, a web application design, the web application design generated by a designer using the first designer-selected design tool;

accessing, by a first configurator, an object model based on the web application design;

generating, by the first configurator and based on the object model, for presentation to a developer in a first developer-selected, integrated development environment, the web application design, wherein the designer and the developer are collaborators on a web application;

accessing, by one or more of the first configurator and a second configurator, an updated object model, the updated object model generated subsequent to the developer making, via the first developer-selected, integrated development environment, a modification to the web application design, the second configurator associated with a second developer-selected, integrated development environment; and

generating, by one or more of the first configurator and the second configurator, an updated web application design based on the updated object model, the updated web application design presented via one or more of the first developer-selected, integrated development environment and the second developer-selected, integrated development environment.

2. The method of claim 1 , comprising:

generating, by the plugin, the object model based on the web application design.

3. The method of claim 1 , comprising:

receiving, by the first configurator, the modification to the web application design made by the developer; and

updating, by the first configurator, the object model to include the modification.

4. The method of claim 1 , comprising: presenting, to the designer via a second designer-selected design tool, the web application design via a second designer-selected design tool, wherein the first designer-selected design tool is selected from a group consisting of Sketch™, Adobe XD™, Invision™, Axure™, and UXPin™, and wherein the second designer-selected design tool is a different design tool than the first designer-selected design tool.

5. The method of claim 1 , wherein the updated web application design presents the modification made by the developer as a suggestion, which the designer can approve or reject.

6. The method of claim 1 , wherein the updated web application design presents the modification made by the developer as a suggestion, which the designer can approve or reject, when the modification made by the developer is a visual modification.

7. The method of claim 1 , comprising:

generating, based on the object model, the web application.

8. The method of claim 7 , wherein generating the web application includes:

selecting a blueprint associated with a framework and including a file with an identified portion of code to be populated, the framework being that of the web application being generated;

generating a portion of code from the object model; and

inserting the portion of code generated from the object model into the identified portion of code to be populated, the file comprised within the generated web application.

9. The method of claim 1 , comprising:

receiving custom code written by the developer;

subsequent to receiving the custom code:

updating the object model to include the modification to the web application design; and

generating the web application including the custom code.

10. The method of claim 1 , wherein the object model includes a set of .json (JavaScript Object Notation) files that contain JSON object models describing portions of the web application.

11. A system comprising:

a processor;

a memory storing instructions that, when executed, cause the system to:

obtain, by a plugin to a first designer-selected design tool, a web application design, the web application design generated by a designer using the first designer-selected design tool;

access, by a first configurator, an object model based on the web application design;

generate, by the first configurator and based on the object model, for presentation to a developer in a first developer-selected, integrated development environment, the web application design, wherein the designer and the developer are collaborators on a web application;

access, by one or more of the first configurator and a second configurator, an updated object model, the updated object model generated subsequent to the developer making, via the first developer-selected, integrated development environment, a modification to the web application design, the second configurator associated with a second developer-selected, integrated development environment; and

generate, by one or more of the first configurator and the second configurator, an updated web application design based on the updated object model, the updated web application design presented via one or more of the first developer-selected, integrated development environment and the second developer-selected, integrated development environment.

12. The system of claim 11 , the memory further storing instructions that, when executed, cause the system to:

generate, by the plugin, the object model based on the web application design.

13. The system of claim 11 , the memory further storing instructions that, when executed, cause the system to:

receive, by the first configurator, the modification to the web application design made by the developer; and

update, by the first configurator, the object model to include the modification.

14. The system of claim 11 , the memory further storing instructions that, when executed, cause the system to: present, to the designer via a second designer-selected design tool, the web application design via a second designer-selected design tool, wherein the first designer-selected design tool is selected from a group consisting of Sketch™, Adobe XD™, Invision™, Axure™, and UXPin™, and wherein the second designer-selected design tool is a different design tool than the first designer-selected design tool.

15. The system of claim 11 , wherein the updated web application design presents the modification made by the developer as a suggestion, which the designer can approve or reject.

16. The system of claim 11 , wherein the updated web application design presents the modification made by the developer as a suggestion, which the designer can approve or reject, when the modification made by the developer is a visual modification.

17. The system of claim 11 , the memory further storing instructions that, when executed, cause the system to:

generate, based on the object model, the web application.

18. The system of claim 17 , wherein generating the web application includes:

selecting a blueprint associated with a framework and including a file with an identified portion of code to be populated, the framework being that of the web application being generated;

generating a portion of code from the object model; and

inserting the portion of code generated from the object model into the identified portion of code to be populated, the file comprised within the generated web application.

19. The system of claim 11 , the memory further storing instructions that, when executed, cause the system to:

receive custom code written by the developer;

subsequent to receiving the custom code:

update the object model to include the modification to the web application design; and

generate the web application including the custom code.

20. The system of claim 11 , wherein the object model includes a set of .json (JavaScript Object Notation) files that contain JSON object models describing portions of the web application.

Assignments (3)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Mar 7, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066762/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: KIRILOV, RADOSLAV; LEVY, DANIEL; ZHEKOV, IVAN
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 060493/0953 →
Continuity (2)
Continuation 16863889 · Apr 30, 2020
Provisional Application 62843074 · May 3, 2019
Cited By (1)
US 12,693,837