Search

EP-4738110-A1 - APPLICATION PRE-LAUNCH SYSTEM

EP4738110A1EP 4738110 A1EP4738110 A1EP 4738110A1EP-4738110-A1

Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for an application pre-launch system. An example embodiment operates by detecting a user interaction associated with launching an app configured to operate on a computing device. A first launch command is provided to a server associated with the app. The first launch command is configured to instruct the server to begin loading application data for the app into a cache. Application code of the app is executed, wherein the application code is configured to provide a second launch command to the server. The application data is received from the cache responsive to the second launch command. The app is launched on the computing device using the application data received from the cache. After the launching, the app is configured to receive a user command.

Inventors

  • FOGG, ANDREW PETER
  • JAGT, Robert Paul
  • KODALI, Srinivasa Chakravarthy
  • PHAN, Binh Thanh
  • ROBERTS, JOHN
  • SHEREMET, Dmitry
  • TSISHKO, Yan
  • WANG, WEIHUA

Assignees

  • Roku, Inc.

Dates

Publication Date
20260506
Application Date
20251020

Claims (15)

  1. A computer-implemented method for launching an app, comprising: detecting, by at least one computer processor of a computing device, a user interaction associated with launching the app configured to operate on the computing device; providing, by the computing device, a first launch command to a server associated with the app, wherein the first launch command is configured to instruct the server to begin loading application data for the app into a cache; executing, by the computing device, application code corresponding to the app, after the providing, wherein the application code is configured to provide a second launch command to the server; receiving, by the computing device, the application data from the cache responsive to the second launch command; and launching the app on the computing device using the application data received from the cache, wherein after the launching, the app is configured to receive a user command.
  2. The computer-implemented method of claim 1, further comprising: identifying a manifest file associated with the app; identifying a universal resource identifier (URI) corresponding to the server, the URI identifying a network location or network address of the server; and wherein the providing comprises providing the first launch command to the URI corresponding to the server.
  3. The computer-implemented method of claim 1 or 2, wherein the user interaction comprises an action to launch the app from the computing device.
  4. The computer-implemented method of any preceding claim, wherein the detecting comprises determining that user interaction comprises one or more actions corresponding to a prediction, wherein the prediction includes the one or more actions that preceded a user subsequently launching the app as determined based on a usage history of the user.
  5. The computer-implemented method of any preceding claim, wherein the application data comprises personalized information for a user associated with performing the user interaction.
  6. The computer-implemented method of any preceding claim, wherein the executing comprises performing memory management on a memory of the computing device, wherein the performing the memory management comprises removing one or more objects from the memory; and loading the application code into the memory after performing the memory management and prior to the executing.
  7. The computer-implemented method of any preceding claim, further comprising: providing a splash screen corresponding to the app for display responsive to the detecting and prior to the launching, preferably further comprising: displaying, responsive to the launching, an interactive screen corresponding to the app for display, wherein the interactive screen replaces the splash screen, and wherein at least portion of the interactive screen is generated based on the application data received from the cache.
  8. A system for launching an app, comprising: one or more memories; at least one processor each coupled to at least one of the memories and configured to perform operations comprising: detecting a user interaction associated with launching the app configured to operate on a computing device; providing a first launch command to a server associated with the app, wherein the first launch command is configured to instruct the server to begin loading application data for the app into a cache; executing application code corresponding to the app, after the providing, wherein the application code is configured to provide a second launch command to the server; receiving the application data from the cache responsive to the second launch command; and launching the app on the computing device using the application data received from the cache, wherein after the launching, the app is configured to receive a user command.
  9. The system of claim 8, the operations further comprising: identifying a manifest file associated with the app; identifying a universal resource identifier (URI) corresponding to the server, the URI identifying a network location or network address of the server; and wherein the providing comprises providing the first launch command to the URI corresponding to the server.
  10. The system of claim 8 or 9, wherein the user interaction comprises an action to launch the app from the computing device.
  11. The system of any of claims 8 to 10, wherein the detecting comprises determining that user interaction comprises one or more actions corresponding to a prediction, wherein the prediction includes the one or more actions that preceded a user subsequently launching the app as determined based on a usage history of the user.
  12. The system of any of claims 8 to 11, wherein the application data comprises personalized information for a user associated with performing the user interaction.
  13. The system of any of claims 8 to 12, wherein the executing comprises performing memory management on a memory of the computing device, wherein the performing the memory management comprises removing one or more objects from the memory; and loading the application code into the memory after performing the memory management and prior to the executing.
  14. The system of any of claims 8 to 13, the operations further comprising: providing a splash screen corresponding to the app for display responsive to the detecting and prior to the launching, preferably the operations further comprising: displaying, responsive to the launching, an interactive screen corresponding to the app for display, wherein the interactive screen replaces the splash screen, and wherein at least portion of the interactive screen is generated based on the application data received from the cache.
  15. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations for launching an app, the operations comprising the computer-implemented method for launching an app of any of claims 1 to 7.

