NEXT APPLICATION SUGGESTIONS ON A USER DEVICE
Methods and systems are presented for providing suggested next applications to open after a first application is opened on a user device (e.g., a mobile device). A list of next application suggestions may be generated based on past applications successively opened after respective openings of the first application. The list of next application suggestions may also be generated based on retrieved, shared data and third party data. The list of next application suggestions may be displayed on a user interface while first application is running, so that the user may select a next application to run without needing to return to a home or multi-tasking screen.
This application is a continuation of U.S. application Ser. No. 14/265,728, filed Apr. 30, 2014, entitled “Next Application Suggestions on a User Device,” now U.S. Pat. No. 9,075,508, issued on Jul. 7, 2015, the disclosure of which is incorporated herein by reference in its entirety for all purposes.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention generally concerns applications on a user device. More particularly, the present invention concerns suggesting next applications to open on a user device.
2. Description of the Related Art
Applications on a typical user device (e.g., mobile phone) may be activated, moved, and deleted. In order to switch between applications, a user may be required to return to the home-screen or may be limited to using only multi-tasking applications. For example, when running an application on a mobile device, depressing an electromechanical button may return the display to the home screen, from which the user may select a different application to open. Thus, although a next application to open might be logical, relative to the first opened application, it is inefficient and time-consuming to navigate the operating system in order to find and open the next application. A user may gather certain applications together in one of many home screens (or groups or folders therein), but this does not remedy the need to return to the home screen after opening a first application and before opening a next application.
Existing user devices, operating systems, and applications do not, however, provide suggestions for next applications to open nor the functionality to open suggested applications while running another application. There exists a need to provide suggested next applications to open after a first application based on frequency of use, shared application data, and third party data.
SUMMARY OF THE CLAIMED INVENTIONMethods and systems are presented for providing suggested next applications to open after a first application is opened on a user device (e.g., a mobile device). A list of next application suggestions may be generated based on past applications successively opened after respective openings of the first application. The list of next application suggestions may also be generated based on retrieved, shared data and third party data. The list of next application suggestions may be displayed on a user interface while first application is running, so that the user may select a next application to run without needing to return to a home or multi-tasking screen.
Various embodiments may include methods for displaying next application suggestions on a user device. Such methods may include opening a first application in response to user input received at a user interface of the user device, wherein the first application runs on the user device. The method further includes retrieving next application data associated with the first application, the next application data stored in memory and including a list of one or more next applications, wherein each of the one or more next applications was opened on the user device immediately following a respective previous opening of the first application. The method further includes generating a list of suggested applications based on the next application data, the list of suggested applications including one or more of next applications, and displaying the list of suggested applications on the user interface, wherein each displayed suggested application is selectable by the user.
Various embodiments may further include systems for providing reading assistance by a persona assistant. Such systems may include a user interface that receives user input, a memory that stores instructions, and a processor that executes the instructions stored in the memory. The processor may execute the instructions to open a first application in response to the received user input received, wherein the first application runs on the user device, and retrieve next application data associated with the first application. The next application data is stored in memory and includes a list of one or more next applications, wherein each of the one or more next applications was opened on the user device immediately following a respective previous opening of the first application. The processor may further execute instructions to generate a list of suggested applications based on the next application data and display the list of suggested applications on the user interface, wherein each displayed suggested application is selectable by the user.
Embodiments of the present invention may further include non-transitory computer-readable storage media, having embodied thereon a program executable by a processor to perform methods for displaying next application suggestions on a user device as described herein.
Methods and systems are presented for providing suggestions for next applications to open on a user device (e.g., mobile phone) according to recorded use patterns. In some embodiments, when a user opens an application on a user device, auto suggest software will display suggested applications to be opened next by the user based on the open application. Auto suggest software may be an application loaded onto the user device by the user, or any combination of software, firmware, and hardware that is incorporated into the user device. An auto suggest software application on a user device can provide next application suggestions based on next application data stored locally on the user device and/or data accessed through a network.
User device 105 may be any number of different electronic user devices 105, such as general purpose computers, mobile phones, smartphones, personal digital assistants (PDAs), portable computing devices (e.g., laptop, netbook, tablet), desktop computing devices, handheld computing device, or any other type of computing device capable of communicating over network 165. User devices 105 may also be configured to access data from other storage media, such as memory cards or disk drives as may be appropriate in the case of downloaded services. User device 105 may include standard hardware computing components, including, for example, network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory.
In the illustrated embodiment, user device 105 (e.g., mobile phone) includes display 110. In some implementations, display 110 may be a touchscreen display. In some implementations, display 110 is a user interface. As shown in the illustrated embodiment, display 110 may display icons corresponding to applications 130 (e.g., APP1, APP2, and APP3). Display 110 may include any suitable soft keys. It will be understood that user device 105 may include other elements not shown, for example, a microphone, camera, speaker, or any other suitable hardware or software elements.
User device 105 may include an operating system 135. Operating system 135 may be software that manages the use of hardware, computer programs, and applications of user device 105. Operating system 135 may be, for example, Windows, iOS, OS X, Android, UNIX, or Linux. User device 105 may additionally include settings 140, which may include configurable components of operating system 135. Settings 140 may be modifiable by a user of the user device to alter the performance of operating system 135 and other software on user device 105. In some embodiments, settings 140 may be an application on the user device 105, by which a user may select options and preferences and configures operating system functions. In an example, operating system 135 of user device 105 (e.g., an Apple device) may be iOS, and the settings 140 of user device 105 may be iOS settings. In another example, operating system 135 may be LINUX, and the settings 140 may be LINUX configuration files. In some embodiments, settings 140 may include auto suggest settings, which are modifiable by a user to alter the performance of auto suggest software 150. In some embodiments, settings 140 may be modifiable by a user to configure access to and/or sharing of data with share app search server 175 and third party server 180.
User device 105 may include any suitable software or applications. In some embodiments, auto suggest software 150 runs on user device 105. Auto suggest software 150 may be software capable of providing next application suggestions based on, for example, user input, user settings 140, locally stored information (e.g., local application search database 145) and information accessible over a network (e.g., network 165) from various sources.
In some embodiments, auto suggest software 150 is an application running on user device 105. Auto suggest software 150 may, for example, monitor use of applications 130 on user device 105, provide a list of next suggested applications, retrieve data locally or remotely, or perform any other suitable actions related to suggestion of next applications. In some embodiments, depressing electromechanical button 120 may activate auto suggest software 150. For example, depressing electromechanical button 120 three times in succession may activate auto suggest software 150. In some embodiments, actuating a soft key 140 may turn auto suggest software 150 ON or OFF.
Local application search database 145 may be any suitable database capable of storing data on user device 105. Local application search database 145 may store next application suggestion data, which may include, for example, information related to applications opened after a particular application is opened (e.g., next applications), how many times each next application is opened after a particular application, and user preference information relating to next applications. In some embodiments, local application search database 145 may be implemented as part of auto suggest software 150. In some embodiments, local application search database 145 may be implemented on a device separate from user device 105 and be accessible by network 165.
Applications 130 are software modules on user device 105, which may be downloaded from remote servers. Applications 130 may provide additional functions for user device 105. For example, applications 130 may be any suitable applications downloaded from, for example, Apple Inc.'s APP STORE® (for Apple devices), GOOGLE PLAY® (for Google Android devices), or any other suitable database or server. In some embodiments, applications 130 may be software, firmware, or hardware that is integrated into the user device 105.
Antenna 125 is a component of user device 105. In some embodiments, user device 105 may use antenna 125 to send and receive information wirelessly. For example, antenna 125 may be a cellular data antenna, Wi-Fi antenna, or BLUETOOTH® antenna.
Network connections 170 may include any suitable wired or wireless transmission mediums or channels through which data may be communicated between user device 105, network 165, and third party network 180, and share application search server 175. Network connections may include, for example, a computer networking cable, an Ethernet cable, a cellular communications network, an Internet data trunk (e.g., single transmission channel), a wireless local area network, a wide area network, or a telecommunications network (e.g., 4G wireless network).
Network 165 may include the Internet, a system of interconnected computer networks that use a standard protocol, a dispersed network of computers and servers, a local network, a public or private intranet, any other coupled computing systems, or any combination thereof. In some embodiments, network 165 may be a cloud, which is a network of remote servers hosted on the Internet and used to store, manage, and process data in place of local servers or personal computers. User device 105 may be coupled to network 165 though any suitable wired or wireless connection. In some embodiments, user device 105 may be coupled to network 165 via network connections 170.
Network 165 may allow for communication between the user device 105, share app search server 175, and third party server 180 via various communication paths or channels. Such paths or channels may include any type of data communication link known in the art, including TCP/IP connections and Internet connections via Wi-Fi, Bluetooth, a Universal Mobile Telecommunications System (UMTS) network, or any other suitable data communication link. In that regard, network 165 may be a local area network (LAN), which may be communicatively coupled to a wide area network (WAN) such as the Internet. The Internet is a broad network of interconnected computers and servers allowing for the transmission and exchange of Internet Protocol (IP) data between users connected through a network service provider. Examples of network service providers are the public switched telephone network, a cable service provider, a provider of digital subscriber line (DSL) services, or a satellite service provider. Network 165 allows for communication between any of the various components of network environment 100.
Share app search server 175 may, in some embodiments, store next application data. In some embodiments, local app search database 145 may share data with share app search server 175. In some embodiments, share app search server 175 may be coupled to network 165 by network communications 170. Share app search server 175 is accessible by other devices through network 165. It will be understood that
In some embodiments, third party server 180 may store next application data, retrievable by user device 105 over network 165. In some embodiments, third party server 180 may be coupled to network 165 by network communications 170. Third party server 180 is accessible by other devices through network 165. In some embodiments, user device 105 may load to or share with share app search server 175. It will be understood that
Single share app search server 175 and third party server 180 may include any type of server or other computing device as is known in the art, including standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions or accessing information that may be stored in memory. The functionalities of multiple servers may be integrated into a single server. Alternatively, different functionalities may be allocated among multiple servers, which may be located remotely from each other and communicate over the cloud. Any of the aforementioned servers (or an integrated server) may take on certain client-side, cache, or proxy server characteristics. These characteristics may depend on the particular network placement of the server or certain configurations of the server.
User interface 200 may include settings menu 205. Settings menu 205 may include user-editable features for customizing the functionality of an operating system or user device according to user preferences. In some implementations, settings of operating system 135 of
In some embodiments, settings menu 205 includes a list of user-selectable options or settings presented in a hierarchical order. For example, auto suggest application settings 215 may be sub-settings under standard settings 210. Standard settings 210 may include auto suggest application settings 215, which is shown as selected (e.g., underlined) in
In some embodiments, the auto suggest application settings 215 may include user-editable features for customizing the functionality of an auto suggest application running on a user device. In some embodiments, auto suggest application settings 215 may be used to customize the functionality of auto suggest software 150 of
In some embodiments, auto suggest application settings 215 includes a sub-menu of auto suggest settings 220-285, which are user-selectable options or commands for determining the functionality of auto suggest software running on the user device. The auto suggest application settings 215 may include any suitable number of selectable auto suggest settings 220-285, including, for example, show first ‘5’ auto suggest applications 220, allow sharing 230, allow third party 240, allow local app share database to reset 225, and allow apps on auto suggest screen 275, as shown in
In the illustrated embodiment, exemplary auto suggest settings 220-285 are shown. Show first ‘5’ auto suggest applications 220 allows a user to configure the number of auto suggest applications (e.g., suggested next applications) to be displayed for selection on the user device. Add 225 may be used to add applications to be shown as suggested next applications. Allow sharing 230 is shown to be “ON.” In some embodiments, a user may permit or deny sharing of next application data stored on the user device with allow sharing 230. For example, the user may allow next application data stored on local application search database 145 to be shared with share app search server 175 and/or third party server 180 of
Allow local app share database to reset 255 may be used to configure reset options for auto suggest software (e.g., auto suggest software 150 of
Allow apps on auto suggest screen 275 may be used to allow or disallow applications on the auto suggest screen. Sub-options include all apps 280 and multi-tasking apps only 285.
In the illustrated embodiment, local application search database 310 is shown to include executed application column 320, next executed application column 330, and number (#) of successive executions column 340. As shown in
In step 510, the system activates first application.
In step 520, the system stores the activated first application name as an executed application in, for example, local application search database 145 of
In step 530, the system activates a second application. In some embodiments, the second application may correspond to a next application (e.g., a successively activated application).
In step 540, the system stores the activated second application name as an executed application in, for example, local application search database 145 of
In step 550, the system increments the number of times the second application name is stored as next executed application by ‘1.’ For example, for email application 360, shown in next executed application 330, the ‘150’ successive executions 370 may be incremented to ‘151’ in # of successive executions 340. In some embodiments, the system may determine that the second application has not yet been successively activated after the first application (e.g., the executed application), and the system may set number of successive executions to ‘1.’
In step 610, the system opens a first application in response to user input received at a user interface of the user device, wherein the first application runs on the user device. In some embodiments, step 610 may correspond to step 510 of
In step 620, the system retrieves next application data associated with the first application. In some embodiments, the system retrieves next application data from local application search database 145, share app search server 175, and/or third party server 180. In some embodiments, the system retrieves next application data associated with the first application, the next application data stored in memory and including a list of one or more next applications, where each of the one or more next applications was opened on the user device immediately following a respective previous opening of the first application.
In step 630, the system generates a list of suggested applications based on the next application data. In some embodiments, the list of suggested applications generated may be based on the next application data retrieved in step 620. In some embodiments, the number of applications in the list of suggest applications may depend on user settings, as described above in connection with
In step 640, the system displays the list of suggested applications. In some embodiments, the list of suggested applications may be displayed in any suitable manner on a display of a user device, for example user device 105 and display 110 of
In step 650, the system opens a second application selected from the displayed list of suggested applications in response to user input received at the user interface, where the second application is a suggested application, and the user input includes selecting the second application from the displayed list of suggested applications.
Processors 704 as illustrated in
Other sensors could be coupled to peripherals interface 706, such as a temperature sensor, a biometric sensor, or other sensing device to facilitate corresponding functionalities. Location processor 715 (e.g., a global positioning transceiver) can be coupled to peripherals interface 706 to allow for generation of geo-location data thereby facilitating geo-positioning. An electronic magnetometer 716 such as an integrated circuit chip could in turn be connected to peripherals interface 706 to provide data related to the direction of true magnetic North whereby the mobile device could enjoy compass or directional functionality. Camera subsystem 720 and an optical sensor 722 such as a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor can facilitate camera functions such as recording photographs and video clips.
Communication functionality can be facilitated through one or more communication subsystems 724, which may include one or more wireless communication subsystems. Wireless communication subsystems 724 can include 802.x or Bluetooth transceivers as well as optical transceivers such as infrared. Wired communication system can include a port device such as a Universal Serial Bus (USB) port or some other wired port connection that can be used to establish a wired coupling to other computing devices such as network access devices, personal computers, printers, displays, or other processing devices capable of receiving or transmitting data. The specific design and implementation of communication subsystem 724 may depend on the communication network or medium over which the device is intended to operate. For example, a device may include wireless communication subsystem designed to operate over a global system for mobile communications (GSM) network, a GPRS network, an enhanced data GSM environment (EDGE) network, 802.x communication networks, code division multiple access (CDMA) networks, or Bluetooth networks. Communication subsystem 724 may include hosting protocols such that the device may be configured as a base station for other wireless devices. Communication subsystems can also allow the device to synchronize with a host device using one or more protocols such as TCP/IP, HTTP, or UDP.
Audio subsystem 726 can be coupled to a speaker 728 and one or more microphones 730 to facilitate voice-enabled functions. These functions might include voice recognition, voice replication, or digital recording. Audio subsystem 726 in conjunction may also encompass traditional telephony functions.
I/O subsystem 740 may include touch controller 742 and/or other input controller(s) 744. Touch controller 742 can be coupled to a touch surface 746. Touch surface 746 and touch controller 742 may detect contact and movement or break thereof using any of a number of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, or surface acoustic wave technologies. Other proximity sensor arrays or elements for determining one or more points of contact with touch surface 746 may likewise be utilized. In one implementation, touch surface 746 can display virtual or soft buttons and a virtual keyboard, which can be used as an input/output device by the user.
Other input controllers 744 can be coupled to other input/control devices 748 such as one or more buttons, rocker switches, thumb-wheels, infrared ports, USB ports, and/or a pointer device such as a stylus. The one or more buttons (not shown) can include an up/down button for volume control of speaker 728 and/or microphone 730. In some implementations, device 700 can include the functionality of an audio and/or video playback or recording device and may include a pin connector for tethering to other devices.
Memory interface 702 can be coupled to memory 750. Memory 750 can include high-speed random access memory or non-volatile memory such as magnetic disk storage devices, optical storage devices, or flash memory. Memory 750 can store operating system 752, such as Darwin, RTXC, LINUX, UNIX, OS X, ANDROID, WINDOWS, or an embedded operating system such as VxWorks. Operating system 752 may include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations, operating system 752 can include a kernel.
Memory 750 may also store communication instructions 754 to facilitate communicating with other mobile computing devices or servers. Communication instructions 754 can also be used to select an operational mode or communication medium for use by the device based on a geographic location, which could be obtained by the GPS/Navigation instructions 768. Memory 750 may include graphical user interface instructions 756 to facilitate graphic user interface processing such as the generation of an interface; sensor processing instructions 758 to facilitate sensor-related processing and functions; phone instructions 760 to facilitate phone-related processes and functions; electronic messaging instructions 762 to facilitate electronic-messaging related processes and functions; web browsing instructions 764 to facilitate web browsing-related processes and functions; media processing instructions 766 to facilitate media processing-related processes and functions; GPS/Navigation instructions 768 to facilitate GPS and navigation-related processes, camera instructions 770 to facilitate camera-related processes and functions; and instructions 772 for any other application that may be operating on or in conjunction with the mobile computing device. Memory 750 may also store other software instructions for facilitating other processes, features and applications, such as applications related to navigation, social networking, location-based services or map displays.
Each of the above identified instructions and applications can correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 750 can include additional or fewer instructions. Furthermore, various functions of the mobile device may be implemented in hardware and/or in software, including in one or more signal processing and/or application specific integrated circuits.
Certain features may be implemented in a computer system that includes a back-end component, such as a data server, that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of the foregoing. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Some examples of communication networks include LAN, WAN and the computers and networks forming the Internet. The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
One or more features or steps of the disclosed embodiments may be implemented using an API that can define on or more parameters that are passed between a calling application and other software code such as an operating system, library routine, function that provides a service, that provides data, or that performs an operation or a computation. The API can be implemented as one or more calls in program code that send or receive one or more parameters through a parameter list or other structure based on a call convention defined in an API specification document. A parameter can be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or another call. API calls and parameters can be implemented in any programming language. The programming language can define the vocabulary and calling convention that a programmer will employ to access functions supporting the API. In some implementations, an API call can report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, and communications capability.
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.
Claims
1. A method for displaying next application suggestions on a user device, the method comprising:
- executing a first software application using a processor of the user device, the first software application stored in a memory of the user device, where the memory of the user device also stores a plurality of secondary software applications that are distinct from the first software application;
- receiving a trigger input at the user device during execution of the first software application;
- generating a first set of suggested software applications, the first set of suggested software applications identifying at least a subset of the plurality of secondary software applications, the subset determined based at least on historical data stored in the memory of the user device, the historical data identifying software applications that are most often executed directly after the execution of the first software application;
- displaying a set of launch portals associated with each suggested software application of the first set of suggested software applications at the user device in response to the receipt of the trigger input, wherein each launch portal of the set of launch portals executes its associated suggested software application of the first set of suggested software applications in response to receipt of a launch portal input;
- receiving a customization input at the user device; and
- removing a first suggested software application from the displayed first set of suggested software applications in response to the customization input.
2. The method of claim 1, further comprising:
- receiving a second customization input at the user device; and
- adding a second suggested software application to the displayed first set of suggested software applications in response to the second customization input, the second suggested software application being one of the plurality of secondary software applications.
3. The method of claim 1, further comprising:
- receiving a first launch portal input associated with a third suggested software application of the displayed first set of suggested software applications; and
- launching the third suggested software application in response to the first launch portal input.
4. The method of claim 1, wherein the historical data is based on a plurality of launch counts, where each launch count of the plurality of launch counts identifies the number of times that a secondary software application of the plurality of secondary software applications has been launched immediately following use of the first software application.
5. The method of claim 4, wherein displaying the set of launch portals includes determining a display order of the set of launch portals based on a ranking of the plurality of launch counts.
6. The method of claim 1, wherein the trigger input includes a depression of an electromechanical button.
7. The method of claim 1, wherein each launch portal is visually represented by at least one of an icon or a link.
8. The method of claim 1, wherein displaying the set of launch portals includes arranging the set of launch portals in the form of at least one of a list or a toolbar.
9. The method of claim 1, further comprising:
- receiving a third customization input at the user device; and
- editing the first set of suggested software applications to remove any suggested software applications that are not multi-tasking applications in response to the third customization input.
10. A system for displaying next application suggestions on a user device, the method comprising:
- a memory of the user device; and
- a processor of the user device, wherein execution of instructions stored in the memory by the processor: executes a first software application using a processor of the user device, the first software application stored in a memory of the user device, where the memory of the user device also stores a plurality of secondary software applications that are distinct from the first software application, receives a trigger input at the user device during execution of the first software application, generates a first set of suggested software applications, the first set of suggested software applications identifying at least a subset of the plurality of secondary software applications, the subset determined based at least on historical data stored in the memory of the user device, the historical data identifying software applications that are most often executed directly after the execution of the first software application, displays a set of launch portals associated with each suggested software application of the first set of suggested software applications at the user device in response to the receipt of the trigger input, wherein each launch portal of the set of launch portals executes its associated suggested software application of the first set of suggested software applications in response to receipt of a launch portal input, receives a customization input at the user device, and removes a first suggested software application from the displayed first set of suggested software applications in response to the customization input.
11. The system of claim 10, wherein execution of the instructions by the processor further:
- receives a second customization input at the user device, and
- adds a second suggested software application to the displayed first set of suggested software applications in response to the second customization input, the second suggested software application being one of the plurality of secondary software applications.
12. The system of claim 10, wherein execution of the instructions by the processor further:
- receives a first launch portal input associated with a third suggested software application of the displayed first set of suggested software applications, and
- launches the third suggested software application in response to the first launch portal input.
13. The system of claim 10, wherein the historical data is based on a plurality of launch counts stored in the memory, where each launch count of the plurality of launch counts identifies the number of times that a secondary software application of the plurality of secondary software applications has been launched immediately following use of the first software application.
14. The system of claim 13, wherein execution of the instructions by the processor determines a display order of the set of launch portals based on a ranking of the plurality of launch counts before displaying the set of launch portals.
15. The system of claim 10, further comprising an electromechanical button, wherein the trigger input includes a depression of the electromechanical button.
16. The system of claim 10, wherein each launch portal is visually represented by at least one of an icon or a link.
17. The system of claim 10, wherein execution of the instructions by the processor displays the set of launch portals in the form of at least one of a list or a toolbar.
18. The system of claim 10, wherein execution of the instructions by the processor further:
- receives a third customization input at the user device, and
- edits the first set of suggested software applications to remove any suggested software applications that are not multi-tasking applications in response to the third customization input.
19. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for displaying next application suggestions on a user device, the method comprising:
- executing a first software application using a processor of the user device, the first software application stored in a memory of the user device, where the memory of the user device also stores a plurality of secondary software applications that are distinct from the first software application;
- receiving a trigger input at the user device during execution of the first software application;
- generating a first set of suggested software applications, the first set of suggested software applications identifying at least a subset of the plurality of secondary software applications, the subset determined based at least on historical data stored in the memory of the user device, the historical data identifying software applications that are most often executed directly after the execution of the first software application;
- displaying a set of launch portals associated with each suggested software application of the first set of suggested software applications at the user device in response to the receipt of the trigger input, wherein each launch portal of the set of launch portals executes its associated suggested software application of the first set of suggested software applications in response to receipt of a launch portal input;
- receiving a customization input at the user device; and
- removing a first suggested software application from the displayed first set of suggested software applications in response to the customization input.
Type: Application
Filed: Jul 7, 2015
Publication Date: Nov 5, 2015
Inventor: John Cronin (Bonita Springs, FL)
Application Number: 14/793,633