IP Library Granted Patent US 11,573,690
Granted Patent B2
US 11,573,690 · App. 17/513,006 · Granted Feb 7, 2023

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: Intuit Inc.
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,573,690
App. No.
17/513,006
Granted
Feb 7, 2023
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 (70)

1. A system for modifying a targeted campaign, 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 targeted campaign comprising a root block and a plurality of nested blocks;

generate user interface code configured to edit the targeted campaign based on parsing the root block and the plurality of nested blocks;

identify a hover event over an edge of a user interface component corresponding to a particular nested block of the plurality of nested blocks;

update the user interface component to include a resize interface component to facilitate resizing the user interface component;

receive a selection of the resize interface component and at least one additional input;

responsive to the selection, update the user interface component in real-time to adjust according to the at least one additional input; and

update at least one nested block of the plurality of nested blocks according to selection and the at least one additional input, the at least one nested block comprising the particular nested block.

2. The system of claim 1 , wherein the at least one computing device is further configured to generate an updated user interface comprising the user interface component sized according to the updated at least one nested block.

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

cause a user interface to be rendered on a display according to the user interface code.

4. The system of claim 1 , wherein the user interface code is generated based on a plurality of guidelines and at least one computing device is further configured to generate, via the user interface code, a plurality of editing restrictions according to the plurality of guidelines.

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

analyze historical data corresponding to nested and root blocks from a plurality of targeted campaigns and performance metrics for the plurality of targeted campaigns; and

generate the plurality of guidelines based on the historical data.

6. The system of claim 4 , wherein at least one of the plurality of guidelines corresponds to at least one of: spacing of text, spacing of columns, spacing of rows, sizing ratios of components, and restricting of a color pallet.

7. The system of claim 1 , wherein the plurality of nested blocks comprises a plurality of composite blocks that each depend from a respective at least one primitive block.

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

receive a selection of a property for a component corresponding to one of the plurality of nested blocks;

determine at least one other existing property corresponding to a different one of the plurality of nested blocks; and

adjusting the at least one other existing property based on the selection of the property based on a plurality of guidelines.

9. A method for modifying a targeted campaign, comprising:

generating, via at least one computing device, the targeted campaign comprising a root block and a plurality of nested blocks;

generating, via at least one computing device, user interface code configured to edit the targeted campaign based on parsing the root block and the plurality of nested blocks;

receiving a request to edit a component corresponding to a particular nested block of the plurality of nested blocks;

determining a plurality of properties for the component based on a block type of the particular nested block;

generating a respective set of options for individual ones of the plurality of properties based on a current value of the individual ones of the plurality of properties;

receiving, via at least one computing device, a selection of a particular option from the respective set of options for at least one of the plurality of properties;

responsive to the selection, updating, via at least one computing device, at least one of: the root block and individual ones of the plurality of nested blocks according to the selection of the particular option; and

generating, via the at least one computing device, an updated user interface comprising the component modified according to the particular option selected.

10. The method of claim 9 , wherein updating the at least one of: the root block and the individual ones of the plurality of nested blocks according to the selection of the particular option comprises:

determining, via the at least one computing device, whether a global update option been selected;

in response to the global update option being selected, updating, via the at least one computing device, the root block to specify the particular option for the block type; and

in response to the global update option being unselected, updating, via the at least one computing device, the particular nested block to specify the particular option for the block type.

11. The method of claim 9 , wherein updating the at least one of: the root block and the individual ones of the plurality of nested blocks according to the selection of the particular option comprises:

determining, via the at least one computing device, whether a global update option been selected;

in response to the global update option being selected:

iterating, via the at least one computing device, through the plurality of nested blocks; and

in each iteration for a respective block:

determining, via the at least one computing device, whether the respective block is of the block type; and

in response to the respective block being of the block type, updating, via the at least one computing device, the respective block to specify the particular option; and

in response to the global update option being unselected, updating, via the at least one computing device, the particular nested block to specify the particular option for the block type.

12. The method of claim 9 , further comprising storing, via the at least one computing device, the targeted campaign along with the root block and the plurality of nested blocks in a structured database.

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

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

generate user interface code configured to edit the targeted campaign based on parsing the root block and the plurality of nested blocks;

identify a hover event over an edge of a user interface component corresponding to a particular nested block of the plurality of nested blocks;

update the user interface component to include a resize interface component to facilitate resizing the user interface component;

receive a selection of the resize interface component and at least one additional input;

responsive to the selection, update the user interface component in real-time to adjust according to the at least one additional input;

update at least one nested block of the plurality of nested blocks according to selection and the at least one additional input, the at least one nested block comprising the particular nested block; and

generate an updated user interface comprising the user interface component sized according to the updated at least one nested block.

14. The non-transitory computer-readable medium of claim 13 , wherein the program further causes at least one computing device to

cause a user interface to be rendered on a display according to the user interface code.

15. The non-transitory computer-readable medium of claim 13 , wherein the user interface code is generated based on a plurality of guidelines and the program further causes the at least one computing device to generate, via the user interface code, a plurality of editing restrictions according to the plurality of guidelines.

16. The non-transitory computer-readable medium of claim 13 , wherein the program further causes at least one computing device to:

analyze historical data corresponding to nested and root blocks from a plurality of targeted campaigns and performance metrics for the plurality of targeted campaigns; and

generate a plurality of guidelines based on the historical data.

17. The non-transitory computer-readable medium of claim 16 , wherein at least one of the plurality of guidelines corresponds to at least one of: spacing of text, spacing of columns, spacing of rows, sizing ratios of components, and restricting of a color pallet.

18. The non-transitory computer-readable medium of claim 13 , wherein the plurality of nested blocks comprises a plurality of composite blocks that each depend from a respective at least one primitive block.

19. The non-transitory computer-readable medium of claim 13 , wherein the program further causes at least one computing device to:

receive a selection of a property for a component corresponding to one of the plurality of nested blocks;

determine at least one other existing property corresponding to a different one of the plurality of nested blocks; and

adjusting the at least one other existing property based on the selection of the property based on a plurality of guidelines.

20. The non-transitory computer-readable medium of claim 13 , wherein the program further causes at least one computing device to:

receive a selection of a value of a property for a component corresponding to one of the plurality of nested blocks, the selection adjusting a value of the property in a particular direction;

determine a plurality of other properties corresponding to a plurality of different ones of the plurality of nested blocks; and

adjusting a respective value of the plurality of other properties in the particular direction based on the selection of the property based on a plurality of guidelines.

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 Nov 16, 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 058146/0527 →
Continuity (3)
Continuation 17316635 · May 10, 2021
Provisional Application 63022460 · May 9, 2020
Related Publication 20220164092A1 · May 26, 2022