GUI Layout Constraint System for Pixel Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing a graphical user interface (GUI) that can flexibly handle window resizing, orientation changes, and zoom operations requires writing extensive code, and existing tools like 'springs and struts' models struggle with precise pixel alignment and maintaining uniform layouts, leading to inconsistencies and the need for frequent code modifications.

Innovation Solution

The system automatically generates and modifies constraints for user interface objects based on their positions and sizes within the GUI window, including identifying and selecting between redundant or mutually exclusive constraints, and aligning edges with pixels by rounding values or adding constants, to ensure flexible and uniform layout adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If springs and struts models are used to define object positions, then the GUI can handle window resizing, but pixel alignment precision deteriorates due to rounding inconsistencies

Engineering Contradiction:
Improvewindow resize handlingVSAvoidpixel alignment precision
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent changes the parameter representation from rounded integer values to floating-point values with fractional components. This allows precise positioning at sub-pixel levels while maintaining adaptability to window resizing. The system uses floating-point constraints to define object positions and sizes, eliminating the need to round to nearest pixels that causes misalignment.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If manual code writing is used for flexible GUI design, then layout control precision is improved, but device complexity increases due to extensive code requirements

Engineering Contradiction:
Improvelayout control precisionVSAvoidcode complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system provides self-service by automatically generating layout constraints and solving positioning equations based on user-defined relationships. Instead of requiring manual code writing, the system uses an automated constraint solver that takes high-level design specifications and computes precise positions and sizes, eliminating the need for extensive manual coding while maintaining precision.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of writing and adjusting code with an automated computational system. The constraint solver algorithm automatically calculates optimal positions and sizes by solving mathematical equations derived from design constraints, substituting manual programming efforts with automated computation.

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

3Manufacturing precision

If rounding values is applied for pixel alignment, then partial alignment is achieved, but layout uniformity deteriorates due to inconsistent rounding up and down

Engineering Contradiction:
Improvepixel alignmentVSAvoidlayout uniformity
Core Design Contradiction:
Manufacturing precisionVSStability of the object's composition

Solution Approach 1:

The system changes from discrete integer pixel values to continuous floating-point values, allowing objects to be positioned at fractional pixel coordinates. This eliminates the need to round values, thereby maintaining both pixel alignment and layout uniformity simultaneously. Objects can be positioned precisely without the inconsistencies introduced by rounding up or down differently for various objects.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9870133B2Graphical user interface layout
Publication Date: 2018.01.16 APPLE INC
  • US9870133B2 patent drawing
  • US9870133B2 patent drawing
  • US9870133B2 patent drawing

AI summary

Exemplary methods, apparatuses, and systems receive user input to move, resize, or add a first user interface object to a first location in a user interface window. The user interface window includes a second user interface object in a second location. In response to the user input, constraints are generated based upon the first location and the second location. The constraints define a size or a position of the first user interface object relative to the second user interface object. The first user interface object is displayed within the user interface according to the determined constraints.