Mobile App Deep Linking via UI Event Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile applications often lack deep linking functionality to specific states, making it difficult for users to access internal app states from external sources, requiring significant developer effort and expertise, which can be a barrier due to time, budget, or expertise constraints.

Innovation Solution

A routing library is provided that can be integrated into mobile applications, allowing developers to expose deep linking capabilities without extensive code modifications, enabling external access to app states through a developer portal that determines UI action sequences to simulate user interactions, thus facilitating deep linking without requiring deep linking expertise.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If deep linking functionality is implemented manually by developers, then deep states can be accessed from external sources, but it requires significant developer effort and expertise in deep linking

Engineering Contradiction:
Improvedeep linking capabilityVSAvoiddeveloper effort and expertise
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An automated deep linking system acts as an intermediary between external sources and app deep states. The system includes a deep linking manager that receives deep link requests, parses them to identify target deep states, and automatically navigates to those states without requiring manual developer configuration for each link. This mediator handles the complexity of deep linking internally while presenting a simple interface to external sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The app performs self-service deep linking by maintaining an internal registry of its own deep states and navigation paths. When a deep link request is received, the system autonomously resolves the link to the appropriate deep state using its built-in navigation logic, without requiring external developers to implement custom deep linking code. The app serves itself by managing deep state exposure independently.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If deep linking is not implemented, then developer resources can be allocated to other priorities, but deep states remain inaccessible from external sources requiring manual user navigation

Engineering Contradiction:
Improveuser navigation to deep statesVSAvoiduser interaction time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system pre-registers and pre-processes deep state information during app initialization or build time, creating a ready-to-use deep linking registry. When a deep link is received, the navigation path has already been prepared and validated, allowing immediate execution without requiring users to manually navigate through multiple screens. The heavy lifting of path determination is done in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The manual mechanical process of users copying and pasting search results into search fields is replaced with an automated electronic deep linking system. External sources can directly invoke deep states through structured deep link URLs, and the system automatically translates these URLs into the corresponding navigation sequences, substituting manual user actions with automated programmatic navigation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If deep linking expertise is required, then deep states can be properly exposed, but developers without such expertise cannot implement deep linking functionality

Engineering Contradiction:
Improvedeep state exposureVSAvoidimplementation ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The deep linking system is designed as a universal framework that can be applied to any mobile app regardless of its specific functionality or domain. The system provides standardized interfaces and methods for registering deep states and handling deep link requests, making deep linking capability available to all developers through a common mechanism rather than requiring app-specific custom implementations.

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

Solution Approach 2:

The system changes the parameter of implementation complexity by providing high-level abstractions and automated tools. Instead of requiring developers to manually configure complex navigation paths and state mappings, the system accepts simple deep state identifiers and automatically generates the necessary navigation logic, effectively transforming a complex parameter (implementation difficulty) into a simple one (state registration).

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3342145B1Deep linking to mobile application states through programmatic replay of user interface events
Publication Date: 2023.05.03 SAMSUNG ELECTRONICS CO LTD
  • EP3342145B1 patent drawingFigure 1
  • EP3342145B1 patent drawingFigure 2
  • EP3342145B1 patent drawingFigure 3A

AI summary

A mobile application development system includes a developer portal that receives a first application from a first developer and provides a routing library to the first developer for incorporation into the first application. An offline analysis system executes the first application and, during execution, monitors a sequence of user interface (UI) events initiated by an operator starting from an initial state and proceeding to a first state. The offline analysis system stores the sequence of UI events as a first data structure corresponding to the first state. The routing library includes instructions that, subsequent to installation of a copy of the first application in a user device, receive a link from an operating system of the user device identifying the first state and, based on the first data structure corresponding to the first state, replay, in order, each UI event from the sequence of UI events to the first application.