Source Code Annotation System for Contextual Information Display

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Integrated Development Environments (IDEs) lack easy access to relevant additional information about source code, making it difficult for users to understand and modify code effectively, as this information is often not readily accessible and requires explicit knowledge to retrieve and utilize.

Innovation Solution

A system and method for visualizing additional information about source code by gathering data from various sources and generating annotations that are displayed in close proximity to the code, allowing users to easily access and interact with this information, including inline annotations, actionable items, and expandable layers for different information types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If additional information is made readily accessible to users, then code understanding and usability are enhanced, but the complexity of the system increases

Engineering Contradiction:
Improvecode understandingVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system segments additional information into discrete annotations that are attached to specific code elements. Each annotation represents a separate piece of information (e.g., bug reports, feature requests, documentation) that can be independently generated, stored, and displayed. This segmentation allows the system to manage complexity by organizing information in modular units rather than presenting all information at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces annotations as an intermediary layer between the source code and the user. These annotations serve as mediators that carry additional information (from bug tracking systems, documentation systems, etc.) and present it in a context-relevant manner directly alongside the code. This intermediary mechanism simplifies user interaction by automatically connecting code elements with their associated information without requiring users to manually search or navigate multiple systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If multiple types of information are displayed together, then comprehensive code understanding is achieved, but information overload occurs

Engineering Contradiction:
Improveinformation completenessVSAvoidinformation accessibility
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The system divides comprehensive code information into segmented annotations attached to specific code elements. Each annotation represents a discrete piece of information (bug reports, feature requests, documentation snippets) that can be individually managed and displayed. This segmentation prevents information overload by allowing users to access comprehensive information in manageable, context-specific units rather than presenting all information simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by providing different types of information annotations at different locations in the code based on what is most relevant to that specific code element. Rather than uniformly displaying all information types across the entire codebase, the system tailors the information presented at each location to match the local context and user needs, thereby maintaining information completeness while avoiding generic information overload.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If annotations are displayed inline with code, then code context is preserved, but visual clutter increases

Engineering Contradiction:
Improvecode contextVSAvoidvisual space
Core Design Contradiction:
Ease of operationVSArea of stationary object

Solution Approach 1:

The system resolves the visual clutter issue by moving annotations from the horizontal/vertical plane of the code editor into a third dimension - typically displayed as tooltips, popups, or side panels that appear when users hover over or select annotated code elements. This dimensional transition preserves code context by keeping annotations tightly coupled with their associated code elements while eliminating visual clutter by removing annotation text from the main code viewing area. Users can access comprehensive information on-demand without it permanently occupying visual space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9274756B1System to visualize additional information on source code
Publication Date: 2016.03.01 GOOGLE LLC
  • US9274756B1 patent drawing
  • US9274756B1 patent drawing
  • US9274756B1 patent drawing

AI summary

A system and method are disclosed which provide visual representations of information related to source code, in the form of annotations, to users who are viewing the source code. In an example system, information related to source code may be provided by multiple sources. This information may be displayed as an annotation related to the information in close proximity to the associated source code. When a user selects the annotation, related additional information may be displayed.