Application Template Generation From Screenshots and Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in creating applications that combine desired components and designs efficiently, especially for those unfamiliar with coding, as starting from scratch is laborious and starting from data lacks customization options.

Innovation Solution

A computerized method that extracts content entities from various input types, such as images or digital documents, normalizes them into a standard schema, and generates an application template using machine learning models and APIs, allowing users to create applications without extensive coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers start from data to quickly obtain basic components, then productivity is improved, but customization capability deteriorates

Engineering Contradiction:
Improvespeed of obtaining basic componentsVSAvoidcustomization capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system captures screenshots of existing application interfaces and uses these as templates to generate new applications. By copying the visual structure from screenshots rather than starting from predefined data templates, the system enables rapid reproduction of desired interfaces while maintaining full customization potential through the screenshot-based approach.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If developers start from scratch to achieve precise design control, then customization capability is improved, but productivity deteriorates

Engineering Contradiction:
Improvedesign controlVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by automatically analyzing screenshots, identifying UI components, and generating application templates before the developer begins coding. This pre-processing work includes segmenting the screenshot into component groups, identifying component types, and determining locations, thereby reducing the time and effort required for subsequent development while maintaining full design control.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If non-programmers attempt to develop applications manually, then ease of operation deteriorates, but device complexity is reduced

Engineering Contradiction:
Improvecoding requirementVSAvoiduser friendliness
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The system replaces the mechanical process of manual coding with an automated image-based approach. Instead of requiring users to write code, the system uses computer vision and machine learning to analyze screenshots and automatically generate application templates, thereby substituting a complex technical skill (coding) with a simple operation (taking a screenshot).

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

Data Source

PatentEP4409396B1Creating applications and templates based on different types of input content
Publication Date: 2025.11.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4409396B1 patent drawingFigure 1
  • EP4409396B1 patent drawingFigure 2
  • EP4409396B1 patent drawingFigure 3A

AI summary

The disclosure herein describes generating an application from input content. Input content of a content type is obtained, such as an image file, digital document file, or the like. A content data extractor is selected from a set of content data extractors based on the content type. A set of content entities is extracted from the obtained input content using the selected content data extractor, such as text labels, text boxes, buttons, or the like. The set of content entities are normalized according to a standard interface schema and an application template is generated using the normalized set of content entities, whereby an application can be developed using the generated application template. The disclosure enables application interfaces to be designed using a variety of methods and for those different types of designs to be efficiently converted to a functional application.