Cross-Platform UI Generation From Linked View And Data Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in creating and updating user interfaces (UIs) for multiple operating systems, requiring significant programming knowledge and effort, leading to increased development and maintenance costs, as well as user inconvenience due to the need for separate apps and updates on different devices.

Innovation Solution

A system utilizing a creator app to generate a universal configuration data file that defines UI appearance and behavior, compatible with different operating systems, allowing for easy creation and update of UIs without programming, using a scalable data structure that includes definitions of GUI elements and data requests, and is supported by a configuration server to generate UIs on various devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a developer writes a native app for each operating system separately, then the app can access device native features and hardware efficiently, but the development time and programming effort increase significantly

Engineering Contradiction:
Improveaccess to native featuresVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a configuration file as an intermediary that describes the UI layout and data structure in a platform-independent way. This configuration file serves as a mediator between the developer's intent and the native OS-specific implementation, allowing the same source to generate different native apps for different operating systems without requiring separate programming for each platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses code generation to create platform-specific native apps by copying and transforming a universal configuration into OS-specific code. The configuration file is processed by a code generator that produces native application code for the target operating system, effectively copying the universal design into platform-specific implementations without manual rewriting.

Inventive Principle:
Principle #26Copying

2Reliability

If a developer maintains separate code bases for different operating systems, then each app can be optimized for its platform, but the maintenance cost and complexity increase

Engineering Contradiction:
Improveplatform optimizationVSAvoidcode base complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal configuration file format that can describe UI layouts and data structures applicable to multiple operating systems. This single universal configuration serves multiple purposes: it defines the app architecture, specifies platform-independent data structures, and provides the basis for generating code for different OSes, thereby reducing the number of separate code bases from multiple to one.

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

Solution Approach 2:

The patent segments the app into two distinct parts: a universal configuration file containing platform-independent UI and data structure definitions, and platform-specific generated code. This segmentation separates the common universal logic from the platform-specific implementation details, making maintenance simpler as updates to the universal configuration automatically propagate to all platforms through code generation.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If a developer writes separate updates for each operating system, then each update can be tailored to platform specifics, but the update process becomes cumbersome and time-consuming

Engineering Contradiction:
Improveplatform-specific customizationVSAvoidupdate speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by defining all UI layouts and data structures in advance within the universal configuration file before any platform-specific code is generated. When an update is needed, the developer modifies the universal configuration once, and the code generator automatically produces updated platform-specific code, eliminating the need to manually create and manage separate update versions for each operating system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the update process for all operating systems into a single operation by maintaining a single universal configuration file that contains all platform-independent definitions. Updating this single configuration file simultaneously updates all platform-specific implementations, combining what would otherwise be multiple separate update tasks into one unified action that improves productivity while preserving platform-specific customization through the code generation process.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of manufacture

If a developer uses web apps instead of native apps, then the development process is simplified and updates are easier, but the app performance and access to native features are limited

Engineering Contradiction:
Improvedevelopment easeVSAvoidapp performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent uses code generation to copy and transform the universal configuration into native application code that leverages platform-specific APIs and hardware capabilities. This generated native code preserves the development simplicity of web-app-like configurations while achieving native app performance by compiling the configuration into optimized platform-specific binaries that can directly access device hardware and features.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP4042272B1User interface generation
Publication Date: 2025.07.02 WANILLA HOLDINGS LTD
  • EP4042272B1 patent drawingFigure 1
  • EP4042272B1 patent drawingFigure 2
  • EP4042272B1 patent drawingFigure 3

AI summary

A data structure for use in creating a computer-generated user interface (UI) is described. The data structure comprises: a UI Layer defining UI elements of the UI, the UI Layer comprising: a screen which provides a model representation of a plurality of UI elements that make up the UI to be displayed in a page of the UI; the screen comprising: a plurality of View Instructions associated with the screen which define the plurality of UI elements and how the plurality of UI elements is to be configured and displayed within the screen; a Data Layer defining a mechanism for obtaining data required to populate the UI elements, the Data Layer comprising: a plurality of data retrieving models each defining data to populate a corresponding UI element by specifying a remote communications address where the data is to be retrieved from; wherein each View Instruction of the plurality of View Instructions is linked to a data retrieving model such that, in use, data retrieved by the data retrieving model can be used to populate the associated View Instruction.