Generic Scene Graphs for Consistent Cross-Platform Data Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing consistent, highly interactive user interfaces across multiple computing platforms is challenging due to differences in platform-specific technologies, leading to complex code maintenance, performance limitations, and security vulnerabilities in cross-platform applications.

Innovation Solution

A generic scene graph processing layer interprets and adjusts data visualizations and input gestures independently of platform-specific user interface sub-systems, using metadata to optimize rendering and gesture processing across various platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers maintain multiple code bases for different computing platforms, then platform-specific user interface requirements can be met, but code complexity and maintenance difficulty increase significantly

Engineering Contradiction:
Improveplatform-specific user interface compatibilityVSAvoidcode base complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the user interface implementation into two distinct layers: a platform-independent scene graph layer that defines the logical structure and behavior of UI elements, and platform-specific rendering layers that handle the actual visualization. This segmentation allows the core application logic to remain platform-agnostic while enabling customization for different platforms through separate rendering modules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scene graph serves as an intermediary layer between the application logic and platform-specific rendering systems. It provides a standardized interface for defining UI elements and their interactions, which then gets translated into platform-specific commands. This mediator approach eliminates the need for multiple code bases by providing a universal description language that all platforms can interpret.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If developers use the lowest common denominator subset of features across platforms, then cross-platform compatibility is achieved, but application performance and advanced features are limited

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidapplication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies local quality by allowing different platforms to render the same scene graph with their native capabilities and conventions. Each platform-specific rendering layer can utilize platform-optimized features, advanced graphics capabilities, and local UI conventions while interpreting the same high-level scene graph description. This enables each platform to operate at its full potential rather than being constrained by the lowest common denominator.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If platform-specific user interface technologies are used directly, then native platform features and conventions are leveraged, but consistency across multiple platforms becomes difficult to achieve

Engineering Contradiction:
Improvenative platform featuresVSAvoidUI consistency across platforms
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The scene graph provides a universal description language that can represent user interface elements and their behaviors in a platform-independent manner. The same scene graph can be interpreted by rendering systems on different platforms, ensuring consistent logical behavior and structure across Windows, macOS, Linux, and mobile platforms while allowing each platform to apply its native rendering conventions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If multiple code bases are maintained for different platforms, then each platform's specific requirements can be satisfied, but testing complexity and time consumption increase

Engineering Contradiction:
Improveplatform-specific requirements fulfillmentVSAvoidtesting time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Instead of maintaining separate code bases, the patent uses a single scene graph definition that acts as a master template. Platform-specific rendering layers essentially create copies or interpretations of this single source definition tailored to their respective platforms. This copying approach means that changes to the UI logic need only be made in the scene graph, and all platforms automatically receive the updates, eliminating the need for parallel testing of multiple code bases.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2915041B1Cross-platform data visualizations using a generic graph description
Publication Date: 2025.09.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2915041B1 patent drawingFigure 1A
  • EP2915041B1 patent drawingFigure 1B
  • EP2915041B1 patent drawingFigure 2

AI summary

The present invention extends to methods, systems, and computer program products for cross-platform data visualizations using common descriptions. Embodiments of the invention provide mechanisms for simplifying software development and enhanced code reliability. A user interface, along with interactive and dynamic characteristics, can be described (programmatically and/or declaratively) independently of any specific device platform. User interface qualities can be described using a generic scene graph structure with attached behaviors. The generic scene graph can then be used to drive the user interface on any number of different computing platforms using platform specific (e.g., rendering, gesture recognition, etc.) sub-systems. Platform specific sub-systems can vary based on technologies that are used by the platform specific sub-systems. For example, rendering sub-systems can vary based on the technology used to render graphical data, such as, for example, Open GL, XAML, Direct X, Quartz, etc.