IP Library Granted Patent US 11,194,458
Granted Patent B2
US 11,194,458 · App. 17/316,635 · Granted Dec 7, 2021

Generating and modifying content using data structures

Inventors: Bradley Stephen Daily (Brooklyn, NY); Jacob Davidson (Atlanta, GA); Lara Adrian Hercules (Atlanta, GA); Stephanie Coleman (Brooklyn, NY); Alexandra Grace Kelly (Decatur, GA); Natalie Irene Ung (Brooklyn, NY)
Assignee: The Rocket Science Group LLC
G06F3/04845G06F3/0482G06F8/65
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,194,458
App. No.
17/316,635
Granted
Dec 7, 2021
Kind
B2
Abstract

A content editor for generating content including root blocks and nested blocks is disclosed. The content editor can generate a deployment that includes the content. The content editor can generate user interface code configured to edit the content. The content editor can receive updates to the content and update the root blocks and nested blocks. The updated root blocks and nested blocks can be used to generate updated content for editing and/or can be deployed to end-users.

Claims (74)

1. A system for generating a deployment, comprising:

a data store; and

at least one computing device in communication with the data store, the at least one computing device being configured to:

generate the deployment comprising a root block and a plurality of nested blocks;

generate user interface code configured to edit content for the deployment by:

parsing the root block and the plurality of nested blocks;

generating the user interface code based on the root block and the plurality of nested blocks; and

causing a user interface to be rendered on a display according to the user interface code;

receive a plurality of edits to the content for the deployment via the user interface code over a period of time; and

subsequent to each of the plurality of edits:

apply a respective edit to at least one of: the root block and at least one of the plurality of nested blocks;

generate updated user interface code based on the root block and the plurality of nested blocks; and

render an updated user interface on the display according to the updated user interface code.

2. The system of claim 1 , wherein the at least one computing device is further configured to:

receive an election of a particular deployment type of a plurality of deployment types;

identify a renderer of a plurality of renderers based on the particular deployment type; and

generate deployment output data, via the renderer, corresponding to the particular deployment type from the root block and the plurality of nested blocks.

3. The system of claim 2 , wherein the deployment output data comprises second user interface code and a first code language of the user interface code differs from a second code language of the second user interface code.

4. The system of claim 1 , wherein the deployment further comprising a plurality of root blocks that includes the root block.

5. The system of claim 1 , wherein the at least one computing device is further configured to store the deployment along with the root block and the plurality of nested blocks in the data store.

6. The system of claim 1 , wherein a particular one of the plurality of edits corresponds to a global change for a particular type of nested blocks and the at least one computing device is further configured to modify a subset of the plurality of nested blocks according to the global change by iterating through the nested blocks, wherein the subset corresponds to the particular type of nested blocks.

7. The system of claim 1 , wherein a particular one of the plurality of edits corresponds to a global change for a particular type of nested blocks and the at least one computing device is further configured to modify an element of the root block according to the global change.

8. The system of claim 7 , wherein the at least one computing device is further configured to:

iterate through the plurality of nested blocks; and

generate a plurality of intermediary nested blocks by applying a plurality of global styles from the root block to the plurality of nested blocks, where the updated user interface code is generated based on the plurality of intermediary nested blocks.

9. The system of claim 1 , wherein the at least one computing device is further configured to:

perform a spell check on content associated with at least one of: the root block and the plurality of nested blocks;

identify at least one misspelled word in the content; and

generate the user interface code with code to highlight the at least one misspelled word in the content.

10. A method for generating a deployment, comprising:

generating, via the at least one computing device, a user interface code configured to edit content for the deployment comprising a root block and a plurality of nested blocks by;

parsing the root block and the plurality of nested blocks;

generating the user interface code based on the root block and the plurality of nested blocks; and

causing a user interface to be rendered on a display according to the user interface code;

receiving, via the at least one computing device, at least one edit to the content for the deployment via the user interface code over a period of time; and

