GUI Layout Management via Static Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face challenges in maintaining the layout of graphical user interface (GUI) elements when the GUI is resized or displayed on different devices, requiring manual specification of layout relationships through programming code, which is time-consuming and prone to errors.

Innovation Solution

Implementing a system that infers layout relationships among GUI elements based on their initial layout, generates layout rules, and uses these rules to maintain the layout when changes occur, such as resizing or device changes, through a graph representation of the GUI.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual specification of layout relationships through programming code is used, then layout control precision is improved, but development time and complexity increase

Engineering Contradiction:
Improvelayout control precisionVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs self-service by automatically analyzing the initial GUI layout and generating layout rules without requiring manual programming. The layout management tool infers relationships among GUI elements and creates binding rules autonomously, eliminating the need for developers to manually specify layout constraints through code.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by analyzing the initial layout and generating layout rules during the GUI design phase. By pre-establishing binding rules that define relationships between GUI elements before runtime, the system enables automatic layout adaptation when the GUI is resized or displayed on different devices, avoiding the need for manual rule creation.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If manual specification of layout relationships through programming code is used, then layout control precision is improved, but error rate increases

Engineering Contradiction:
Improvelayout control precisionVSAvoiderror rate
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The system eliminates human error by performing self-service through automatic layout analysis and rule generation. The layout management tool objectively analyzes the initial GUI layout and generates binding rules without manual intervention, removing the possibility of errors introduced by manual programming.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback by automatically analyzing the actual layout relationships in the initial GUI and using this information to generate accurate binding rules. The system continuously monitors layout relationships and adjusts its rule generation based on the inferred relationships, ensuring high precision and reliability.

Inventive Principle:
Principle #23Feedback

3Productivity

If automatic layout inference is implemented, then development efficiency is improved, but layout control precision may deteriorate

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidlayout control precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system replaces the mechanical process of manual layout rule specification with an automated analysis mechanism. The layout management tool uses algorithmic analysis to infer layout relationships and generate binding rules automatically, substituting human manual work with a systematic computational approach that maintains precision while improving efficiency.

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

Solution Approach 2:

The system uses feedback from the initial layout analysis to continuously improve rule generation accuracy. By monitoring the inferred relationships and comparing them with the actual layout, the system refines its rule generation process, ensuring that automatic inference achieves the same precision as manual specification.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If layout rules are generated automatically, then device adaptability is improved, but system complexity increases

Engineering Contradiction:
Improvedevice adaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system achieves universality by creating a general-purpose layout management tool that can analyze and generate binding rules for various types of GUI elements and layout relationships. The same automated analysis mechanism works across different devices and GUI frameworks, providing multi-functional capability without requiring device-specific implementations.

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

Solution Approach 2:

The system applies segmentation by breaking down the complex task of layout management into distinct components: initial layout analysis, relationship inference, binding rule generation, and runtime layout control. This modular approach manages system complexity by organizing functions into separate, manageable modules that can operate independently.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9933929B1Automatic layout management through static GUI analysis
Publication Date: 2018.04.03 MATHWORKS INC
  • US9933929B1 patent drawing
  • US9933929B1 patent drawing
  • US9933929B1 patent drawing

AI summary

A device may generate a graph of a set of elements included in a graphical user interface. An attribute of an element, of the set of elements, may be represented by a vertex of the graph. A layout relationship associated with the set of elements may be represented by an edge of the graph. The device may detect a change to the graphical user interface from a first display condition to a second display condition. The device may determine another vertex location for the vertex corresponding to another attribute for the element based on detecting the change from the first display condition to the second display condition and based on the graph of the set of elements. The device may provide, for display, the set of elements in the second display condition based on the other attribute for the element.