Browser Compatibility Shims for Legacy API Support

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web browsers face compatibility issues when new versions are released, as websites authored for specific APIs may not operate properly with modified APIs, leading to a degradation in user experience.

Innovation Solution

Compatibility shims are deployed and updated within the web browser to dynamically change platform features per domain or website, allowing the browser to override versioning logic, modify document modes, user agent strings, and conditional comments, enabling seamless operation with legacy features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a new version of the web browser is released with a modified API, then the browser's functionality and performance are improved, but websites authored for the previous API version may not operate properly

Engineering Contradiction:
Improvebrowser functionalityVSAvoidwebsite compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces compatibility shims as intermediary components that act as mediators between the new browser API and legacy website code. These shims are injected into the browser environment and provide backward-compatible wrappers for deprecated APIs, allowing websites to function correctly without requiring direct updates to their codebase.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by automatically detecting when a website uses deprecated APIs and pre-applying compatibility shims before the website executes its code. This proactive approach ensures that compatibility issues are resolved in advance, preventing errors before they occur during website execution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If compatibility shims are deployed to maintain website compatibility, then website operation is preserved, but browser complexity increases

Engineering Contradiction:
Improvewebsite compatibilityVSAvoidbrowser structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs copying by creating virtual representations of deprecated API interfaces through compatibility shims. Instead of modifying the actual browser codebase to maintain compatibility, the system copies the necessary compatibility behavior into separate shim modules that can be dynamically loaded only when needed, keeping the core browser structure clean and simple.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The compatibility system is segmented into discrete, independently manageable compatibility shims that can be applied selectively to specific websites or API versions. This modular approach allows the browser to maintain compatibility functionality without entangling the core browser codebase, as each shim is a separate unit that can be loaded, unloaded, and updated independently.

Inventive Principle:
Principle #1Segmentation

3Reliability

If compatibility shims are updated frequently to support new browser versions, then website compatibility is maintained, but update frequency and complexity increase

Engineering Contradiction:
Improvecompatibility supportVSAvoidupdate management
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by making compatibility shims configurable and adjustable based on the specific browser version and website requirements. The shims can be dynamically enabled or disabled, and their parameters can be modified without requiring complete redeployment, allowing flexible adaptation to different browser versions and compatibility scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms that automatically detect compatibility issues between websites and the current browser version, then trigger appropriate shim applications or updates. This closed-loop system monitors compatibility status and adjusts shim behavior accordingly, reducing the need for manual update management and ensuring continuous compatibility support.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9444873B2Website compatibility shims
Publication Date: 2016.09.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9444873B2 patent drawing
  • US9444873B2 patent drawing
  • US9444873B2 patent drawing

AI summary

Various embodiments provide compatibility shims that can be utilized by a web browser to dynamically change web browser platform features per domain or website. The compatibility shims can be deployed to the web browser and updated in a manner similar to that of a webpage. In one or more embodiments, the compatibility shims can be utilized to change a browser's behavior and/or the manner in which the browser represents itself per domain or website. Further, the compatibility shims can enable the web browser to dynamically remove or change support for web platform features. In addition, in at least some embodiments, users can apply their own compatibility shims to their own list of websites or webpages.