Context-Aware Viewport Module for IDE Scrolling Context

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users viewing or editing long documents in integrated developer environments (IDEs) often struggle to identify the current functional section or method being viewed, as existing highlighting methods can be misleading when the viewport is scrolled, especially if the editing cursor is moved within a method.

Innovation Solution

A context-aware viewport module is implemented in the graphical user interface, comprising an informational portion that provides real-time context-aware information when the viewport is scrolled, ensuring users always know the method or section being viewed by continuously updating the displayed context.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If the viewport is scrolled to view different sections of a long document, then more content becomes visible, but the user loses awareness of the current functional section or method being viewed

Engineering Contradiction:
Improvevisible content areaVSAvoidcontext awareness
Core Design Contradiction:
Area of stationary objectVSLoss of information

Solution Approach 1:

The interface is divided into two distinct portions: a viewport portion for displaying document content and an informational portion for displaying context awareness information. This segmentation allows both functions to coexist without interfering with each other, enabling users to view more content while maintaining context awareness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The informational portion acts as an intermediary that bridges the viewport content and the user's understanding. It provides real-time context information about the current section or method being viewed, mediating between the scrolled viewport content and the user's cognitive model of the document structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the editing cursor is moved within a method, then text editing becomes more flexible, but the outline highlight becomes misleading regarding the current section

Engineering Contradiction:
Improvetext editing flexibilityVSAvoidoutline highlight accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The informational portion provides continuous feedback about the current context based on the actual viewport position, not just the cursor position. This feedback mechanism ensures that the displayed context information remains accurate and reliable regardless of where the cursor is located within the method, resolving the misleading highlight problem.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If a hierarchical outline is used to highlight the method name, then navigation becomes easier, but the highlight does not update when the viewport is scrolled away from that method

Engineering Contradiction:
Improvenavigation easeVSAvoidcurrent section information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The context awareness information dynamically updates based on the viewport's scroll position. Unlike static outline highlights that remain fixed, the informational portion continuously adapts to reflect the current visible section, ensuring navigation assistance remains accurate and useful throughout scrolling operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7735019B2Method for providing functional context within an actively scrolling view pane
Publication Date: 2010.06.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7735019B2 patent drawing
  • US7735019B2 patent drawing
  • US7735019B2 patent drawing

AI summary

A method, system and computer-usable medium for using a context aware viewport module to graphically display, and interact with, a viewport. The context aware viewport is implemented in a graphical user interface (GUI) and comprises a spatially context aware informational portion and a viewport portion.