Predictive Graphical Object Insertion in Development Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software application developers face inefficiencies in creating user interfaces due to the need for manual selection and positioning of graphical objects within graphical user interfaces, which is time-consuming and prone to errors, especially when dealing with constrained objects like buttons and checkboxes.

Innovation Solution

A computing device is configured to predictively determine graphical objects for insertion into a graphical user interface based on development specifications, the current position of a pointer, and the position of other objects, allowing for automatic selection and placement of objects such as buttons, checkboxes, and labels, reducing the burden on developers and minimizing manual input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If developers manually select and position graphical objects in a graphical user interface, then precision and control over object placement is improved, but development time and complexity increase

Engineering Contradiction:
Improveobject placement precisionVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically selecting and positioning graphical objects based on development specifications and context analysis before the developer needs to intervene. The predictive insertion mechanism pre-determines object placement, reducing the need for manual positioning while maintaining precision through constraint-based algorithms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The graphical user interface system serves itself by automatically inserting and positioning graphical objects without requiring developer intervention for each object. The system analyzes the development context, retrieves appropriate objects from candidate sets, and positions them according to specified constraints, enabling self-service object placement.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If developers manually create and position each graphical object, then control and adaptability are improved, but productivity decreases

Engineering Contradiction:
Improveobject selection controlVSAvoidinterface development productivity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs partial automation by automatically handling the selection and positioning of graphical objects while leaving the developer in control of higher-level design decisions. The predictive insertion provides candidate objects and suggested positions, allowing developers to review and adjust as needed, achieving productivity improvement without sacrificing adaptability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes parameters by dynamically adjusting object selection and positioning based on development specifications, context analysis, and constraint satisfaction. The predictive mechanism varies object choices and positions according to changing development requirements, maintaining adaptability while automating routine tasks.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automatic predictive insertion of graphical objects is implemented, then productivity and development speed are improved, but system complexity increases

Engineering Contradiction:
Improvedevelopment speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary predictive insertion mechanism that acts as a mediator between the developer's requirements and the graphical object library. This intermediary analyzes development context, filters candidate objects based on specifications and constraints, and presents suitable options, reducing system complexity by encapsulating the complexity within a dedicated predictive insertion module.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If manual selection and positioning of graphical objects is required, then precision and accuracy are improved, but ease of operation deteriorates

Engineering Contradiction:
Improveobject positioning accuracyVSAvoidinterface creation ease
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The system implements feedback by analyzing the results of predictive object insertion and using this information to improve future insertions. The mechanism learns from developer corrections and adjustments, refining its predictions to maintain positioning accuracy while improving ease of operation through increasingly accurate automatic suggestions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10466863B1Predictive insertion of graphical objects in a development environment
Publication Date: 2019.11.05 GOOGLE LLC
  • US10466863B1 patent drawing
  • US10466863B1 patent drawing
  • US10466863B1 patent drawing

AI summary

An example method includes outputting, by a computing device and for display in a graphical development environment used during development of a software application, a graphical user interface associated with the software application, receiving, by the computing device, a development specification that associates a region of the graphical user interface with one or more candidate graphical objects for insertion into the graphical user interface, and receiving, by the computing device, an indication of a selection of the region of the graphical user interface. The example method further includes determining, by the computing device, based at least in part on the development specification and the indication of the selection of the region of the graphical user interface, a graphical object from the one or more candidate graphical objects, and outputting, by the computing device and for display at the region of the graphical user interface, an indication of the graphical object.