Browser Agent Contextual Command Sheet Voice Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Many web applications lack native voice-interface functionality, making it difficult to enable voice support for web pages with elements that are not identifiable from the Document Object Model (DOM) and requiring complex methods to determine which elements to speech-enable.

Innovation Solution

A system that includes a voice application and an agent executing within the browser, which monitors events to identify the current context of the web application and provides information to enable voice interactions for capabilities not exposed by the browser, using a Contextual Command Sheet (CCS) to specify voice interactions and instruct an external speech engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If web applications are made without native voice-interface functionality, then web application development complexity is reduced, but voice interaction capability is lost

Engineering Contradiction:
Improveweb application development complexityVSAvoidvoice interaction capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces a Contextual Command Sheet (CCS) as an intermediary component that bridges web applications and voice interfaces. The CCS contains contextual information about the web application's current state and available commands, allowing the speech engine to understand and process voice inputs without requiring the web application itself to have native voice functionality. This mediator enables voice interaction while keeping the web application development simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a universal voice interface layer that can work with multiple different web applications through the CCS mechanism. Instead of requiring each web application to implement its own voice interface, a single speech-enabled browser component can serve multiple applications by reading their CCS information, making the voice interface capability universal across different web applications.

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

2Adaptability or versatility

If voice interfaces are added to web applications during development, then voice interaction capability is improved, but web application development complexity increases

Engineering Contradiction:
Improvevoice interaction capabilityVSAvoidweb application development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the voice interface functionality into separate components: the speech engine, the CCS, and the web application itself. The CCS is divided into specific elements (context information, command information, parameter information) that can be independently managed. This segmentation allows web developers to work with simplified CCS templates rather than implementing complex voice recognition logic directly in their applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system enables web applications to self-describe their voice interface requirements through the CCS. Instead of requiring external configuration or complex integration, the web application can generate or update its own CCS based on its current state, allowing it to self-service its voice interface needs without increasing development complexity.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If the speech engine monitors all web page elements, then voice interaction accuracy is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvevoice interaction accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential information needed for voice interaction from the web page into the CCS. Instead of monitoring and processing all DOM elements, the system extracts specifically the context information, available commands, and relevant parameters into a streamlined CCS structure. This extraction process reduces the amount of data the speech engine must process while maintaining voice interaction accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The CCS is prepared in advance with all the contextual and command information the speech engine will need. By pre-organizing this information in a structured format before voice interaction begins, the system eliminates the need for real-time analysis of the entire web page structure during speech processing, significantly reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If the speech engine re-reads the entire DOM after each speech act, then voice interaction accuracy is improved, but processing time increases

Engineering Contradiction:
Improvevoice interaction accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The CCS is updated in advance to reflect the current state of the web application after each speech act. Instead of requiring the speech engine to re-read the entire DOM, the CCS is preliminarily updated with new context and command information, allowing the speech engine to continue operating with accurate information without the overhead of repeated DOM parsing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The CCS serves as a simplified copy or representation of the relevant web application state. Instead of working with the complex, full DOM structure, the speech engine operates with this streamlined copy that contains only the necessary information. This copying approach maintains accuracy while dramatically improving processing speed by avoiding repeated full DOM reads.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10157612B2Methods and apparatus for voice-enabling a web application
Publication Date: 2018.12.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10157612B2 patent drawing
  • US10157612B2 patent drawing
  • US10157612B2 patent drawing

AI summary

Methods and apparatus for voice-enabling a web application, wherein the web application includes one or more web pages rendered by a web browser on a computer. At least one information source external to the web application is queried to determine whether information describing a set of one or more supported voice interactions for the web application is available, and in response to determining that the information is available, the information is retrieved from the at least one information source. Voice input for the web application is then enabled based on the retrieved information.