Spreadsheet-Based Application Generation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing software applications requires specialized skills beyond those typically associated with spreadsheet programming, making it difficult for users with spreadsheet expertise to create applications that can be distributed through app stores.

Innovation Solution

A system and method that allows users to generate software applications from spreadsheets by identifying and selecting spreadsheet components, which are then used to create application components, enabling users to design and publish applications through an app store without needing advanced application development skills.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users with spreadsheet expertise attempt to develop software applications using traditional application development methods, then the application functionality and features can be enhanced, but the development complexity and skill requirements increase significantly

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

Solution Approach 1:

The patent introduces an intermediary system that automatically translates spreadsheet components and logic into application code. This mediator handles the complex translation process, allowing users to work with familiar spreadsheet tools while generating sophisticated applications without needing to master application development complexities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system copies the familiar spreadsheet environment and components into the application development process. Users work with spreadsheet objects, formulas, and interfaces that they already know, and the system copies this known environment to generate the application, eliminating the need to learn new development paradigms.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If traditional application development methods are used, then applications can be distributed through app stores with enhanced capabilities, but the time and resources required for development increase

Engineering Contradiction:
Improveapplication distribution capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating application code, project structures, and configuration files from the spreadsheet before the user begins actual application development. This pre-processing eliminates the need for users to manually set up development environments and write boilerplate code, significantly reducing development time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the fundamental parameter of development input from application code to spreadsheet components. By accepting spreadsheets as input and automatically translating them into applications, the system transforms the development process from a time-intensive coding activity to a faster spreadsheet-based design activity.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If users learn specialized application development skills, then they can create more sophisticated applications, but the learning curve and skill requirements increase

Engineering Contradiction:
Improveapplication sophisticationVSAvoidease of development
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system provides universality by making spreadsheet skills sufficient for application development. Instead of requiring users to learn multiple specialized skills for different application types, the system allows a single spreadsheet skill set to generate various kinds of applications, simplifying the development process while maintaining sophistication.

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

4Ease of manufacture

If spreadsheet components are automatically identified and converted to application components, then the development process is simplified, but the accuracy of component identification must be maintained

Engineering Contradiction:
Improveease of application generationVSAvoidcomponent identification accuracy
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The system employs feedback mechanisms where the automatic component identification process is continuously refined based on analysis of spreadsheet structures, user corrections, and conversion results. This feedback loop maintains high accuracy in identifying which spreadsheet components should become application components while keeping the process automated and easy to use.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9298454B2Using spreadsheets as a basis for enhanced application development
Publication Date: 2016.03.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9298454B2 patent drawing
  • US9298454B2 patent drawing
  • US9298454B2 patent drawing

AI summary

Systems, methods, and software are disclosed herein for designing applications. In an implementation, a method comprises examining a spreadsheet to identify a plurality of spreadsheet components of the spreadsheet with which to generate a plurality of application components for potential inclusion in a software application under design. The method also comprises receiving user input comprising a plurality of design instructions to include in the software application at least some of the plurality of application components and generating at least an instance of the software application comprising the plurality of application components.