IP Library Granted Patent US 11,687,973
Granted Patent B2
US 11,687,973 · App. 17/323,380 · Granted Jun 27, 2023

Apparatuses, methods, and computer program products for programmatic cross-application target application program installation

Inventors: Eli Gratz (Chicago, IL); Nicolas Roth (Herrin, IL); Matthew Aaron Gilk (Chicago, IL)
Assignee: GROUPON, INC.
G06Q30/0267G06F3/0425G06Q30/02G06Q30/0271G06Q30/0277G06T1/0021
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,687,973
App. No.
17/323,380
Granted
Jun 27, 2023
Kind
B2
Abstract

Embodiments are provided that perform cross-application installation of a particular target application program. Such embodiments facilitate cross-application installation of the particular target application program through a computer-executable tool capable of incorporation into any number of distinct application programs, including third-party application programs. Some example embodiments incorporate a computer-executable tool within a first application program installed on a mobile device, execute the first application program on the mobile device and, upon such execution, execute the computer-executable tool to detect system data from the mobile device, determine based at least in part on the system data that an application program set installed to the mobile device does not include a target application program, and in response to the determination use the computer-executable tool to cause rendering of a representation of the target application program within a first user interface associated with the first application program.

Claims (80)

1. An apparatus comprising at least one processor and at least one memory having computer-coded instructions stored thereon that, in execution with the at least one processor, configures the apparatus to:

incorporate a computer-executable tool within a first application program installed on a mobile device, the first application program associated with a first code base controlled by a first entity and the computer-executable tool associated with a second code based controlled by a second entity, wherein incorporation of the computer-executable tool within the first application program extends functionality provided by the first application program;

execute the first application program on the mobile device, wherein upon execution of the first application program the apparatus is configured to execute the computer-executable tool incorporated within the first application program to:

detect, via the computer-executable tool, system data from the mobile device, wherein the system data indicates an application program set installed to the mobile device;

determine, via the computer-executable tool and based at least in part on the system data, that the application program set installed to the mobile device does not include a target application program; and

using the computer-executable tool, cause rendering of a representation of the target application program within a first user interface associated with the first application program.

2. The apparatus according to claim 1 , wherein to detect, via the computer-executable tool, system data from the mobile device, the apparatus is configured to:

detect, via the computer-executable tool, system data comprising a list of processes running on the mobile device, and

wherein to determine that the application program set installed to the mobile device does not include the target application program, the apparatus is configured to:

determine, via the computer-executable tool, the list of processes running on the mobile device does not include a first process associated with the target application program.

3. The apparatus according to claim 1 , wherein to detect, via the computer-executable tool, system data from the mobile device, the apparatus is configured to:

identify, via a system service, the system data comprising list data representing the application program set installed on the mobile device,

wherein to determine that the application program set installed to the mobile device does not include the target application program, the apparatus is configured to:

determine, via the computer-executable tool, the list data representing the application program set installed on the mobile device does not include data associated with the target application program.

4. The apparatus according to claim 3 , the apparatus further configured to:

request, via the computer-executable tool, extended permissions access associated with the system service of the mobile device; and

receive, via the computer-executable tool, authorization of the extended permission access via the system service of the mobile device.

5. The apparatus according to claim 1 , wherein to detect, via the computer-executable tool, system data from the mobile device, the apparatus is configured to:

determine, via the computer-executable tool, an application program link associated with the target application program;

generate the system data by attempting access of the application program link via the computer-executable tool, wherein the attempted access of the application program link makes no operational changes to processes running on the mobile device,

wherein to determine that the application program set installed to the mobile device does not include the target application program, the apparatus is configured to:

determine, via the computer-executable tool, the system data indicates the application program link was not resolved during the attempted access of the application program link associated with the target application program.

6. The apparatus according to claim 1 , the apparatus further configured to:

in response to user input selecting the representation of the target application program, cause the first application program to initiate download of the target application program to the mobile device.

7. The apparatus according to claim 6 , the apparatus further configured to:

verify the target application program was successfully downloaded to the mobile device; and

provide, via the computer-executable tool, stored data to the target application program.

8. A computer-implemented method comprising:

incorporating a computer-executable tool within a first application program installed on a mobile device, the first application program associated with a first code base controlled by a first entity and the computer-executable tool associated with a second code based controlled by a second entity, wherein incorporation of the computer-executable tool within the first application program extends functionality provided by the first application program;

