Command Manager Message Broker for Shared UI Surfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomponent integrationVSAvoidcommand management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvecomponent independenceVSAvoidcommand coordination
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecommand surface quantityVSAvoidcommand routing accuracy
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10445114B2Associating command surfaces with multiple active components
Publication Date: 2019.10.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10445114B2 patent drawing
  • US10445114B2 patent drawing
  • US10445114B2 patent drawing

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.