Diffable Data Source for Collection View Update Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating visual representations of data collections on computing devices, such as replacing the current view with a future view, result in an aesthetically undesirable experience for users and are inefficient in generating a diffable data source for smooth transitions.

Innovation Solution

A method that compares data array elements from a current view and a future view to generate a difference data array, indicating which elements should be inserted or removed, allowing for a seamless transition from the current view to the future view using a diffable data source.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the current view is replaced with the future view to update the visual representation, then the update is simple and fast, but the transition is aesthetically undesirable and provides poor user experience

Engineering Contradiction:
Improveupdate speedVSAvoiduser experience
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the data collection into individual elements and compares them between current and future views to generate a difference data array. This segmentation allows the system to identify specific changes (insertions, deletions, moves) rather than treating the entire collection as a single unit, enabling selective animation of only the changed elements during transition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic transition animations that move elements between the current and future views based on the difference data array. Elements are animated to slide, fade, or morph between positions rather than abruptly replacing the entire view. This dynamic approach maintains visual continuity and provides an aesthetically pleasing user experience while updating the data collection.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If a diffable data source is implemented to enable smooth transitions, then the user experience is improved, but the system complexity increases due to the need to generate and manage difference data arrays

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

Solution Approach 1:

The patent performs preliminary comparison of the current and future data arrays to generate the difference data array before the transition animation begins. This preliminary action identifies all insertions, deletions, and moves in advance, allowing the animation system to plan and execute smooth transitions without complex real-time calculations during the animation playback.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The difference data array serves as an intermediary structure that bridges the current and future views. It contains structured information about which elements to insert, delete, or move, and where they should go. This intermediary simplifies the transition logic by providing a clear roadmap for the animation system, reducing the need for complex decision-making algorithms during the transition.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all data array elements are compared and transitioned, then the transition is complete, but the processing time and computational resources increase

Engineering Contradiction:
Improvetransition completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the changed elements from the data arrays by comparing corresponding elements and generating a difference data array that contains only insertions, deletions, and moves. This extraction approach allows the system to animate only the necessary elements rather than processing and animating the entire data collection, significantly reducing processing time while maintaining complete transition coverage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial comparison and transition by focusing only on the elements that have changed between the current and future views. Rather than comparing and animating all elements in the data collection, the system identifies and processes only the subset of elements that differ, achieving complete visual transition with minimal computational overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11341125B2Methods and system for collection view update handling using a diffable data source
Publication Date: 2022.05.24 APPLE INC
  • US11341125B2 patent drawing
  • US11341125B2 patent drawing
  • US11341125B2 patent drawing

AI summary

This application relates to updating collection views in a computing device. A method includes receiving a first data array of a current view of a data collection and receiving a second data array of a future view of the data collection. The method also includes generating a difference data array that, based on a determination that the first data array element is equal to the second data array element, includes the second data array element. The method also includes, based on whether the first data array element is not included in the second data array and/or the second data array element is not included in the first data array, indicating, in the difference data array, that the first data array element is not in the future view or that the second data array element is not in the current view.