Dynamic State Change Notification for UI Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software modules face challenges in keeping user interface values current without the overhead of polling, especially when dealing with complex component properties and intricate interrelationships, making it impractical to implement custom UIs that account for all property changes.

Innovation Solution

Implementing a mechanism where interested modules register routines to receive notifications of changes in component instance properties, allowing them to update only the necessary UI elements without polling, using functions like AddComponentPropertyListener and RemoveComponentPropertyListener to manage callback routines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If interested modules periodically poll component instance properties to keep UI values current, then UI display accuracy is improved, but computational waste and time consumption increase

Engineering Contradiction:
ImproveUI display accuracyVSAvoidcomputational waste
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where component instances automatically notify interested modules when property values change. The component instance maintains a list of interested modules and their properties of interest, and when a property changes, the component instance sends a notification to the relevant interested modules. This eliminates the need for periodic polling while ensuring UI displays are always current, as modules receive updates only when necessary.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The component instance performs self-service by actively monitoring its own property changes and automatically notifying interested modules. Instead of requiring interested modules to poll for changes, the component instance takes responsibility for detecting its own state changes and propagating this information to dependent modules, thereby reducing overall system computational overhead.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If interested modules implement logic to track complex property interrelationships, then UI update accuracy is improved, but device complexity increases

Engineering Contradiction:
ImproveUI update accuracyVSAvoidmodule implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of tracking property interrelationships from interested modules and centralizes it in the component instance. The component instance contains the state machine logic that understands all property dependencies and automatically determines which properties have changed. Interested modules simply register their properties of interest and receive notifications without needing to implement or understand the complex interrelationship logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The component instance acts as an intermediary between the complex property interrelationship logic and the interested modules. It absorbs the complexity of tracking how property changes propagate through the system and translates this into simple notifications for interested modules. This mediator pattern allows interested modules to remain simple while still receiving accurate update information.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If developers implement custom UIs that account for all property changes, then UI reliability is improved, but ease of manufacture decreases

Engineering Contradiction:
ImproveUI reliabilityVSAvoidcustom UI implementation ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The component instance provides self-service by automatically tracking all property changes and identifying which interested modules need to be notified. Developers implementing custom UIs simply need to register their properties of interest with the component instance, and the system handles all the complex logic of determining which notifications are relevant. This maintains UI reliability while dramatically simplifying the development process.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If polling frequency is increased to ensure accurate UI updates, then measurement precision is improved, but loss of time increases

Engineering Contradiction:
ImproveUI update frequencyVSAvoidpolling time consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system uses feedback-based notifications where interested modules are informed of property changes immediately when they occur, rather than waiting for the next polling cycle. This ensures that UI updates are as timely as possible without the time waste of repeated polling, as modules receive updates only when actual changes occur.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7533368B1User interface driven by dynamic state changes
Publication Date: 2009.05.12 APPLE INC
  • US7533368B1 patent drawing
  • US7533368B1 patent drawing
  • US7533368B1 patent drawing

AI summary

A method for responding to changes to properties of component instances is disclosed. A routine, that is to be informed of changes that occur to a particular property of a plurality of properties of a component instance, is registered. The value of the particular property is detected as changed when the value of the particular property changes because of a change to another property of the plurality of properties. A call is made to the routine to indicate that the particular property has changed.