Dynamic Deep Link Determination for App Intent Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application manifests are static and cannot dynamically determine relevant actions for servicing broadcasted intents, particularly when specific recipients or actions are not pre-declared, limiting the ability to select relevant applications for actions like sharing data.

Innovation Solution

A method and system that dynamically determine deep links to actions performable by applications based on broadcasted intents, allowing users to select from a subset of deep links displayed in a graphical user interface, enabling relevant actions to be performed by secondary applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If application manifests are made static to simplify system design, then device complexity is reduced, but adaptability to dynamically determine relevant actions for servicing broadcasted intents deteriorates

Engineering Contradiction:
Improvesystem design complexityVSAvoidadaptability to determine relevant actions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic deep link determination by allowing the system to generate and update deep links at runtime based on broadcasted intents and application capabilities, rather than relying on static manifests. The service dynamically determines which applications can service a given intent and creates corresponding deep links, enabling the system to adapt to new applications and intents without requiring manifest updates.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If all available applications are listed to ensure complete coverage of possible actions, then adaptability is improved, but device complexity and user interface complexity increase

Engineering Contradiction:
Improvecoverage of available actionsVSAvoidinterface complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and displays only the most relevant deep links from the set of all possible deep links. The service determines relevance based on the broadcasted intent and application capabilities, then presents a filtered subset to the user. This extraction approach maintains complete coverage of available actions while reducing interface complexity by showing only the most pertinent options.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If deep links are determined dynamically to improve relevance, then adaptability is improved, but loss of time for processing and determining relevant actions increases

Engineering Contradiction:
Improverelevance of determined actionsVSAvoidprocessing time for deep link determination
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having applications pre-register their capabilities and supported intents in advance. When a broadcasted intent occurs, the service can quickly match the intent against pre-registered capabilities rather than analyzing all applications from scratch. This preliminary registration approach maintains dynamic relevance while reducing the time required for deep link determination at runtime.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10127089B2Dynamic deep links to targets
Publication Date: 2018.11.13 GOOGLE LLC
  • US10127089B2 patent drawing
  • US10127089B2 patent drawing
  • US10127089B2 patent drawing

AI summary

A computing device may receive from a first application executing on at least one processor an indication of an action to be performed. The computing device may determine, based on at least the indication of the action to be performed, a plurality of deep links to a plurality of actions performable by a plurality of applications. The computing device may select a subset of deep links from the plurality of deep links. The computing device may output for display a graphical user interface including an indication of each deep link from the subset of deep links. The computing device may receive an indication of a user input, the user input corresponding to a selection of one of the deep links from the subset of deep links. A second application executing on the at least one processor may perform an action linked to by the selected deep link.