IP Library Granted Patent US 12,353,826
Granted Patent B2
US 12,353,826 · App. 18/747,854 · Granted Jul 8, 2025

Dynamic presentation generation

Inventors: Lisa Ragan (San Diego, CA); Alex Morrow (Chicago, IL); Ian White (Chicago, IL)
Assignee: Seismic Software, Inc.
G06F40/186G06F40/197
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,353,826
App. No.
18/747,854
Granted
Jul 8, 2025
Kind
B2
Abstract

Dynamic presentation generation is disclosed, including: receiving a selection of a presentation template, wherein the presentation template references a set of assets stored at a content storage; selecting a subset of the set of assets based at least in part on a set of user inputs; and dynamically generating a presentation using at least the presentation template, the subset of the set of assets, and the set of user inputs.

Claims (62)

1. A system, comprising:

a content storage configured to store a plurality of assets; and

one or more processors configured to:

receive a selection of a presentation template, wherein the presentation template is file type agnostic, wherein the presentation template includes a series of at least a first section and a second section, wherein the first section of the presentation template references a first subset of candidate assets from the content storage and the second section of the presentation template references a second subset of candidate assets from the content storage;

receive a set of responses to a set of preliminary questions associated with the presentation template;

present, at a presentation assembly user interface, corresponding to the first section of the presentation template, a first filtered version of the first subset of candidate assets referenced by the first section, wherein the first filtered version comprises a first portion of the first subset of candidate assets whose metadata matches the set of responses and hides a second portion of the first subset of candidate assets whose metadata does not match the set of responses;

receive, at the presentation assembly user interface, a first user input to select a first candidate asset from the first filtered version of the first subset of candidate assets to include in the first section of the presentation template;

present, at the presentation assembly user interface, corresponding to the first section of the presentation template, a second filtered version of the second subset of candidate assets referenced by the second section, wherein the second filtered version comprises a first portion of the second subset of candidate assets whose metadata matches the set of responses and hides a second portion of the second subset of candidate assets whose metadata does not match the set of responses;

receive, at the presentation assembly user interface, a second user input to select a second candidate asset from the second filtered version of the second subset of candidate assets to include in the second section of the presentation template; and

dynamically generate a presentation of a specified file type using at least the presentation template and a set of user inputs including the first and second user inputs, wherein the presentation of the specified file type comprises the first candidate asset in the specified file type in the first section of the presentation template and the second candidate asset in the specified file type in the second section of the presentation template.

2. The system of claim 1 , wherein an asset stored at the content storage is tagged with one or more content properties.

3. The system of claim 1 , wherein the one or more processors are further configured to:

receive, via a template designer user interface, the set of preliminary questions to be associated with the presentation template;

receive a selection of a new section to add to the presentation template; and

receive configurations of references to a third subset of candidate assets stored at the content storage to associate with the new section.

4. The system of claim 3 , wherein to receive the configurations of the references to the third subset of candidate assets stored at the content storage to associate with the new section comprises to receive manual selections of the third subset of candidate assets.

5. The system of claim 3 , wherein to receive the configurations of the references to the third subset of candidate assets stored at the content storage to associate with the new section comprises to receive a rule comprising a condition that identifies the third subset of candidate assets.

6. The system of claim 3 , wherein the one or more processors are further configured to present, at the presentation assembly user interface, the set of preliminary questions.

7. The system of claim 1 , wherein the one or more processors are further configured to:

determine that a selected asset comprises an embedded variable;

prompt, at the presentation assembly user interface, for a value corresponding to the embedded variable; and

update one or more instances of the embedded variable within the selected asset with the value.

8. The system of claim 1 , wherein the one or more processors are further configured to:

determine that a selected candidate asset comprises a mini app;

present, at the presentation assembly user interface, a form that prompts for a set of values associated with the mini app;

receive the set of values through the form; and

use the mini app to execute a set of logic based at least in part on the set of values to generate a new asset to be included in the presentation.

9. The system of claim 1 , wherein the one or more processors are further configured to:

receive, via the presentation assembly user interface, an indication to add an unreferenced asset; and

receive an uploaded asset to be included in the presentation.

10. The system of claim 1 , wherein to dynamically generate the presentation comprises to:

receive the specified file type of the presentation to generate;

dynamically obtain the first candidate asset and the second candidate asset from the content storage; and

use a construction engine corresponding to the specified file type to translate the first candidate asset, the second candidate asset, and the set of user inputs into the presentation of the specified file type according to the presentation template.

11. The system of claim 10 , wherein the one or more processors are further configured to:

determine that the first candidate asset obtained from the content storage has been updated; and

output a presentation that highlights one or more visual differences between a new version of the first candidate asset and a previous version of the first candidate asset.

12. The system of claim 1 , wherein the one or more processors are further configured to store analytics associated with historical usage of the presentation template.

13. The system of claim 12 , wherein the one or more processors are further configured to recommend a third user input into an assembly being built from the presentation template based at least in part on the analytics.

14. A method, comprising:

