CROSS-PLATFORM DATA VISUALIZATIONS USING COMMON DESCRIPTIONS
First Claim
1. At a computer system, the computer system including a user interface management system, the user-interface management system including a scene graph processing layer and a platform specific user interface sub-system, the scene graph processing layer aware of the data visualization processing techniques available to the platform specific user interface sub-system, a method for outputting a data visualization, the method comprising:
- the scene graph processing layer accessing a generic scene graph from common code that is executable on a plurality of different technology platforms, the generic scene graph representing a user interface, the generic scene graph defining the data visualizations independent of any of a plurality of different platform specific user interface sub-systems, including the platform specific user interface sub-system, the generic scene graph containing scene graph metadata that describes characteristics of the data visualizations;
the scene graph processing layer interpreting the structure and data of at least portions of the generic scene graph into specific operations that are processed by a platform specific rendering sub-system, the scene graph processing layer makes decisions on how to process individual scene graph nodes or groups of scene graph nodes based on the characteristics of rendering subsystems a platform provides;
the scene graph processing layer sending the specific operations to the platform specific rendering sub-system for processing; and
the platform specific rendering sub-system outputting the data visualizations by processing the specific operations.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
43 Citations
20 Claims
-
1. At a computer system, the computer system including a user interface management system, the user-interface management system including a scene graph processing layer and a platform specific user interface sub-system, the scene graph processing layer aware of the data visualization processing techniques available to the platform specific user interface sub-system, a method for outputting a data visualization, the method comprising:
-
the scene graph processing layer accessing a generic scene graph from common code that is executable on a plurality of different technology platforms, the generic scene graph representing a user interface, the generic scene graph defining the data visualizations independent of any of a plurality of different platform specific user interface sub-systems, including the platform specific user interface sub-system, the generic scene graph containing scene graph metadata that describes characteristics of the data visualizations; the scene graph processing layer interpreting the structure and data of at least portions of the generic scene graph into specific operations that are processed by a platform specific rendering sub-system, the scene graph processing layer makes decisions on how to process individual scene graph nodes or groups of scene graph nodes based on the characteristics of rendering subsystems a platform provides; the scene graph processing layer sending the specific operations to the platform specific rendering sub-system for processing; and the platform specific rendering sub-system outputting the data visualizations by processing the specific operations. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
2. The method of claim 2, wherein the platform specific rendering sub-system uses one of:
- Direct X®
, XAML, Open GL, Cocoa, or Quartz®
to render the platform specific graphical data.
- Direct X®
-
8. At a computer system, the computer system including a user interface management system, the user-interface management system including a scene graph processing layer and a platform specific user interface sub-system, the scene graph processing layer aware of the gesture recognition processing techniques available to the platform specific user interface sub-system, a method for processing an input gesture from a data visualization, the method comprising:
-
the scene graph processing layer accessing a generic scene graph from common code that is executable on a plurality of different technology platforms, the generic scene graph representing a user interface, the generic scene graph defining behaviors for input gesture processing independent of any of a plurality of different platform specific user interface sub-systems, including the platform specific user interface sub-system, the generic scene graph containing scene graph metadata that describes characteristics of the behaviors; the scene graph processing layer receiving input gesture data from the platform specific user interface sub-system, the input gesture data for an input gesture recognized by utilizing a gesture recognition technique available to the platform specific user interface sub-system; the scene graph processing layer adjusting the input gesture data for consistency with the generic scene graph based on the utilized gesture recognition technique and in view of the scene graph metadata; and the scene graph processing layer routing the adjusted input gesture data to an appropriate behavior in the generic scene graph. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer system, the computer system comprising:
-
one or more processors; system memory; one or more components of a specific technology platform; one or more computer storage devices having stored thereon computer-executable instructions representing a scene graph processing layer, the scene graph processing layer aware of the data visualization processing techniques available to the specific technology platform, the scene graph processing layer aware of the gesture recognition processing techniques available to the specific technology platform, the scene graph processing layer configured to; access a generic scene graph from common code that is executable on a plurality of different technology platforms, the generic scene graph representing a user interface, the generic scene graph; defining one or more data visualizations independent of any of a plurality of different technology platforms, including the specified technology platform; defining behaviors for input gesture processing independent of any of the plurality of different technology platforms, including the specified technology platform; and indicating scene graph metadata that both describes characteristics of the one or more data visualizations and describes characteristics of the behaviors for input gesture processing; output a data visualization by; interpreting the structure and data of at least portions of the generic scene graph into specific operations that are processed by the platform specific user interface sub-system, making decisions on how to process individual scene graph nodes or groups of scene graph nodes based on the characteristics of rendering subsystems a platform provides; and sending the specific operations to the specific technology platform for output by processing the specific operations; and process an input gesture by; receiving input gesture data from the specific technology platform, the input gesture data for an input gesture recognized by utilizing a gesture recognition technique available to the specific technology platform; adjusting the input gesture data for consistency with the generic scene graph based on the utilized gesture recognition technique and in view of the scene graph metadata; and routing the adjusted input gesture data to an appropriate behavior in the generic scene graph. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification