Focus Management in Software Applications Using Monofocus Areas

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for managing focus in graphical user interfaces (GUIs) are inefficient, requiring separate focus managers and resource-intensive multithreaded event processing, which interfere with legacy systems and necessitate user-specific actions across multiple components.

Innovation Solution

A method for focus management in software applications using Node objects with routines to determine focus, handle events, and establish monofocus areas with a single focus root, allowing for efficient event processing and preservation of focus across a hierarchy of Node objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple focus managers and multithreaded event processing are employed to enable simultaneous input across multiple applications, then the capability to receive simultaneous user input is improved, but the device complexity and resource consumption increase significantly

Engineering Contradiction:
Improvesimultaneous input capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the event processing system by introducing a secondary event processing thread that operates independently from the traditional operating system event thread. This segmentation allows simultaneous processing of multiple input events without requiring complex multithreaded architectures across the entire system, thereby enabling simultaneous input capability while controlling system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a secondary event processing thread as an intermediary layer between the operating system event thread and the application event handling. This intermediary thread receives, queues, and processes events sequentially, acting as a buffer that enables simultaneous input capability without requiring the entire system to adopt complex multithreaded event processing architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a secondary event processing thread is introduced to bypass sequential processing limits, then the processing speed and simultaneity of event handling is improved, but the interference with legacy systems increases

Engineering Contradiction:
Improveevent processing speedVSAvoidinterference with legacy systems
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The secondary event processing thread serves as an intermediary that interfaces with the traditional operating system event thread without disrupting its sequential processing nature. It receives events from the OS thread, maintains its own event queue, and processes events independently, thereby improving processing speed while minimizing interference with legacy systems

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The event processing architecture is segmented into two independent threads: the traditional OS event thread for legacy compatibility and the secondary event processing thread for enhanced performance. This segmentation allows the secondary thread to operate at higher speeds without affecting the sequential processing guarantees of the legacy OS thread

Inventive Principle:
Principle #1Segmentation

3Productivity

If separate event distribution manager and multithreaded event processing are implemented, then the capability to handle simultaneous events is improved, but the resource consumption increases

Engineering Contradiction:
Improveevent handling capabilityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The secondary event processing thread implements self-service mechanisms by maintaining its own event queue and processing events independently without requiring additional resource management infrastructure. It autonomously manages its event flow, reducing the need for separate event distribution managers and associated resource overhead

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9792009B2Method and system for focus management in a software application
Publication Date: 2017.10.17 ADVANCED DIGITAL BROADCAST
  • US9792009B2 patent drawing
  • US9792009B2 patent drawing
  • US9792009B2 patent drawing

AI summary

A method for focus management in a software application, wherein at least a subset of Node objects of said software application forms a hierarchy of Node objects and wherein each Node object of said hierarchy of Node objects of said software application comprises: a first routine that when returning true denotes that the Node object is a focused one; and a second routine that when returning true denotes that the Node object is a focused, or at least one of its descendants is a focused; a routine for handling an incoming event; the method comprising the steps of: providing, for each Node object of said hierarchy of Node objects a third routine, that when returning true denotes that the Node object and all descendants of the Node object, excluding these Node objects for which the third routine returns true, forms a single monofocus area having a single focus root.