receiving a selection of a presentation template, wherein the presentation template is file type agnostic, wherein the presentation template includes a series of at least a first section and a second section, wherein the first section of the presentation template references a first subset of candidate assets from a content storage and the second section of the presentation template references a second subset of candidate assets from the content storage;

receiving a set of responses to a set of preliminary questions associated with the presentation template;

presenting, at a presentation assembly user interface, corresponding to the first section of the presentation template, a first filtered version of the first subset of candidate assets referenced by the first section, wherein the first filtered version comprises a first portion of the first subset of candidate assets whose metadata matches the set of responses and hides a second portion of the first subset of candidate assets whose metadata does not match the set of responses;

receiving, at the presentation assembly user interface, a first user input to select a first candidate asset from the first filtered version of the first subset of candidate assets to include in the first section of the presentation template;

presenting, at the presentation assembly user interface, corresponding to the first section of the presentation template, a second filtered version of the second subset of candidate assets referenced by the second section, wherein the second filtered version comprises a first portion of the second subset of candidate assets whose metadata matches the set of responses and hides a second portion of the second subset of candidate assets whose metadata does not match the set of responses;

receiving, at the presentation assembly user interface, a second user input to select a second candidate asset from the second filtered version of the second subset of candidate assets to include in the second section of the presentation template; and

dynamically generating a presentation of a specified file type using at least the presentation template and a set of user inputs including the first and second user inputs, wherein the presentation of the specified file type comprises the first candidate asset in the specified file type in the first section of the presentation template and the second candidate asset in the specified file type in the second section of the presentation template.

15. The method of claim 14 , wherein an asset stored at the content storage is tagged with one or more content properties.

16. The method of claim 14 , further comprising:

receiving, via a template designer user interface, the set of preliminary questions to be associated with the presentation template;

receiving a selection of a new section to add to the presentation template; and

receiving configurations of references to a third subset of candidate assets stored at the content storage to associate with the new section.

17. The method of claim 16 , wherein receiving the configurations of the references to the third subset of candidate assets stored at the content storage to associate with the new section comprises receiving manual selections of the third subset of candidate assets.

18. The method of claim 16 , wherein receiving the configurations of the references to the third subset of candidate assets stored at the content storage to associate with the new section comprises receiving a rule comprising a condition that identifies the third subset of candidate assets.

19. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a selection of a presentation template, wherein the presentation template is file type agnostic, wherein the presentation template includes a series of at least a first section and a second section, wherein the first section of the presentation template references a first subset of candidate assets from a content storage and the second section of the presentation template references a second subset of candidate assets from the content storage;

receiving a set of responses to a set of preliminary questions associated with the presentation template;

presenting, at a presentation assembly user interface, corresponding to the first section of the presentation template, a first filtered version of the first subset of candidate assets referenced by the first section, wherein the first filtered version comprises a first portion of the first subset of candidate assets whose metadata matches the set of responses and hides a second portion of the first subset of candidate assets whose metadata does not match the set of responses;

receiving, at the presentation assembly user interface, a first user input to select a first candidate asset from the first filtered version of the first subset of candidate assets to include in the first section of the presentation template;

presenting, at the presentation assembly user interface, corresponding to the first section of the presentation template, a second filtered version of the second subset of candidate assets referenced by the second section, wherein the second filtered version comprises a first portion of the second subset of candidate assets whose metadata matches the set of responses and hides a second portion of the second subset of candidate assets whose metadata does not match the set of responses;

receiving, at the presentation assembly user interface, a second user input to select a second candidate asset from the second filtered version of the second subset of candidate assets to include in the second section of the presentation template; and

dynamically generating a presentation of a specified file type using at least the presentation template and a set of user inputs including the first and second user inputs, wherein the presentation of the specified file type comprises the first candidate asset in the specified file type in the first section of the presentation template and the second candidate asset in the specified file type in the second section of the presentation template.

Assignments (2)
SECURITY INTEREST Recorded Aug 27, 2026
From: SEISMIC SOFTWARE, INC.; HELIX SUB LLC; PERCOLATE INDUSTRIES, INC.
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 075808/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: RAGAN, LISA; MORROW, ALEX; WHITE, IAN
To: SEISMIC SOFTWARE, INC.
Reel/Frame 068298/0233 →
Continuity (2)
Provisional Application 63522305 · Jun 21, 2023
Related Publication 20240427984A1 · Dec 26, 2024
References Cited (10)
US 10162877B1 · Ferguson · 2018 [cited by examiner]
US 20080276164A1 · Bamford · 2008 [cited by examiner]
US 20140096015A1 · Grosz · 2014 [cited by examiner]
US 20140108043A1 · Ach · 2014 [cited by examiner]
US 20140222627A1 · Kukreja · 2014 [cited by examiner]
US 20140372415A1 · Fernandez-Ruiz · 2014 [cited by examiner]
US 20150248698A1 · Bhattacharjee · 2015 [cited by examiner]
US 20160110313A1 · Prakash · 2016 [cited by examiner]
US 20170177175A1 · Lai · 2017 [cited by examiner]
US 20220124055A1 · Sharifi · 2022 [cited by examiner]