Spreadsheet Gadget Binding via API for Custom Functionality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users and businesses face difficulties in adding custom functionality to spreadsheet applications due to the complexity and limitations of programming these additions, which are often restricted by the exposed functionality of the spreadsheet application.

Innovation Solution

The integration of gadgets with spreadsheets using an Application Programming Interface (API) allows gadgets to bind to ranges of cells or objects within a spreadsheet, enabling notifications and actions based on user interactions while protecting backend logic and calculation details, allowing for enhanced customization and data rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users program custom functionality directly in the spreadsheet application, then the functionality is integrated within the spreadsheet environment, but the complexity and limitations of the spreadsheet's exposed programming interface restrict the customization capability

Engineering Contradiction:
Improvecustomization capabilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces gadgets as intermediary components that bridge the spreadsheet application and external services or functionalities. Instead of programming custom functionality directly in the spreadsheet, users can deploy gadgets that act as mediators, exposing rich functionality through a simpler interface while handling complex operations externally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the spreadsheet functionality into core spreadsheet operations and extendable gadget operations. By separating these concerns, the system allows users to leverage existing spreadsheet capabilities while adding custom functionality through independently deployable gadgets, reducing the complexity of integrating custom features directly into the spreadsheet engine.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If gadgets are integrated with the spreadsheet calculation engine, then enhanced functionality and data access are achieved, but the risk of unauthorized access to backend logic and calculation details increases

Engineering Contradiction:
Improvefunctionality enhancementVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements security mechanisms where gadgets act as controlled intermediaries between users and the spreadsheet calculation engine. The system mediates gadget access to backend logic through authenticated APIs, allowing functionality enhancement while maintaining security boundaries that prevent unauthorized access to sensitive calculation details.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies different security qualities to different parts of the system. Sensitive backend logic and calculation details are protected with higher security measures, while gadget interfaces expose only necessary functionality with appropriate access controls. This localized security approach allows functionality enhancement in safe areas while protecting critical components.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If gadgets render data from the spreadsheet, then data visualization and interaction are improved, but the potential for outdated data requests may arise without proper detection mechanisms

Engineering Contradiction:
Improvedata interactionVSAvoiddata currency
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent implements feedback mechanisms where the spreadsheet system monitors and tracks data requests from gadgets. When data changes occur in the spreadsheet, the system provides feedback to associated gadgets, enabling them to detect and prevent outdated data requests by comparing current data states with cached or previously requested data.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9514116B2Interaction between web gadgets and spreadsheets
Publication Date: 2016.12.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9514116B2 patent drawing
  • US9514116B2 patent drawing
  • US9514116B2 patent drawing

AI summary

Gadgets integrate with spreadsheets and the spreadsheet calculation engine. A gadget is bound to a range of cells (one or more) within a sheet. When one or more of the cells of the bound range is accessed (e.g. selected, hovered over, edited, deleted, added), the gadget is notified. The gadget may use this information for updating a display rendered by the gadget and/or performing some other action. The gadget uses an Application Programming Interface (API) to create the binding, communicate with the spreadsheet, and perform actions in the spreadsheet. The gadget is a Named Item object within the spreadsheet such that the gadget may be viewed/displayed differently from other objects. Out of date requests from the gadget are attempted to be detected and prevented from being processed such that the gadget is not acting on the latest data.