Focus Management in Software Applications Using Monofocus Areas
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


