Command Manager Message Broker for Shared UI Surfaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing user interface designs for web platforms often require multiple command surfaces for each component, leading to inefficiencies and complexity, as each component has its own independent command set, making it difficult to manage and coordinate commands across different components and applications.
Innovation Solution
A command manager acts as a message broker, allowing multiple components to share a single command surface, enabling components to register and utilize commands, and dispatching commands to the appropriate components, while also managing focus and undo/redo operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If each component has its own independent command surface, then each component can be tightly integrated with its functionality, but the system complexity increases and coordination between components becomes difficult
Solution Approach 1:
The patent merges multiple independent command surfaces into a single shared command surface that can be associated with multiple components. Instead of each component having its own separate command surface, a unified command surface is created that all components can register with, reducing the overall number of command surfaces and simplifying command management while maintaining component-specific functionality through selective command registration.
Solution Approach 2:
The command surface is designed to be universal and multi-functional, serving multiple components simultaneously rather than being dedicated to a single component. This universal command surface can handle commands for different components through a registration mechanism, allowing one command surface to perform the functions that previously required multiple separate command surfaces.
2Adaptability or versatility
If multiple independent command surfaces are used for different components, then each component maintains its independence, but the coordination and message routing between components becomes complex
Solution Approach 1:
The patent introduces a command manager as an intermediary component that mediates between the shared command surface and multiple components. The command manager receives commands from the shared command surface, determines which component should handle each command based on registration information, and routes commands to the appropriate component. This intermediary simplifies coordination by centralizing the routing logic rather than requiring direct peer-to-peer communication between components and command surfaces.
3Device complexity
If a shared command surface is used for multiple components, then command management complexity is reduced, but determining which component should receive a specific command becomes more challenging
Solution Approach 1:
The patent implements preliminary action by requiring components to register themselves with the shared command surface before receiving commands. During this registration phase, components declare which commands they can handle and establish their association with the command surface. This preliminary registration creates a lookup table or mapping that the command manager uses to quickly and accurately route commands to the correct component, eliminating the need for complex real-time determination logic.
Data Source
AI summary
The same command surface on a page may be associated with unrelated components and applications. Each of the components registers the commands associated with a shared command surface that they will be utilizing. Each component may utilize an arbitrary number of commands that are associated with the command surface. The command manager acts as a message broker between the components on the page and the command surfaces. When a command that is associated with a command surface is received, the command manager dispatches the command message to the appropriate components.


