Progressive Chart Rendering via Cached Swap

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data-rendering systems delay user interaction by waiting for active data to be fully received before rendering, leading to perceived performance issues and user dissatisfaction.

Innovation Solution

Implementing a system where a local cached copy of the data visualization is initially rendered, while active data is fetched in the background, and then swapped in once available, minimizing visual disturbance and enhancing user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the system waits for active data to be fully received before rendering, then data accuracy is improved, but user perceived performance deteriorates

Engineering Contradiction:
Improvedata accuracyVSAvoidperceived performance
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by rendering the cached data visualization before the active data is fully fetched. The chart is rendered with cached data immediately when requested, and only updated once the active data is available, thus eliminating the waiting period for users while maintaining data accuracy through subsequent updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses cached data as an intermediary to bridge the gap between data availability and user request. When data is not yet available or during loading, the cached visualization serves as a temporary substitute that maintains UI responsiveness, and is then updated with the active data once fetched.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system renders only after data is fetched, then data freshness is improved, but application responsiveness deteriorates

Engineering Contradiction:
Improvedata freshnessVSAvoidapplication responsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary rendering using cached data before the active data is fully fetched. This allows the application to respond immediately to user requests with available cached visualizations, and then updates the chart with fresh active data in the background, thus maintaining both responsiveness and data freshness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by keeping the chart rendering process continuous. The cached visualization is rendered immediately, and the active data is fetched and rendered in the background without interrupting the user experience, ensuring the application remains responsive while continuously updating with fresh data.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If the system swaps rendered data visualizations, then user experience is improved, but rendering complexity increases

Engineering Contradiction:
Improveuser experienceVSAvoidrendering complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system uses a hidden container as an intermediary to manage the visualization swap process. The active data visualization is rendered in a hidden container first, and only after rendering is complete is it swapped with the cached visualization in the visible container, thus simplifying the complexity management while improving user experience.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10789262B2Progressive chart rendering
Publication Date: 2020.09.29 SAP SE
  • US10789262B2 patent drawing
  • US10789262B2 patent drawing
  • US10789262B2 patent drawing

AI summary

A system includes reception of a request to display a data chart. In response to the request, a cached version of the data chart is retrieved from a memory, the cached version of the data chart is displayed, and while the cached version of the data chart is displayed, current data of the data chart is requested from a remote data source. Also while the cached version of the data chart is displayed, an active version of the data chart is rendered based on the current data. The displayed cached version is then replaced with a display of the rendered active version.