Context-Based Data Schema Code Hinting for Software Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software development tools provide overly broad code hinting options, reducing usability by presenting data schema hints for all data sources, rather than considering the context of the developer's current work region, leading to decreased efficiency and increased errors.

Innovation Solution

Implement context-based data schema code hinting by defining regions within the code, such as using the tag, and providing hints only for the data sources referenced by the specific region the developer is working in, detected through triggers like the '{' character.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software development tools provide code hinting for all data sources, then completeness of code hints is improved, but usability and efficiency deteriorate due to overly broad options and extensive lists

Engineering Contradiction:
Improvecompleteness of code hintsVSAvoidusability of code hinting
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the codebase into distinct regions (e.g., using tags like <div>, <table>, <form>) and associates each region with specific data sources. When providing code hints, the system only presents data schemas relevant to the currently active region rather than all data sources in the project. This segmentation resolves the contradiction by maintaining completeness within the relevant context while eliminating irrelevant options, thereby improving usability without sacrificing completeness of relevant hints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by making code hinting context-dependent on the specific region where the developer is working. Different regions of the code receive different sets of code hints based on their associated data sources. This ensures that the code hints are complete for the local context (improving reliability) while avoiding the presentation of globally relevant but locally irrelevant options (improving ease of operation).

Inventive Principle:
Principle #3Local quality

2Reliability

If traditional software development tools provide code hinting for all data sources, then completeness of code hints is improved, but coding efficiency and accuracy worsen due to extensive lists requiring sifting

Engineering Contradiction:
Improvecompleteness of code hintsVSAvoidcoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting the code into regions and associating each region with specific data sources, the system presents only the subset of data schemas relevant to the current region. This reduces the number of hints from the complete set of all data sources to a focused subset, directly improving coding efficiency by eliminating the need to sift through extensive irrelevant lists while maintaining completeness of the relevant hints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by providing code hints for only the necessary subset of data sources associated with the current region rather than providing hints for all data sources. This partial provision of hints improves productivity by reducing the cognitive load and time required to find the correct data schema, while still maintaining completeness for the relevant context.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If traditional software development tools provide broad code hinting options, then coverage of all possible data sources is improved, but coding accuracy worsens due to increased errors from overwhelming developers

Engineering Contradiction:
Improvecoverage of data sourcesVSAvoidcoding accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent segments the overall codebase into multiple regions, each associated with specific data sources. This segmentation allows the system to maintain coverage of all data sources across the entire project (reliability) while presenting only the relevant subset for each specific region (accuracy). The segmentation creates a mapping between regions and their associated data sources, enabling context-aware hinting that reduces errors by preventing developers from being overwhelmed with irrelevant options.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by tailoring the code hints to the specific local context (region) where the developer is working. Each region receives code hints appropriate to its associated data sources, ensuring that the hints are both complete for that local context and limited enough to avoid overwhelming the developer. This local adaptation improves coding accuracy by reducing the cognitive load and potential for errors while maintaining comprehensive coverage across the entire codebase.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9311059B2Software development tool that provides context-based data schema code hinting
Publication Date: 2016.04.12 ADOBE INC
  • US9311059B2 patent drawing
  • US9311059B2 patent drawing
  • US9311059B2 patent drawing

AI summary

A software application development tool provides context-based data schema code hinting. Code “regions” are defined in the code for an application that is under development. One or more data sources that are referenced by a code region may be defined. The development tool detects when a designer is attempting to reference a data schema, such as by detecting that the designer has input a specified trigger, within a region of the code, and in response, the development tool provides code hints for the data schema for corresponding data source(s) that is/are referenced in the corresponding code region in which the designer is working. Thus, rather than providing data schema code hinting for all data sources referenced by the application, targeted code hinting is employed by presenting data schema code hints for only the data source(s) that are referenced by a defined code region in which the designer is working.