Real-Time Incremental Editor for State-Preserving UI Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing user interface (UI) design tools often require recompilation or interruption of running applications to apply changes, leading to loss of state information and inefficient editing processes.

Innovation Solution

A real-time incremental editor system that receives editing inputs and updates the UI model data declaratively, allowing for immediate application of changes without recompilation or interruption, while maintaining state information through a data-driven UI approach.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If existing UI design tools are used to apply changes, then changes can be made to the UI, but recompilation or interruption of running applications is required leading to loss of state information

Engineering Contradiction:
ImproveUI editing capabilityVSAvoidstate information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system dynamically updates the UI model in real-time without requiring recompilation or interruption of the running application. The UI model is transformed and applied incrementally, allowing the application to remain running and preserve its state information while UI changes are being made.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A UI model transformation system acts as an intermediary between the UI design tool and the running application. This transformation system converts UI model changes into a format that can be applied without stopping the application, thereby preserving state information while enabling UI modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If existing UI design tools are used to apply changes, then changes can be made to the UI, but recompilation or interruption of running applications is required leading to inefficient editing processes

Engineering Contradiction:
ImproveUI editing capabilityVSAvoidediting efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The UI editing process continues without interruption to the running application. The system enables continuous UI model transformation and application, allowing developers to make changes while the application remains running, thus eliminating downtime and improving editing efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The UI model is transformed and prepared in advance using a data-driven approach, allowing changes to be applied immediately without requiring recompilation. This preliminary transformation step enables faster editing cycles and improves overall productivity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a data-driven UI approach is used, then real-time updates can be applied without recompilation, but the system complexity increases

Engineering Contradiction:
Improvereal-time update capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The UI model is segmented into discrete, transformable elements that can be independently modified and updated. This segmentation allows for granular control over UI changes, enabling real-time updates without requiring complex system-wide recompilation, thus managing complexity while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8756515B2Dynamic editors for functionally composed UI
Publication Date: 2014.06.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8756515B2 patent drawing
  • US8756515B2 patent drawing
  • US8756515B2 patent drawing

AI summary

In an embodiment, a computer system instantiates a real-time incremental editor configured to receive editing inputs that are to be applied to data of a data model, where the data model data declaratively defines a UI model that drives the behavior of a corresponding UI based on the UI model. The computer system receives an editing input from a user indicating one or more desired edits that are to be made to the UI and determines, based on the received editing inputs, which changes are to be made to the data model data to enact the desired changes in the UI. The computer system updates the UI in real-time based on the determined edits to the data model data and presents the updated UI in real-time without losing state information in the resultant UI.