Declarative Container Components for Application Builders

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional application builder systems restrict the integration of custom components, limiting user flexibility and creativity in designing applications, as they often have rigid formatting rules that interfere with declarative use.

Innovation Solution

An application builder server that supports declarative container components, allowing users to design and integrate custom container components with drag-and-drop functionality, enabling flexible organization and rendering of components within applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional application builder systems use rigid formatting rules, then system stability and control are improved, but user flexibility and adaptability deteriorate

Engineering Contradiction:
Improvesystem stabilityVSAvoiduser flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments components into container components and child components, allowing the container to enforce formatting rules while child components maintain their own properties. This segmentation enables the builder to control overall layout stability while allowing individual components to be flexible and customizable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the level of constraint applied to different components. Container components can specify formatting rules that are applied dynamically to child components, allowing the system to be rigid where needed for stability and flexible where needed for user customization.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If conventional application builder systems provide default components only, then system complexity is reduced, but functionality and versatility deteriorate

Engineering Contradiction:
Improvesystem complexityVSAvoidcomponent functionality
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The container component serves multiple functions: it acts as a formatting rule engine, a parent for child components, and a customizable element itself. This multi-functionality allows the system to provide versatile component functionality without proportionally increasing system complexity.

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

Solution Approach 2:

The system implements a nested structure where container components can contain child components, which themselves can be containers. This nesting allows complex functionality to be built from simple, reusable building blocks, maintaining system simplicity while achieving high versatility.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If conventional application builder systems allow custom components, then user adaptability is improved, but integration difficulty and system complexity worsen

Engineering Contradiction:
Improvecustom component integrationVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The container component acts as an intermediary between the rigid formatting system and custom child components. It translates user customization needs into formatting rules that the system can enforce, facilitating custom component integration without requiring complex integration logic throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Container components automatically manage their own formatting rules and child component relationships. When a user adds a child component to a container, the system self-manages the integration by applying the container's formatting rules to the child, reducing the complexity of manual integration for users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11782684B2Declarative container components for builders
Publication Date: 2023.10.10 SALESFORCE INC
  • US11782684B2 patent drawing
  • US11782684B2 patent drawing
  • US11782684B2 patent drawing

AI summary

An application builder system includes an application builder server and a client-side application builder. The application builder server may receive, from a tenant user device, a request to store a data structure corresponding to a container component. The application builder server may identify one or more attributes of the data structure corresponding to a declarative use feature of the server. The application builder server may determine whether the data structure satisfies the declarative use feature of the server based on the attributes. The application builder server may expose the container component on the user interface based on the declarative use feature of the server. As such, a developer may upload a custom container component for use in an application builder application. Other users may download the custom container components and use the custom container component on the application builder application.