Mobile App UI State Preservation via Tombstone List

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile device operating systems often lose user interface state information when a user navigates away from an application and returns, leading to an undesirable and cumbersome experience as users must re-enter control values and states.

Innovation Solution

Implementing a tombstone list and page state dictionary to store and restore user interface state information, allowing applications to register controls for tombstoning, which are then saved and revived when the user navigates away and back to the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the operating system kills the application when the user navigates away, then battery life is conserved and memory is freed, but user interface state information is lost

Engineering Contradiction:
Improvebattery lifeVSAvoiduser interface state information
Core Design Contradiction:
Use of energy by moving objectVSLoss of information

Solution Approach 1:

The patent applies preliminary action by saving the user interface state information (control values, scroll positions, etc.) to a data structure called a tombstone before the application is killed by the operating system. This ensures that when the application is restarted, the state information is already available and can be restored without requiring the user to re-enter data.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If event-driven logic is written on every page to store and restore control states, then user interface state information is preserved, but testing cost increases significantly

Engineering Contradiction:
Improveuser interface state informationVSAvoidtesting cost
Core Design Contradiction:
Loss of informationVSEase of manufacture

Solution Approach 1:

The patent implements universality by creating a base class (PhoneApplicationPage) that provides universal tombstoning functionality for all pages in the application. Instead of implementing event-driven logic on every individual page, the base class handles the storage and restoration of control states automatically. This reduces testing requirements since the functionality is tested once at the base class level rather than on each page separately.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent applies self-service by enabling pages to automatically register their controls with the tombstone list through the OnNavigatingFrom event handler in the base class. The system automatically saves and restores control states without requiring manual intervention or additional testing for each control on each page.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If control states are stored and restored for every page, then user experience is seamless, but device memory usage increases

Engineering Contradiction:
Improveuser experienceVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent applies the taking out principle by extracting only the essential user interface state information (control values, scroll positions, selected items) into a compact data structure called a tombstone. Rather than storing entire page objects or redundant data, only the critical state information is preserved, minimizing memory usage while maintaining seamless user experience upon application restart.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10528232B2Automatic lifecycle management for pages on a mobile application
Publication Date: 2020.01.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10528232B2 patent drawing
  • US10528232B2 patent drawing
  • US10528232B2 patent drawing

AI summary

User interface state (UI) information (such as UI control values) are stored and revived when the user navigates and returns to an application. When an instance of a page is created, the page registers with a tombstone list and indicates which page state information on the page is to be stored and revived when a user navigates away from the application. When the user provides an input indicating navigation away from the application, the application accesses the tombstone list and stores the UI page state information. UI page state information is stored in a page state dictionary data structure that corresponds to the current instance of the page. Then, when the user navigates back to the application, the application accesses the page state dictionary and restores the values of the UI page state information so that the user interface display is in the same state as when the user navigated away from the application.