Compound Controls for GUI Dataflow Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphical user interface (GUI) development methods are cumbersome for designing and maintaining complex interactions between applications, particularly in configuring and executing dataflow graphs, leading to difficulties in isolating changes and optimizing performance.
Innovation Solution
The method involves creating a GUI environment where users can associate and configure compound controls, which include sets of selector objects and parameters, allowing for the invocation and execution of dataflow graphs, enabling easier reuse and optimization of controls across different interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional GUI development methods are used to design and maintain complex interactions between applications, then the system can handle complex application interactions, but the design and maintenance process becomes cumbersome and difficult
Solution Approach 1:
The patent segments the GUI development process by introducing separate configuration files and modular dataflow graph components. Each application interaction is broken down into discrete, configurable units that can be independently designed, maintained, and reused, thereby simplifying the overall complex GUI development process while maintaining the ability to handle complex application interactions.
2Adaptability or versatility
If changes are made to controls in complex GUI systems, then the system can adapt to new requirements, but isolating changes from other interfaces becomes difficult
Solution Approach 1:
The patent segments the GUI system into independent, configurable dataflow graphs and controls that are defined in separate configuration files. This segmentation allows changes to be isolated to specific controls or dataflow graphs without affecting other interfaces, as each component is independently configurable and can be modified without requiring changes to the broader system architecture.
Solution Approach 2:
The patent introduces configuration files as intermediary layers between the controls and the execution environment. These configuration files serve as mediators that allow changes to be made to controls without directly impacting the running system or other interfaces. The configuration files act as a buffer that enables safe, isolated modifications while maintaining system stability.
3Productivity
If compound controls with embedded logic are created and reused across different interfaces, then development efficiency improves, but the complexity of managing selector objects and parameters increases
Solution Approach 1:
The patent segments compound controls into distinct selector objects and parameters that are independently configurable. This segmentation allows each component of the compound control to be managed separately through configuration files, reducing the complexity of managing the overall control while enabling efficient reuse across different interfaces. Each selector object and parameter can be independently modified without affecting the entire compound control structure.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for specifying a compound control. One of the methods includes identifying a first application. The method includes displaying a canvas. The method includes displaying, in the canvas, a first display object associated with the first application. The method includes identifying a second application, the second application being a computer executable program. The method includes displaying, in the user interface, a second display object associated with a second application. The method includes, in response to a user action that associates the second display object with the first display object, configuring the first application to invoke the second application. The method includes creating a third display object that includes the first set of selector objects and the second set of selector objects.