Description

BACKGROUND This application claims priority to U.S. Non-Provisional application 18/937,653 filed on November 5, 2024, which is incorporated by reference herein in its entirety. FIELD This disclosure is generally directed to an application pre-launch system. SUMMARY Provided herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for an application pre-launch system. An example embodiment operates by detecting a user interaction associated with launching an app configured to operate on a computing device. A first launch command is provided to a server associated with the app. The first launch command is configured to instruct the server to begin loading application data for the app into a cache. Application code of the app is executed, wherein the application code is configured to provide a second launch command to the server. The application data is received from the cache responsive to the second launch command. The app is launched on the computing device using the application data received from the cache. After the launching, the app is configured to receive a user command. BRIEF DESCRIPTION OF THE FIGURES The accompanying drawings are incorporated herein and form a part of the specification. FIG. 1 illustrates a block diagram of a multimedia environment, according to some embodiments.FIG. 2 illustrates a block diagram of a streaming media device, according to some embodiments.FIG. 3 is a block diagram illustrating example functionality for an application pre-launch system (APS), according to some embodiments.FIG. 4 is a flowchart for a method for application pre-launch system (APS), according to an embodiment.FIG. 5 is a flowchart for a method for application pre-launch system (APS), according to another example embodiment.FIG. 6 illustrates an example computer system useful for implementing various embodiments. In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. DETAILED DESCRIPTION Provided herein are system, apparatus, device, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for an application pre-launch system. Various embodiments of this disclosure may be implemented using and/or may be part of a multimedia environment 102 shown in FIG. 1. It is noted, however, that multimedia environment 102 is provided solely for illustrative purposes, and is not limiting. Embodiments of this disclosure may be implemented using and/or may be part of environments different from and/or in addition to the multimedia environment 102, as will be appreciated by persons skilled in the relevant art(s) based on the teachings contained herein. An example of the multimedia environment 102 shall now be described. Multimedia Environment FIG. 1 illustrates a block diagram of a multimedia environment 102, according to some embodiments. In a non-limiting example, multimedia environment 102 may be directed to streaming media. However, this disclosure is applicable to any type of media (instead of or in addition to streaming media), as well as any mechanism, means, protocol, method and/or process for distributing media. The multimedia environment 102 may include one or more media systems 104. A media system 104 could represent a family room, a kitchen, a backyard, a home theater, a school classroom, a library, a car, a boat, a bus, a plane, a movie theater, a stadium, an auditorium, a park, a bar, a restaurant, or any other location or space where it is desired to receive and play streaming content. User(s) 132 may operate with the media system 104 to select and consume content. Each media system 104 may include one or more media devices 106 each coupled to one or more display devices 108. It is noted that terms such as "coupled," "connected to," "attached," "linked," "combined" and similar terms may refer to physical, electrical, magnetic, logical, etc., connections, unless otherwise specified herein. Media device 106 may be a streaming media device, DVD or BLU-RAY device, audio/video playback device, cable box, and/or digital video recording device, to name just a few examples. Display device 108 may be a monitor, television (TV), computer, smart phone, tablet, wearable (such as a watch or glasses), appliance, internet of things (IoT) device, and/or projector, to name just a few examples. In some embodiments, media device 106 can be a part of, integrated with, operatively coupled to, and/or connected to its respective display device 108. Each media device 106 may be configured to communicate with network 118 via a communication device 114. The communication device 114 may include, for example, a cable modem or satellite TV transceiver. The media device 106 may communicate with the communication device 114 o