Automatic Application Generation from Data Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing developer environments require extensive coding expertise and knowledge of programming languages, making it difficult for users without programming experience to create applications efficiently and effectively.

Innovation Solution

A system and method for automatically generating applications from data within a developer environment, where data types are inferred and controls are automatically generated, allowing users to modify visual elements, layout, and data access without writing code, using a user-friendly interface similar to Microsoft Office applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional developer environments are used to create applications, then applications can be created with full functionality and control, but extensive coding expertise and programming knowledge are required

Engineering Contradiction:
Improveapplication functionalityVSAvoidcoding expertise requirement
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a visual designer interface as an intermediary between the user and the code generation process. This designer allows users to configure application behavior, data access, and UI elements through visual controls and properties rather than direct coding, while still generating functional applications with full capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system automatically generates code and configures applications based on user selections in the visual designer, without requiring users to manually write code. The generation process infers data types from source data and automatically creates appropriate controls and event handlers

Inventive Principle:
Principle #25Self-service

2Reliability

If manual coding is used to create applications, then precise control over application behavior is achieved, but development time and complexity increase

Engineering Contradiction:
Improveapplication behavior controlVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating code templates, data access layers, and event handlers based on the visual design configuration. This preliminary code generation provides a reliable foundation that can be further customized without starting from scratch

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system allows users to control application behavior by modifying parameters and properties in the visual designer rather than changing code structure. Users can adjust data access methods, control properties, and event bindings through parameter configuration

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If data types are manually specified in developer environments, then data accuracy and type safety are improved, but user effort and complexity increase

Engineering Contradiction:
Improvedata type accuracyVSAvoiddata configuration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system automatically infers data types from the source data structure and content without requiring manual specification by the user. The inference process analyzes the source data format and determines appropriate data types for generating controls and data access code

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If applications are created with extensive manual configuration, then customization and control are maximized, but processor cycles and machine resources are consumed

Engineering Contradiction:
Improveapplication customizationVSAvoidprocessor cycle consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system allows users to specify only the local qualities and properties that need customization in the visual designer, while automatically generating the remaining application structure. This selective configuration reduces processing requirements compared to manual end-to-end configuration

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10466971B2Generation of an application from data
Publication Date: 2019.11.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10466971B2 patent drawing
  • US10466971B2 patent drawing
  • US10466971B2 patent drawing

AI summary

Examples of the disclosure provide for receiving a data set at a design surface from a data source, and inferring a first data type from the data set. A first control type is generated for the inferred first data type. A second data type is inferred from the data set and a second control type is generated for the inferred second data type, with the first control type and the second control type being different. A layout is generated for an application document that includes the first control type and the second control type.