Dynamic Event Handler Addition in Widget-Based Design Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Design programs face a challenge in balancing ease of use and flexibility, as providing a rich design environment with an intuitive interface is hindered by the need for either large libraries of predesigned patterns or limited elements with complex interaction definitions, leading to increased complexity and difficulty in implementing desired design patterns.

Innovation Solution

A method where users can add widgets with events and event handlers within a design environment, allowing for the creation of customized design patterns by specifying interactions between widgets, which are then exported and rendered by an external player, enabling the addition of secondary event handlers upon specific occurrences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a large library of predesigned patterns is provided to users, then the design program offers rich design capabilities and flexibility, but the learning curve increases and the interface becomes more complex

Engineering Contradiction:
Improvedesign flexibilityVSAvoidinterface complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The design program segments the large library of predesigned patterns into organized categories and groups. Instead of presenting users with an overwhelming single list of all patterns, the system divides patterns into logical segments (e.g., by function, by complexity, by domain) that can be navigated systematically. This segmentation reduces the perceived complexity while maintaining access to the full range of design capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by pre-organizing and pre-categorizing design patterns before the user encounters them. Default selections, recommended patterns, and contextual suggestions are prepared in advance based on the current design context, so users don't have to search through the entire library. This preliminary organization reduces the cognitive load and interface complexity while preserving design flexibility.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If a large library of predesigned patterns is provided to users, then the design program offers rich design capabilities, but the time required to search and select patterns increases

Engineering Contradiction:
Improvedesign flexibilityVSAvoidpattern selection time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The design program implements feedback mechanisms that adapt to user behavior and design context. As users work on their designs, the system learns from their selections and provides increasingly relevant pattern suggestions. The feedback loop analyzes the current design state and recommends appropriate patterns from the library, significantly reducing the time users spend searching while maintaining access to the full library of patterns.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by pre-filtering and pre-ranking patterns based on the current design context before the user needs to select. Default patterns are automatically suggested based on the type of design work being performed, eliminating the need for users to manually search through the entire library. This preliminary preparation maintains design flexibility while dramatically reducing selection time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If users are provided with limited design elements and flexibility to define interactions, then the learning curve is reduced, but the complexity of defining element interactions increases

Engineering Contradiction:
Improveease of useVSAvoidinteraction definition complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The design program introduces an intermediary layer between the simple design elements and the complex interaction definitions. Instead of requiring users to directly program complex interactions, the system provides visual interaction builders, drag-and-drop connection interfaces, and template-based interaction patterns. This intermediary abstraction layer simplifies the user experience while handling the complexity of interaction definition in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service by automatically generating interaction definitions based on user selections and design context. When users add elements to their design, the program automatically suggests and can even auto-configure appropriate interactions and event handlers without requiring manual definition. This self-service approach maintains ease of use while reducing the burden of complex interaction definition.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9678931B2Triggered event handler addition
Publication Date: 2017.06.13 AXURE SOFTWARE SOLUTIONS INC
  • US9678931B2 patent drawing
  • US9678931B2 patent drawing
  • US9678931B2 patent drawing

AI summary

Embodiments of the present invention provide an intuitive method for the specification of a design as follows. A widget is added to the design at the direction of a user. The widget has an event and an event handler. A second widget is added to the design. The design is exported from a design program and an instantiation of the design is created that is capable of being rendered by an external player. Executing the event handler adds a second event handler to a second widget in the instantiation of the design.