# US RE50,483 E1 · Use-case-based application installation and switching to a second application to perform an action

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US RE50,483 E1
- Document ID: USRE50483E1
- Status: Granted
- Kind: E1
- Application number: 16/999,886
- Filed: 2020-08-21
- Granted: 2025-07-08
- Earliest claimed: 2014-12-10
- Assignees: Button, Inc.
- Applicants: Button, Inc.
- Inventors: Christopher James Maddern; Wesley Duncan Smith
- Web page: https://patentgrep.com/patent/USRE50483E1

## CPC

- G06F 8/61: Installation
- G06Q 20/12: specially adapted for electronic shopping systems
- G06Q 20/123: {Shopping for digital content}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The present disclosure describes methods, systems, and computer program products for providing contextual ecommerce shopping cart adjustments. An indication of an expressed intent to perform an action not available in a first application is received. One or more applications capable of fulfilling the action are requested from a Service, the request to the Service including available contextual data. A policy and a list of applications that can fulfill the action are received. A second application is selected to perform the action based on the policy. A response is received from a transmitted query to an operating system to determine if the second application is installed, wherein the response indicates whether the second application is installed. The second application is installed if the second application is not installed. A deep link is executed into the second application so that the second application can automatically perform the action.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving, by a first user application executing on a mobile computing device, an indication on a mobile computing device of an expressed intent to perform an action not available in a the first application executing on the mobile computing device;
requesting, by the first user application, a list of one or more applications capable of fulfilling the action from a contextual application determination Service, wherein the request to the contextual application determination Service includes available contextual data, and wherein the contextual application determination Service is remote from the mobile computing device;
receiving, by the first user application, a policy and a list of applications that can fulfill the action, wherein the policy instructs the first user application to either favor applications on the list of applications that are or are not installed;
selecting, by the first user application, a second application from the list of applications to perform the action based on the policy;
transmitting, by the first user application, a query to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device;
receiving, by the first user application, a response from a to the transmitted query, to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device, wherein the response indicates indicating whether the second application is installed; and
installing the second application on the mobile computing device if in response to determining the second application is not installed; and.
executing a deep link into the second application so that the second application can automatically perform the action.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the received list of applications that can fulfill the action is prioritized.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, comprising enumerating the list of applications that can fulfill the action.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, comprising triggering an operating system to install the second application.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, comprising determining whether the second application is installed.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, comprising, following the determination whether the second application is installed, determining whether a timeout period has elapsed.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1 21, wherein the deep link uses a custom uniform resource locator (URL) protocol registered to the second application that describes a specific action to perform or content to display using the second application.

### Claim 8

A non-transitory, computer-readable medium storing computer-readable instructions for providing contextual ecommerce shopping cart adjustments, the instructions executable by a computer and comprising:
receiving, by a first user application executing on a mobile computing device, an indication on a mobile computing device of an expressed intent to perform an action not available in a the first application executing on the mobile computing device;
requesting, by the first application, a list of one or more applications capable of fulfilling the action from a contextual application determination Service, wherein the request to the contextual application determination Service includes available contextual data, and wherein the contextual application determination Service is remote from the mobile computing device;
receiving, by the first application, a policy and a list of applications that can fulfill the action;, wherein the policy instructs the first user application to either favor applications on the list of applications that are or are not installed;
selecting, by the first application, a second application from the list of applications to perform the action based on the policy;
transmitting, by the first user application, a query to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device;
receiving, by the first application, a response from a to the transmitted query, to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device, wherein the response indicates indicating whether the second application is installed; and
installing the second application on the mobile computing device if in response to determining the second application is not installed; and.
executing a deep link into the second application so that the second application can automatically perform the action.

### Claim 9 (depends on 8)

The non-transitory, computer-readable medium of claim 8, wherein the received list of applications that can fulfill the action is prioritized.

### Claim 10 (depends on 8)

The non-transitory, computer-readable medium of claim 8, comprising one or more instructions to enumerate the list of applications that can fulfill the action.

### Claim 11 (depends on 8)

The non-transitory, computer-readable medium of claim 8, comprising one or more instructions to trigger an operating system to install the second application.

### Claim 12 (depends on 8)

The non-transitory, computer-readable medium of claim 8, comprising one or more instructions to determine whether the second application is installed.

### Claim 13 (depends on 12)

The non-transitory, computer-readable medium of claim 12, comprising one or more instructions to, following the determination whether the second application is installed, determine whether a timeout period has elapsed.

### Claim 14 (depends on 8)

The non-transitory, computer-readable medium of claim 8 22, wherein the deep link uses a custom uniform resource locator (URL) protocol registered to the second application that describes a specific action to perform or content to display using the second application.

### Claim 15

A system, comprising:
a hardware processor interoperably coupled with a computer memory and configured to:
receive, by a first user application executing on the hardware processor, an indication on a mobile computing device of an expressed intent to perform an action not available in a the first application executing on the mobile computing device;
request, by the first user application, a list of one or more applications capable of fulfilling the action from a contextual application determination Service, wherein the request to the contextual application determination Service includes available contextual data, and wherein the contextual application determination Service is remote from the mobile computing device;
receive, by the first application, a policy and a list of applications that can fulfill the action, wherein the policy instructs the first user application to either favor applications on the list of applications that are or are not installed;
select, by the first application, a second application from the list of applications to perform the action based on the policy;
transmit, by the first user appication, a query to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device;
receive, by the first user application, a response from a to the transmitted query, to an operating system of the mobile computing device to determine if the second application is installed on the mobile computing device, wherein the response indicates indicating whether the second application is installed; and
install the second application on the mobile computing device if in response to determining the second application is not installed; and.
execute a deep link into the second application so that the second application can automatically perform the action.

### Claim 16 (depends on 15)

The system of claim 15, wherein the received list of applications that can fulfill the action is prioritized.

### Claim 17 (depends on 15)

The system of claim 15, further configured to enumerate the list of applications that can fulfill the action.

### Claim 18 (depends on 15)

The system of claim 15, further configured to:
trigger an operating system to install the second application; and
determine whether the second application is installed.

### Claim 19 (depends on 18)

The system of claim 18, further configured to, following the determination whether the second application is installed, determine whether a timeout period has elapsed.

### Claim 20 (depends on 15)

The system of claim 15, wherein the deep link uses a custom uniform resource locator (URL) protocol registered to the second application that describes a specific action to perform or content to display using the second application.

### Claim 21 (depends on 1)

The computer-implemented method of claim 1, further comprising executing a deep link into the second application so that the second application can perform the action.

### Claim 22 (depends on 8)

The non-transitory, computer-readable medium of claim 8, comprising one or more instructions to execute a deep link into the second application so that the second application can perform the action.

### Claim 23 (depends on 15)

The system of claim 15, further configured to execute a deep link into the second application so that the second application can perform the action.
