A system comprising at least one hardware-based processor and memory, wherein the memory comprises processor-executable instructions encoded on a non-transient processor-readable media for creating an interactive demonstration presentation for an envisioned software product, wherein the processor-executable instructions, when executed by the processor, are configurable to cause:
- analyzing each filename of each image file of a plurality of image files for patterns of strings by breaking the filename into parts, each part providing a different type of configuration information about that image file to generate configuration information specified by the filename of that image file, wherein the analyzing comprises:
- sorting the filenames to determine an order that images are to be presented in;
- identifying a part of each filename that uniquely identifies each image file;
- determining groups of related image files;
- determining traits for each filename that allow corresponding image files to be presented and concealed in specific places at specific times;
- and
- determining parts of each filename that will allow the demonstration serving system to present information specific to the interactive demonstration presentation, wherein the different types of configuration information comprise:
- the order, the parts of each filename that uniquely identify each image file, the groups, the traits, and the parts of each filename that will allow the demonstration serving system to present information specific to the interactive demonstration presentation;
- storing a first subset of the configuration information as a data store of styling variable configuration information;
- processing the first subset of the configuration information to generate Cascading Style Sheets (CSS) files for the interactive demonstration presentation;
- storing a second subset of the configuration information as in-memory configuration information that is relevant to a configuration of the interactive demonstration presentation to be created;
- processing the in-memory configuration information to select appropriate templates for the interactive demonstration presentation;
- and
- based on the in-memory configuration information, the appropriate templates, the CSS files and the image files:
- programmatically creating and rendering Hypertext Markup Language (HTML) for the interactive demonstration presentation,
- wherein an HTML response that, when rendered in a browser of a user system, causes sets of images to be displayed in a certain order and timing, as appropriate to mimic features of the envisioned software product, when presented during the interactive demonstration presentation, and wherein the HTML response comprises:
- one or more of the Cascading Style Sheets (CSS) files and JavaScript code embedded in or attached to the HTML response.