Visual Programming Snippet Reuse in Automation Tools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CRM software tools require significant programming acumen and effort to create complex automated tasks, such as email marketing campaigns, and lack user-friendly capabilities for reusing complex visual programming logic across different programs, leading to tedious and error-prone recreation of structures.

Innovation Solution

A mechanism within an automation building tool that allows users to save and reuse snippets of visual programming logic, validated at the time of selection, and update them efficiently, ensuring validity for incorporation into different programs, using a directed acyclic graph structure and a specialized snippet build-mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users create complex visual programming logic structures in automation building tools, then the functionality and capability of automated tasks are improved, but the time and effort required to create and maintain these structures increases significantly

Engineering Contradiction:
Improvefunctionality of automated tasksVSAvoidtime to create and maintain structures
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides complex visual programming logic into reusable snippets that can be independently created, stored, and applied across multiple programs. Users can segment their automation logic into modular units (snippets) that capture specific functional blocks, reducing the time required to build complex automated tasks by reusing these pre-built segments rather than creating everything from scratch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables users to copy visual programming logic snippets across different programs and contexts. Once a snippet is created and validated, it can be instantiated multiple times in different programs, eliminating the need to recreate the same logic structures repeatedly and significantly reducing development time while maintaining consistency across automations.

Inventive Principle:
Principle #26Copying

2Productivity

If users reuse complex visual programming logic across different programs, then productivity and efficiency are improved, but the complexity of managing and updating these structures increases

Engineering Contradiction:
Improveefficiency of program creationVSAvoidcomplexity of managing structures
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements validation mechanisms that provide immediate feedback when snippets are created, modified, or applied. The system validates snippet syntax, connectivity, and logical correctness at the point of creation and whenever updates occur, notifying users of any issues before they propagate across programs. This feedback loop simplifies management by catching errors early rather than requiring complex manual tracking of snippet usage across multiple programs.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates a universal snippet management system that handles creation, storage, validation, and propagation of visual programming logic across all programs within the automation tool. This centralized system provides consistent interfaces and operations for managing snippets regardless of the specific program context, reducing the perceived complexity by presenting a unified approach to snippet management throughout the platform.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If users manually recreate complex visual programming logic structures in different programs, then customization and adaptability are maintained, but errors and inconsistencies increase

Engineering Contradiction:
Improvecustomization capabilityVSAvoidconsistency of program structures
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent enables precise copying of validated visual programming logic snippets across programs, ensuring that the exact same logic structure is replicated without manual transcription errors. The copying mechanism preserves the original snippet's validation state and logical integrity, maintaining consistency across programs while still allowing customization through parameter binding and contextual adaptation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the manual mechanical process of recreating logic structures with an automated system that handles snippet creation, validation, storage, and propagation. Instead of users manually rebuilding the same logic structures in each program (prone to errors), the system automates this process through validated snippets that can be instantly applied, eliminating human error while preserving adaptability through parameterized interfaces.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Manufacturing precision

If the automation building tool requires programming acumen to create automated tasks, then the precision and control of automation logic are improved, but the ease of use and accessibility deteriorate

Engineering Contradiction:
Improveprecision of automation logicVSAvoidease of use of building tool
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent introduces pre-built, validated logic snippets that can be applied without requiring users to understand the underlying programming complexity. These snippets act as ready-to-use building blocks that encapsulate complex logic patterns, allowing users to achieve precise automation functionality through simple selection and application of validated snippets rather than manual programming, thereby reducing the learning curve while maintaining logic precision.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent introduces snippets as an intermediary layer between the user and the complex programming logic. Users interact with high-level snippet interfaces that hide the underlying programming complexity, while the system handles the sophisticated logic validation and execution. This intermediary approach allows non-programmers to create precise automations by working with validated snippets rather than raw code, bridging the gap between ease of use and logical precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11379192B2Saving a snippet of visual programming logic for reuse amongst programs created using an automation building tool
Publication Date: 2022.07.05 SALESFORCE INC
  • US11379192B2 patent drawing
  • US11379192B2 patent drawing
  • US11379192B2 patent drawing

AI summary

Described is a mechanism that provides the ability to save a snippet of visual programming logic within an automation building tool to be reused amongst different programs. The programming logic may be represented as a directed acyclic graph (DAG) such that the nodes of the graph correspond to various operations and the edges of the graph correspond to the logic flow of the program. The mechanism may provide a new capability to save a snippet of the visual programming logic while adhering to the requirements of a DAG structure. For example, a user may copy a valid substructure of visual programming logic in response to a validation that the programming logic may be inserted into another program. Accordingly, the mechanism provides an efficient and user-friendly mechanism to save portions of visual programming logic for reuse within an automation building tool.