GUI-Code Iteration for Data Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current search engines and data visualization systems face inefficiencies in dynamically updating and rendering data visualizations based on user interactions, leading to slow performance and inefficient data processing.

Innovation Solution

A system that iterates between a graphical user interface (GUI) and data expressions by receiving user edits, evaluating expressions, and determining corresponding user interface blocks for real-time rendering, utilizing a client-server architecture with interpreters on both sides to efficiently process and display data visualizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data visualizations are dynamically updated based on user interactions in real-time, then user interaction responsiveness is improved, but network requests increase and processing overhead increases

Engineering Contradiction:
Improveuser interaction responsivenessVSAvoidnetwork requests and processing overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by caching the results of expression evaluations on both client and server sides. When user interactions occur, the system re-executes only the changed parts of expressions using cached results as starting points, rather than performing complete re-evaluations or new network requests. This preliminary caching action reduces subsequent processing overhead and network traffic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The expression evaluation process is segmented into independent, changeable parts. The system identifies and re-executes only the specific segments of expressions that correspond to user interactions, rather than re-evaluating entire expressions. This segmentation allows selective re-processing of changed portions, reducing overall processing overhead and network requests.

Inventive Principle:
Principle #1Segmentation

2Reliability

If complete expressions are re-evaluated on every user interaction, then data accuracy is maintained, but processing time increases

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by re-executing only the necessary portions of expressions that correspond to user interactions, rather than performing complete re-evaluations. The client and server sides cooperatively evaluate partial expressions using cached results, maintaining data accuracy while significantly reducing processing time compared to full re-evaluation.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Cached expression results serve as preliminary computations that can be reused. When user interactions occur, the system builds upon these preliminary cached results rather than starting from scratch, ensuring accuracy is maintained through verified cached data while reducing the time needed for re-evaluation.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If real-time synchronization between client and server is implemented, then data consistency is improved, but network communication overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork communication overhead
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system extracts and caches expression evaluation results on both client and server sides, removing the need for frequent complete synchronization. Only changes to cached results need to be communicated between client and server, significantly reducing network communication overhead while maintaining data consistency through selective updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements feedback mechanisms where the client evaluates expressions locally using cached server results, and the server similarly caches client evaluations. This bidirectional feedback loop allows both sides to maintain consistent data independently, reducing the need for continuous network communication while ensuring data consistency through coordinated caching.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11586695B2Iterating between a graphical user interface and plain-text code for data visualization
Publication Date: 2023.02.21 ELASTICSEARCH BV
  • US11586695B2 patent drawing
  • US11586695B2 patent drawing
  • US11586695B2 patent drawing

AI summary

Systems and methods for iterating between a graphical user interface and an expression for data visualization. Exemplary methods include: receiving an edited expression from a user, the edited expression including changes to the expression and being associated with a component; evaluating the edited expression; displaying the component using the evaluation of the edited expression; determining a user interface block using the edited expression; and presenting the user interface block to the user in a graphical user interface.