Common Extension Platform API for Cross-Application Interaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for developing extensions require application-specific development, leading to increased burden on developers and limited user flexibility in using extension capabilities across different applications and platforms.

Innovation Solution

A common extension platform is introduced, providing a set of common application programming interfaces (APIs) that enable extensions to interact with multiple applications, along with a unified entry point and permission system for simplified user interaction and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If application-specific extensions are developed for different applications, then each application can have customized functionality, but the development burden increases and user flexibility decreases

Engineering Contradiction:
Improveextension functionalityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal extension platform that allows a single extension to interact with multiple different applications through a common API surface. This enables extensions to provide customized functionality across multiple applications without requiring separate application-specific extensions for each application, thereby reducing development complexity while maintaining adaptability.

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

Solution Approach 2:

The patent introduces a common extension platform as an intermediary layer between extensions and applications. This platform provides standardized APIs that mediate the interaction between extensions and multiple applications, eliminating the need for developers to create separate integration code for each application and reducing overall development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If application-specific extensions are developed for different applications, then each application can have customized functionality, but user flexibility to use extensions across applications is limited

Engineering Contradiction:
Improveextension functionalityVSAvoiduser flexibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent enables extensions to function across multiple applications through a universal platform, allowing users to leverage the same extension capabilities (e.g., dictionary-based extensions) across all supported applications. This significantly improves user flexibility without compromising the customized functionality each application can provide.

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

3Adaptability or versatility

If multiple application-specific extensions are developed, then comprehensive coverage across applications is achieved, but programming and computing resources are consumed

Engineering Contradiction:
Improveextension coverageVSAvoidcomputing resources
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent merges the functionality of multiple application-specific extensions into a single universal extension platform. By consolidating extension logic and interaction code into one platform that serves multiple applications, the system reduces the total programming and computing resources required compared to maintaining separate extensions for each application.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10185819B2Extension configuration and interaction
Publication Date: 2019.01.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10185819B2 patent drawing
  • US10185819B2 patent drawing
  • US10185819B2 patent drawing

AI summary

Techniques for extension interaction with applications are described. Generally, an extension represents functionality for extending, modifying, customizing, and/or supplementing native functionality of an application. Techniques discussed herein provide a common extension platform that enables an extension to interact with multiple different applications utilizing components of the platform. The common extension platform, for instance, exposes a set of common extension application programming interfaces (APIs) that provide a common interaction surface between extensions and applications.