Declarative Control Actions for UI Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing user interface and application development frameworks become overly complex due to the large number of properties in composite controls, making customization difficult for users unfamiliar with all associated properties, leading to a bloated object model and user overwhelm.
Innovation Solution
An extensible control design framework that allows declarative definition of controls and components, using an 'action' object to encapsulate well-defined functionality associated with events, enabling users to easily define logic and functionality without programming code, and packaging this functionality in independent application components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If composite controls include many different properties to expand functionality, then the control becomes more versatile and adaptable, but the device complexity increases and users become overwhelmed
Solution Approach 1:
The patent segments control functionality by introducing action objects that encapsulate specific behaviors (e.g., validate, save, delete) separate from the base control properties. This allows functionality to be divided into modular, independently manageable units that can be selectively applied to controls without overwhelming the object model.
Solution Approach 2:
The action object serves as an intermediary between the control and the event handling logic. Instead of directly embedding complex event handlers in controls, the action object mediates by providing a structured interface that links controls to their associated behaviors through events, simplifying the overall system architecture.
2Adaptability or versatility
If composite controls include many different properties to accommodate different user needs, then the control becomes more adaptable, but ease of operation decreases as users must familiarize themselves with numerous properties
Solution Approach 1:
Functionality is segmented into discrete action objects with clear, named operations (validate, save, delete) that are easier for users to understand and select than a comprehensive list of control properties. Users can customize controls by selecting from these segmented actions without needing to understand the underlying complex property structure.
Solution Approach 2:
The patent uses templates and pre-defined action objects that can be copied and applied to multiple controls. This allows users to leverage existing validated patterns of behavior without having to recreate or understand complex property configurations from scratch, easing operation while maintaining adaptability.
3Adaptability or versatility
If logic and non-user interface behavior are built into user interface components, then the control becomes more functional, but the device complexity increases making customization difficult
Solution Approach 1:
Non-user interface behavior is segmented into separate action objects that are associated with controls through events rather than being embedded within the control structure itself. This separation maintains functionality while reducing structural complexity and making customization more manageable.
Solution Approach 2:
The system dynamically associates action objects with controls based on events rather than having static, pre-configured behavior embedded in each control. This dynamic approach allows the control structure to remain simple while still providing rich functionality through runtime associations between controls and their behavior encapsulated in action objects.
Data Source
AI summary
An extensible control design framework is utilized to declaratively define a control (both visual and non-visual) and other components. The functionality of a control may be expanded by declaratively adding behaviors and semantics via an object called an action. The control does not become unduly complex by the addition of the behaviors and semantics. The action object encapsulates well-defined functionality and is associated with an existing control. The action object is also associated with an event or trigger such that the functionality is automatically executed when the event is raised. The functionality may be packaged in an independent application component such that a user who is not familiar with programming code may easily define logic and functionality for an application in a design environment.