subsequent to the at least one edit:

applying, via the at least one computing device, the at least one edit to at least one of: the root block and at least one of the plurality of nested blocks;

generating, via the at least one computing device, updated user interface code based on the root block and the plurality of nested blocks; and

rendering, via the at least one computing device, an updated user interface on the display according to the updated user interface code.

11. The method of claim 10 , further comprising:

receiving, via the at least one computing device, an election of a particular deployment type of a plurality of deployment types;

identifying, via the at least one computing device, a renderer of a plurality of renderers corresponding to the particular deployment type; and

generating, via the at least one computing device and the renderer, deployment output data corresponding to the particular deployment type from the root block and the plurality of nested blocks.

12. The method of claim 11 , further comprising:

receiving, via the at least one computing device, a second election of a second particular deployment type of the plurality of deployment types, the second particular deployment type differing from the particular deployment type;

identifying, via the at least one computing device, a second renderer of a plurality of renderers corresponding to the particular deployment type, the second renderer differing from the renderer; and

generating, via the at least one computing device and the second renderer, second deployment output data corresponding to the second particular deployment type from the root block and the plurality of nested blocks.

13. The method of claim 12 , wherein a first coding language corresponding to the deployment output data differs from a second coding language corresponding to the second deployment output data.

14. The method of claim 10 , wherein the deployment further comprising a plurality of root blocks that includes the root block.

15. A non-transitory computer-readable medium embodying a program for generating a deployment, wherein the program, when executed by at least one computing device, causes the at least one computing device to:

generate the deployment comprising root block and a plurality of nested blocks;

generate a user interface code configured to edit content for the deployment by:

parsing the root block and the plurality of nested blocks;

generating the user interface code based on the root block and the plurality of nested blocks; and

causing a user interface to be rendered on a display according to the user interface code;

receive a plurality of edits to the content for the deployment via the user interface code over a period of time;

apply the plurality of edits to at least one of: the root block and at least one of the plurality of nested blocks;

generate updated user interface code based on the root block and the plurality of nested blocks; and

render an updated user interface on the display according to the updated user interface code.

16. The non-transitory computer-readable medium of claim 15 , wherein the user interface code is represented by a different format than the root block and the plurality of nested blocks.

17. The non-transitory computer-readable medium of claim 15 , wherein the root block and the plurality of nested blocks are stored as a data in data structures.

18. The non-transitory computer-readable medium of claim 15 , wherein applying the plurality of edits comprises the program causing the at least one computing device to:

determine that a global update option been selected for any of the plurality of edits; and

in response to the global update option being selected, update the root block to according to a subset of the plurality of edits.

19. The non-transitory computer-readable medium of claim 15 , wherein applying the plurality of edits comprises the program causing the at least one computing device to:

determine that a global update option been selected;

in response to the global update option being selected:

iterate through the plurality of nested blocks; and

in each iteration for a respective block:

determine whether any of the plurality of edits correspond to the respective block; and

in response to a subset of the plurality of edits corresponding to the respective block, apply the subset of the plurality of edits to the respective block.

20. The non-transitory computer-readable medium of claim 15 , wherein applying the plurality of edits comprises the program causing the at least one computing device to:

determine that a global update option is unselected for a particular edit of the plurality of edits corresponding to a particular nested block; and

in response to the global update option being unselected, apply the particular edit to the particular nested block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2022
From: THE ROCKET SCIENCE GROUP, LLC
To: INTUIT INC.
Reel/Frame 061968/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2021
From: DAILY, BRADLEY STEPHEN; DAVIDSON, JACOB; HERCULES, LARA ADRIAN; COLEMAN, STEPHANIE; KELLY, ALEXANDRA GRACE; UNG, NATALIE IRENE
To: THE ROCKET SCIENCE GROUP LLC
Reel/Frame 056540/0059 →
Continuity (2)
Provisional Application 63022460 · May 9, 2020
Related Publication 20210349614A1 · Nov 11, 2021