Visual Block Interface for Data Analysis Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data analysis systems require users familiar with programming languages like Scala or Python to generate and maintain data analysis codes, making it difficult for users unfamiliar with these languages to control or modify data analysis flows.

Innovation Solution

A system and method that provide a user interface with blocks of different shapes, classified by programming language-based functions, allowing users to combine and transform these blocks into a data analysis flow, which is then converted into a programming language-based code for analysis, enabling users to perform data analysis without extensive programming knowledge.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data analysis code is generated using programming languages like Scala or Python, then data analysis functionality is achieved, but users unfamiliar with these programming languages cannot easily generate or modify data analysis flows

Engineering Contradiction:
Improveease of generating data analysis flowVSAvoidprogramming language knowledge requirement
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a visual block-based interface as an intermediary between the user and the programming language-based data analysis code. Users interact with graphical blocks representing data processing operations rather than writing code directly. The system automatically translates these visual blocks into executable programming language code, eliminating the need for users to learn complex programming syntax while maintaining full data analysis functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a visual representation (copy) of the data analysis flow using graphical blocks that mirror the structure and logic of the underlying programming code. Instead of requiring users to work with abstract code text, the system provides a concrete visual copy of the data processing pipeline, making it intuitive to understand, modify, and share analysis flows without programming expertise.

Inventive Principle:
Principle #26Copying

2Ease of operation

If data analysis flows are created using visual blocks, then users unfamiliar with programming languages can easily control and modify flows, but the system complexity increases due to block management and code transformation

Engineering Contradiction:
Improveease of modifying data analysis flowVSAvoidsystem complexity for block management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the data analysis process into discrete, independently manageable visual blocks, each representing a specific data processing operation (e.g., filtering, transformation, aggregation). Users can easily create, modify, and rearrange these blocks without affecting the entire system. The underlying system manages the complexity of coordinating these segmented blocks and translating them into coherent programming code, shielding users from system complexity while enabling flexible analysis flow modification.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10296304B2Method and system for analyzing data based on block
Publication Date: 2019.05.21 NHN CORP
  • US10296304B2 patent drawing
  • US10296304B2 patent drawing
  • US10296304B2 patent drawing

AI summary

A computer-implemented data analysis method including the steps of: providing a block for each group, in which the blocks are mapped to have different shapes from each other, and the groups are classified based on an attribute of a programming language-based function and instruction; providing a user interface for receiving the block selected by a user; generating a data analysis flow based on a user creation block that is generated when the selected blocks are combined in the user interface; transforming the data analysis flow to a programming language-based data analysis code through a language transform engine; and performing a data analysis based on the transformed data analysis code.