executing the first application program on the mobile device;

upon execution of the first application program, executing the computer-executable tool incorporated within the first application program for:

detecting, via the computer-executable tool, system data from the mobile device, wherein the system data indicates an application program set installed to the mobile device;

determining, via the computer-executable tool and based at least in part on the system data, that the application program set installed to the mobile device does not include a target application program; and

using the computer-executable tool, causing rendering of a representation of the target application program within a first user interface associated with the first application program.

9. The computer-implemented method according to claim 8 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

detecting, via the computer-executable tool, system data comprising a list of processes running on the mobile device, and

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the list of processes running on the mobile device does not include a first process associated with the target application program.

10. The computer-implemented method according to claim 8 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

identifying, via a system service, the system data comprising list data representing the application program set installed on the mobile device,

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the list data representing the application program set installed on the mobile device does not include data associated with the target application program.

11. The computer-implemented method according to claim 10 , the computer-implemented method further comprising:

requesting, via the computer-executable tool, extended permissions access associated with the system service of the mobile device; and

receiving, via the computer-executable tool, authorization of the extended permission access via the system service of the mobile device.

12. The computer-implemented method according to claim 8 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

determining, via the computer-executable tool, an application program link associated with the target application program;

generating the system data by attempting access of the application program link via the computer-executable tool, wherein the attempted access of the application program link makes no operational changes to processes running on the mobile device,

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the system data indicates the application program link was not resolved during the attempted access of the application program link associated with the target application program.

13. The computer-implemented method according to claim 8 , the computer-implemented method further comprising:

in response to user input selecting the representation of the target application program, causing the first application program to initiate download of the target application program to the mobile device.

14. The computer-implemented method according to claim 13 , the computer-implemented method further comprising:

verifying the target application program was successfully downloaded to the mobile device; and

providing, via the computer-executable tool, stored data to the target application program.

15. A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon that, in execution with one or more processors, configures the computer program product for:

incorporating a computer-executable tool within a first application program installed on a mobile device, the first application program associated with a first code base controlled by a first entity and the computer-executable tool associated with a second code based controlled by a second entity, wherein incorporation of the computer-executable tool within the first application program extends functionality provided by the first application program;

executing the first application program on the mobile device;

upon execution of the first application program, executing the computer-executable tool incorporated within the first application program for:

detecting, via the computer-executable tool, system data from the mobile device, wherein the system data indicates an application program set installed to the mobile device;

determining, via the computer-executable tool and based at least in part on the system data, that the application program set installed to the mobile device does not include a target application program; and

using the computer-executable tool, causing rendering of a representation of the target application program within a first user interface associated with the first application program.

16. The computer program product according to claim 15 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

detecting, via the computer-executable tool, system data comprising a list of processes running on the mobile device, and

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the list of processes running on the mobile device does not include a first process associated with the target application program.

17. The computer program product according to claim 15 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

identifying, via a system service, the system data comprising list data representing the application program set installed on the mobile device,

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the list data representing the application program set installed on the mobile device does not include data associated with the target application program.

18. The computer program product according to claim 17 , the computer program product further configured for:

requesting, via the computer-executable tool, extended permissions access associated with the system service of the mobile device; and

receiving, via the computer-executable tool, authorization of the extended permission access via the system service of the mobile device.

19. The computer program product according to claim 15 , wherein detecting, via the computer-executable tool, system data from the mobile device comprises:

determining, via the computer-executable tool, an application program link associated with the target application program;

generating the system data by attempting access of the application program link via the computer-executable tool, wherein the attempted access of the application program link makes no operational changes to processes running on the mobile device,

wherein determining that the application program set installed to the mobile device does not include the target application program comprises:

determining, via the computer-executable tool, the system data indicates the application program link was not resolved during the attempted access of the application program link associated with the target application program.

20. The computer program product according to claim 15 , the computer program product further configured for:

in response to user input selecting the representation of the target application program, causing the first application program to initiate download of the target application program to the mobile device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2021
From: GRATZ, ELI; ROTH, NICOLAS; GILK, MATTHEW AARON
To: GROUPON, INC.
Reel/Frame 056276/0725 →
Continuity (3)
Continuation 16351235 · Mar 12, 2019
Continuation 14207444 · Mar 12, 2014
Related Publication 20210342889A1 · Nov 4, 2021