UI Screen Prefetching for Fresh Cached Navigation Views
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Caching of user interface screens in software applications leads to stale data when underlying data is modified, resulting in unnecessary resource expenditure and user inconvenience due to the need for manual refreshes.
Innovation Solution
A software application tracks previously viewed user interface screens and identifies stale subsets, incrementally prefetching the next expected screen to be revisited, ensuring updated content is available without additional network calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server device regenerates and transmits updated versions of all previously viewed UI screens that are affected by data modification, then data consistency is maintained, but computing and communication resources are unnecessarily expended
Solution Approach 1:
The software application proactively identifies and pre-fetches the next UI screen that is expected to be revisited before the user actually requests it. This preliminary action ensures that when the user navigates to that screen, the updated version is already available in the cache, avoiding the need for reactive server calls and reducing unnecessary resource expenditure on screens that may not be viewed.
Solution Approach 2:
Instead of regenerating and transmitting updated versions of all previously viewed UI screens (excessive action), the system selectively identifies only the specific UI screen that is expected to be revisited next (partial action). This selective approach maintains data consistency for the relevant screen while avoiding the resource waste of updating all cached screens.
2Speed
If the software application caches UI screens to improve responsiveness, then user interface responsiveness is improved, but data staleness occurs over time
Solution Approach 1:
The system performs preliminary identification of which UI screen will be revisited next and pre-fetches its updated version before the user navigation occurs. This ensures that when the user accesses the screen, the data is already fresh and updated, eliminating the staleness problem while maintaining rapid responsiveness.
Solution Approach 2:
The system uses a dependency map that tracks relationships between UI screens and underlying data, along with a navigation stack that monitors user navigation patterns. This feedback mechanism allows the system to intelligently determine which cached screens need updating based on actual data modifications and predicted user behavior, rather than blindly refreshing all cached content.
3Loss of information
If the software application manually refreshes UI screens to obtain updated data, then data freshness is maintained, but user convenience is reduced
Solution Approach 1:
The system automatically performs the refresh operation without requiring user intervention. By monitoring data modifications and predicting which UI screen will be revisited next, the system self-services by fetching updated content in the background, eliminating the need for users to manually trigger refreshes and thereby maintaining both data freshness and user convenience.
Solution Approach 2:
The system preemptively fetches updated UI screen content before the user needs it, based on predicted navigation patterns. This preliminary action eliminates the need for manual refreshes by ensuring updated data is already available when the user navigates to the screen, thereby maintaining data freshness while preserving user convenience.
Data Source
AI summary
An embodiment may include determining user interface (UI) screens of an application that have been navigated to by way of a UI of the application. The embodiment may also include receiving an interaction with a UI component of a current UI screen of the UI screens and, based on receiving the interaction, determining a next UI screen of the UI screens that is expected to be revisited after the current UI screen. The embodiment may additionally include, prior to receiving a request to navigate to the next UI screen, transmitting, to a server device, a query for an updated version of the next UI screen, receiving, from the server device, a response including the updated version of the next UI screen, and, based on receiving the request to navigate to the next UI screen, displaying, based on the response, the updated version of the next UI screen.


