Web Extension Data Binding for Online Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users and businesses face difficulties in adding custom functionality to spreadsheet and document applications, as programming these additions can be complex and challenging.

Innovation Solution

A method and system that allows binding a range of data in online documents to web extensions, enabling updates based on user interactions, with the updated data being sent to a remote computing device for processing and rendering within the web extension.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users attempt to add custom functionality to spreadsheet applications through programming, then functionality is extended, but programming complexity increases

Engineering Contradiction:
Improvecustom functionalityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces web extensions as an intermediary layer between the spreadsheet application and custom functionality. These web extensions run in a browser environment within the application, allowing users to add custom features through web-based code rather than requiring complex programming in the application's native language. The web extension acts as a mediator that bridges the gap between simple user needs and complex functionality requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional programming mechanism (writing code in the application's native language) with a web-based mechanism (HTML, CSS, JavaScript). This substitution allows users with web development skills but limited programming experience in spreadsheet applications to easily add custom functionality. The web technology stack replaces the complex application-specific programming model with a more accessible and familiar web development approach.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of operation

If web extensions are used to add functionality, then ease of operation improves, but system complexity increases

Engineering Contradiction:
Improveease of adding functionalityVSAvoidsystem architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a universal binding mechanism that works across different types of data ranges and web extensions. The binding system provides a unified interface for connecting spreadsheet data to web extension inputs, regardless of the specific data type or extension functionality. This universal approach simplifies the user experience while the underlying system handles the complexity of different data types and extension requirements through standardized binding protocols.

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

Solution Approach 2:

The patent segments the system into distinct components: the spreadsheet application, the web extension running in the browser, and the binding mechanism connecting them. This segmentation allows each component to remain relatively simple while the integrated system provides powerful functionality. The web extension handles its own rendering and logic, the spreadsheet manages data, and the binding coordinates between them, reducing overall system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

3Speed

If data binding is implemented for real-time updates, then functionality responsiveness improves, but processing overhead increases

Engineering Contradiction:
Improveupdate responsivenessVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements a feedback mechanism where the binding system monitors changes in spreadsheet data and automatically triggers updates in the web extension when relevant changes occur. This feedback loop ensures real-time responsiveness without continuous polling, as updates are triggered only when necessary. The system establishes a watch relationship between the data range and the web extension, creating an event-driven update mechanism that balances responsiveness with processing efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9171099B2System and method for providing calculation web services for online documents
Publication Date: 2015.10.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9171099B2 patent drawing
  • US9171099B2 patent drawing
  • US9171099B2 patent drawing

AI summary

Embodiments of the present disclosure provide a method and system for providing additional functionality, including web functionality, to one or more online documents. Specifically, embodiments described herein include receiving a selection of a range of data to be used in a web extension and binding the selection of the range of data to the web extension. Once the data is bound, the binding is stored in a remote computing device. In response to the detection of the interaction with the bound range of data, the bound range of data is sent to the remote computing device where the bound range of data is updated based on the interaction. The updated data is then sent to the web extension to enable the web extension to be updated with the newly received data.