Mimic Components for Web Experimentation Without Flickering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for deploying alternative versions of websites for experimentation are costly in terms of developer time and performance, as they often require full development cycles and can result in undesirable visual effects like flickering due to re-rendering of UI components, and lack robustness due to incomplete testing of test UI components.

Innovation Solution

The use of 'mimic components' that emulate the functionality of hidden UI components, allowing user input to trigger updates to the hidden components' state data, ensuring consistent functionality and look-and-feel without the need for repeated re-rendering, thus reducing development time and increasing robustness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional methods are used to deploy alternative website versions, then experimentation capability is improved, but developer time and cost increase

Engineering Contradiction:
Improveexperimentation capabilityVSAvoiddeveloper time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates mimic components that copy the structure and behavior of original UI components. These mimic components replicate the essential functionality and state management of the original components, allowing rapid deployment of alternative website versions without requiring full re-development. The mimic components serve as lightweight replicas that enable experimentation while significantly reducing developer time and cost.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If UI components are re-rendered frequently for testing, then experimentation flexibility is improved, but visual stability deteriorates due to flickering

Engineering Contradiction:
Improveexperimentation flexibilityVSAvoidvisual stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent introduces mimic components as intermediary elements between the original UI components and the user interface. These mimic components act as mediators that maintain visual stability while enabling experimentation. The mimic components receive state updates from the original components but render independently, preventing the flickering that occurs when original components are repeatedly re-rendered. This intermediary layer allows experimentation flexibility while preserving visual stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If test UI components are developed quickly, then deployment speed is improved, but robustness deteriorates due to incomplete testing

Engineering Contradiction:
Improvedeployment speedVSAvoidrobustness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The mimic components copy not only the visual appearance but also the state management logic and event handling of the original UI components. By replicating the essential functional structure, the mimic components inherit the robustness and reliability of the original components while enabling rapid deployment. This copying approach ensures that even though deployment is fast, the components maintain high reliability because they are based on proven, well-tested original component designs.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11836479B2Mimic components for deploying experimental webpage features
Publication Date: 2023.12.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11836479B2 patent drawing
  • US11836479B2 patent drawing
  • US11836479B2 patent drawing

AI summary

A technique for deploying an experimental version of a webpage includes using a mimic component to emulate functionality of a corresponding hidden UI component. The technique provides for receiving user input at the mimic component and, in response to the user input, executing a functional code block that bidirectionally communicates with an underlying platform code to update state data of the hidden UI component. The technique further provides for detecting, at the mimic component, an update to the state data of the hidden UI component, in response to the detection, updating state data of the mimic component based on the updated state data of the hidden UI component.