APP collections
By organizing applications into application collections using heuristics and machine learning, the solution addresses the challenge of accessing and discovering app features, resulting in an intuitive and efficient user interface.
Patent Information
- Application Number
- PCT/US2023/084960
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-19
- Publication Date
- 2025-06-26
AI Technical Summary
Users face challenges in accessing and discovering application features on computing devices, as existing methods lack efficient organization and presentation of applications, leading to disorganized app layouts and undiscovered features.
The implementation of application collections, which are predefined or generated using heuristics and machine learning models, to organize and present a plurality of applications in a user-friendly manner, including automatic arrangement and organization, and alteration of device operation based on selected application collections.
This solution enables users to readily access desired information or services, automatically surfaces undiscovered application features, and reduces the need for manual app arrangement, providing an intuitive and efficient user interface.
Smart Images

Figure US2023084960_26062025_PF_FP_ABST
Abstract
Description
Docket No.: 1333-487WO01 APP COLLECTIONS BACKGROUND
[0001] A wide and ever-increasing variety of computer programs or software applications (“applications”), also referred to as “apps,” are available to users today. Typically, applications are intended or suited for a particular task or tasks. After installation on a computing device, an application can generally then be found, such as to run the application, by browsing a listing of applications presented by an operating system of the computing device. In addition, it is common, especially in the case of mobile computing devices, to place an application’s icon among other application icons within a page of the user interface. Typically, the application’s icon is placed after any existing application icons on the last page of the user interface. SUMMARY
[0002] In general, various aspects of the techniques described in this disclosure are directed to application collections comprising a plurality of individual applications and their presentation to users at a computing device in a manner that allows users to readily access the information or services they seek and permits discovery of otherwise unknown application features. Application collections may be predefined or may be generated, such as by a computing device or computing system executing one or more heuristics, other rules, and / or one or more machine learning models.
[0003] Application collections may automatically arrange and organize the applications therein to provide immediate access to application functionality (e.g., widget functionality) of a plurality of applications simultaneously. In addition, application collections may alter the operation of a computing device when presented such as to automatically change the operation of a computing device when an application collection is selected or changed.
[0004] In some aspects, the techniques described herein relate to a method including: receiving, by one or more processors of a computing device, a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for eachDocket No.: 1333-487WO01 of the plurality of applications; responsive to receiving the selection, determining whether one or more applications of the plurality of applications need installation at the computing device and receiving the one or more applications from an application marketplace; and presenting, with a user interface device of the computing device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0005] In some aspects, the techniques described herein relate to a computing device including: a memory that stores instructions; a user interface device; and one or more processors that execute the instructions to: receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; and present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0006] In some aspects, the techniques described herein relate to a non-transitory computer- readable storage medium including instructions, that when executed by one or more processors of a computing device, cause the one or more processors to: receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; and present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.Docket No.: 1333-487WO01
[0007] In some aspects, the techniques described herein relate to an apparatus including: means for receiving, by one or more processors of a computing device, a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; means for, responsive to receiving the selection, determining whether one or more applications of the plurality of applications need installation at the computing device and receiving the one or more applications from an application marketplace; and means for presenting, with a user interface device of the computing device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0008] In some aspects, the techniques described herein relate to a method including: receiving, by one or more processors of a computing system, a selection of one or more application collections available through an application marketplace, the one or more application collections including a plurality of applications available through the application marketplace, wherein the one or more application collections comprise a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications when presented at a computing device; and responsive to receiving the selection, determining whether one or more applications of the plurality of applications need installation at the computing device and transmitting the one or more applications to the computing device for installation.
[0009] In some aspects, the techniques described herein relate to an apparatus including: means for receiving, by one or more processors of a computing system, a selection of one or more application collections available through an application marketplace, the one or more application collections including a plurality of applications available through the application marketplace, wherein the one or more application collections comprise a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications when presented at a computing device; and means for, responsive to receiving the selection, determining whether one or more applications of the plurality of applications needDocket No.: 1333-487WO01 installation at the computing device and transmitting the one or more applications to the computing device for installation.
[0010] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0011] FIG.1 is a conceptual diagram illustrating an example environment where one or more application collections are available to and installed on an example computing device, in accordance with one or more aspects of the present disclosure.
[0012] FIG.2 is a block diagram illustrating an example computing device and computing system for application collections, in accordance with one or more aspects of the present disclosure.
[0013] FIG.3A is a conceptual diagram illustrating an example user interface for generating an application collection from installed applications, in accordance with one or more aspects of the present disclosure.
[0014] FIG.3B is a conceptual diagram illustrating an example user interface for discovery and installation of application collections, in accordance with one or more aspects of the present disclosure.
[0015] FIG.3C is a conceptual diagram illustrating an example user interface for presentation of installed application collections, in accordance with one or more aspects of the present disclosure.
[0016] FIG.4 is a flowchart illustrating an example process for creation of an application collection, in accordance with one or more aspects of the present disclosure.
[0017] FIG.5 is a flowchart illustrating an example process for installation of an application collection, in accordance with one or more aspects of the present disclosure.
[0018] FIG.6 is a flowchart illustrating an example process for presentation of application collections, in accordance with one or more aspects of the present disclosure.Docket No.: 1333-487WO01 DETAILED DESCRIPTION
[0019] FIG.1 is a conceptual diagram illustrating an example environment where one or more application collections are available to and installed on an example computing device, in accordance with one or more aspects of the present disclosure. In the example of FIG. 1, environment 100 may include one or more application collections 120 available for installation or already installed on one or more computing devices 110.
[0020] Typically, after installation on a computing device, which may be similar to computing device 110 of FIG.1, an application can generally then be found, such as to run the application, by browsing a listing of applications presented by an operating system of the computing device. In addition, it is common, especially in the case of mobile computing devices, to place an application’s icon among other application icons within a page of the user interface. Typically, the application’s icon is placed after any existing application icons on the last page of the user interface.
[0021] This is disorganized and inefficient as there is no correlation between applications and their location. Unless users are willing to manually arrange their applications, which may be unintuitive and time consuming, they are left reliant on memorizing or learning the location of particular applications on one or more screens, or else navigating through various applications or interfaces to locate the application they seek.
[0022] In addition, it is common for preexisting application features provided by developers to never be discovered by users. Users may not wish to undertake the effort to explore an application to an extent required to discover such features or may lack the time to do so.
[0023] In various aspects of the techniques described in this disclosure, one or more computing devices 110 may provide application collections 120 comprising a plurality of individual applications to users in a manner where applications are already arranged and organized. This assists users in readily accessing the information or services they seek and automatically surfaces otherwise potentially undiscovered application features, such as widgets 104 and controls 106 to immediate use.
[0024] In this manner, application collections 120 may reduce or eliminate the need for users to manually arrange and organize their applications and provide users with useful and intuitive interfaces to a plurality of applications simultaneously. In addition, application collections 120 may alter the operation of computing device 110 when presented such as toDocket No.: 1333-487WO01 automatically change the operation of computing device 110 when an application collection is selected or changed.
[0025] In some examples, application collection 120 may comprise one or more applications, one or more layouts 116 for the one or more applications, or both. An application collection 120 may comprise a set of one or more applications arranged into a particular layout 116, such as to provide a user with a group of applications that provide related or otherwise relevant functionality on their computing device 110.
[0026] Applications within an application collection 120 may be arranged in layouts 116 to address a user’s interests and needs as they relate to one or more topics. In addition, layouts 116 may be intuitive . Application collections 120 and their layouts 116 may be predefined or automatically generated to reduce or eliminate the need for users to organize their applications manually.
[0027] As shown in the example of FIG.1, application collections 120 may provide applications presented in layouts 116 as icons 102 or widgets 104. Applications within an application collection 120 may be selected for functionality relevant to one or more topics. For example, “Friends” application collection 120 may include social networking and messaging applications relevant to the topic of “friends.” “Fitness” application collection 120 may include exercise tracking, music, and nutrition applications relevant to the topic of “fitness.” “Surfing” application collection 120 may include weather and surf-related news applications relevant to the topic of “surfing.”
[0028] Application collections 120 may reduce or eliminate the need for manual arrangement of applications by a user at computing device 110. For example, predefined application collections 120 may be made available to users. As shown in FIG. 1 for example, application collection 120A is shown as page 108 of a user interface presented by user interface device 114 of computing device 110. The user therefore avoids the effort of arranging and organizing applications manually and is immediately provided with relevant functionality through layout 116 of application collection 120A.
[0029] Layout 116 of application collection 120 may define the arrangement of applications in the application collection within a defined area. For example, layout 116 may define the physical position of an application within its application collection 120, page 108, or other area of a user interface device 114. The presentation of applications may also be defined byDocket No.: 1333-487WO01 layout 116. For example, layout 116 may define a presentation type indicating whether an application is presented as an icon 102 or as a widget 104. As shown in FIG. 1 for example, “Friends” application collection 120 has layout 116 with four widgets 104 positioned along the top and left side and icon 102 at the bottom right.
[0030] Icons 102 may be one or more glyphs or images associated with an application and may be engaged, such as through a tap, click or other user input, to launch the associated application. Widgets 104 may operate similarly to an icon 102 and may also provide additional functionality. In some examples, widgets 104 may present additional graphical or textual information and may provide one or more controls 106 that allow interaction with the associated application. Application collections 120 may provide various layouts 108 of icons 102, widgets 104, and controls 106, or various subsets thereof, to expose relevant functionality to a user, such that this functionality is readily accessible.
[0031] Computing device 110 may include one or more storage devices 112. In some examples, one or more storage devices 112 may store operating system 122, application collection module 124, and one or more application collections 120. As indicated by the broken line surrounding application collections 120, application collections may be stored in similar manner by one or more storage devices 112, in some examples.
[0032] Application collection module 124 may perform operations described herein using software, hardware, firmware, or a mixture of hardware, software, and firmware residing in and / or executing at computing device 110 to perform functions associated with application collections 120, including generating or creating, storing, installing, presenting, sharing, deleting, updating, and removing application collections, or various subsets thereof. Computing device 110 may execute application collection module 124 with multiple processors or multiple devices, as virtual machines executing on underlying hardware, as one or more services of an operating system 122 or computing platform, and / or as one or more executable programs at an application layer of a computing platform of computing device 110.
[0033] Application collection module 124 may present one or more application collections 120 to a user for installation purposes. For example, one or more application collections 120 may be presented in a scrolling view. Each application collection 120 may have a name, topic, or other identifier associated therewith that may also be presented to the user. One orDocket No.: 1333-487WO01 more application collections 120 may also be presented by an application marketplace or store. The user may then select one or more application collections 120 for installation on computing device 110. It is noted that an application marketplace may integrate the functionality of application collection module 124 within its executable program.
[0034] When an application collection 120 is installed, each application associated with the application collection may also be installed. For example, application collection module 124 may determine one or more applications in application collection 120 that are not already installed on computing device 110 and download, if necessary, and install these applications. In some examples, at least a portion of application collection module 124 may be executing at computing device 110, computing system 150, or both and therefore this determination may be made at computing device 110 or computing system 150. In some examples, an application preview may be installed instead of the full application. Application collections 120, their applications, or both may be stored on storage device 112 when installed.
[0035] Application collection module 124 may delete or remove application collections 120 from storage device 112. A removed application collection 120 will no longer appear, including as a page 108 or option, at computing device 110. In some examples, the associated applications may be deleted or removed from storage device 112 as well.
[0036] Application collection module 124 may present one or more application collections 120 for use. For example, an application collection 120A that has been previously installed on computing device 110 may be retrieved from storage device 112, if necessary, and presented to a user with user interface device 114.
[0037] As shown in FIG.1, computing device 110 is presenting application collection 120A in page 108 of computing device’s user interface via user interface device 114. The presentation of application collection 120A at user interface device 114 is defined by its layout 116. The user may then view and interact with various elements of application collection 120A, such as icons 102, widgets 104, and controls 106 thereof.
[0038] A user may switch between application collections 120 in various ways. For example, a user may swipe on page 108 to switch to one or more other application collections 120 installed on computing device 110. In other examples, a control may be provided for such purposes.Docket No.: 1333-487WO01
[0039] For example, application collection switcher 126 may be presented by application collection module 124 to permit switching between application collections 120. A user may engage application collection switcher 126 in various ways. For example, application collection switcher 126 may be a swipe, tap, or other user input to change application collections.
[0040] Application collection switcher 126 may also identify the current application collection 120. In this manner, a name or other identifier of application collection 120A may be presented via user interface device 114. For example, application collection switcher 126 may display the text “Friends” if “Friends” application collection 120 is currently presented by computing device 110.
[0041] In some examples, computing device 110 may operate distinctly based on the currently selected application collection 120. For example, application collection 120 may include one or more settings that silence or activate one or more output devices, brighten or darken one or more user interface devices, or enable, disable, or alter one or more or all notifications at computing device 110 when an application collection 120 is selected. These settings may also take various environmental characteristics into account when changing the operation of computing device 110. For example, application collection 120 may have distinct settings based on the time of day, day(s) of the week, holidays, weekdays, or weekends. One or more settings may be stored as part of application collection 120.
[0042] Application collection module 124 may, in some examples, generate application collections 120, such as by executing one or more heuristics, other rules, and / or one or more machine learning models. Generation of application collections 120 may include selecting applications for inclusion in an application collection and generating a layout 116 for the applications by application collection module 124. Applications may be selected in various ways. For example, applications may be selected based on user profiles, the user’s currently installed applications, and user input, including user input identifying one or more topics of interest. Applications may also be selected based on their relation to a topic, whether they are already installed on computing device 110, and their location or presence on a page 108 or other area as well.
[0043] During generation, application collection module 124 may generate a layout 116. For example, application collection module 124 may generate a layout 116 using one or moreDocket No.: 1333-487WO01 heuristics or other rules as well as various characteristics of the applications. In some examples, if an application provides a widget 104, the widget may be shown in layout 116. Similarly, with an application that provides a widget 104 with a control 106, the widget and control may be shown. In some examples, applications without widgets 104 may be, in some examples, grouped together such that they are adjacent one another, and presented by their icons 102.
[0044] One or more predefined layouts 116 or layout heuristics or rules may be provided. In this manner, a user or machine learning model may generate various application collections 120 with previously installed applications. This allows users to organize their applications into application collections 120 in an automated fashion thereby reducing or eliminating the need for manual arrangement and organization.
[0045] For example, “minimalist” layouts 116 or layout heuristics or rules may be provided which arrange applications into a layout where applications overall are grouped together, such as in folders 128, increasing the overall whitespace in page 108 to provide a minimalist appearance. “Surfing” application collection 120 may be considered as an example of a “minimalist” layout 116.
[0046] In another example, “dashboard” layouts 116 or layout heuristics or rules may be provided which arrange applications to give the appearance of a dashboard whereby the presentation of widgets 104 and controls 106 is increased such that a user can readily view information and interact with applications therein. “Friends” application collection 120 may be considered as an example of a “dashboard” layout 116.
[0047] FIG.2 is a block diagram illustrating an example computing device and computing system for application collections, in accordance with one or more aspects of the present disclosure. Computing device 210 of FIG.2 is described below as an example of computing device 110 as illustrated in FIG.1.
[0048] Computing device 210 of FIG.2 may be an example of a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a mainframe, a set-top box, a television, a wearable device, a home automation device or system, a gaming system, a media player, an e-book reader, a mobile television platform, an automobile navigation or infotainment system, or any other type of mobile, non-mobile, wearable, and non-wearable computing device configured to receive and output an indication of notification data. FIG.2Docket No.: 1333-487WO01 illustrates only one particular example of computing device 210, and many other examples of computing device 210 may be used in other instances and may include a subset of the components included in example computing device 210 or may include additional components not shown in FIG.2.
[0049] As shown in the example of FIG.2, computing device 210 includes user interface device 214, one or more processors 230, one or more input devices 232, one or more communication units 236, one or more output devices 234, and one or more storage devices 212. One or more storage devices 212 of computing device 210 also include operating system 222, application collection module 224, and one or more application collections 220 like operating system 122, application collection module 124, and application collections 120 of FIG.1. One or more application collections 220 may include one or more layouts 216 and one or more settings 242. User interface device 214 may be an example of user interface device 114 shown in FIG.1 and storage device 212 may be an example of storage device 112 shown in FIG.1.
[0050] In some examples, application collection module 224 may include a machine learning module 244. Machine learning module 244 may apply one or more machine learning models to generate one or more application collections 220, including layouts 216. A machine learning model may be generated from various training techniques, including supervised and unsupervised learning techniques, utilizing one or more example datasets including example application collections 220, characteristics of applications therein, layouts 216, and anonymized user profile information. For example, supervised or unsupervised reinforcement learning techniques may be used to generate a machine learning model that, when applied by machine learning module 244, generates application collections 220 that include a suitable group of applications in a suitable layout 216 based on example datasets. At least an indication of at least a subset of data from example datasets, e.g., example application collections 220, characteristics of applications therein, layouts 216, and anonymized user profile information, may be included (such as after one or more transformations) into a machine learning model during training. In some examples, machine learning module 244 may accept a prompt (e.g., “an application collection for surfing with a dashboard layout”) and apply a machine learning model to the prompt to select applications and generate layout 216 for one or more application collections 220.Docket No.: 1333-487WO01
[0051] Communication channels 238 may interconnect each of the components 212, 214, 230, 232, 234, and 236 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 238 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.
[0052] One or more input devices 232 of computing device 210 may receive input. Examples of input are tactile, audio, and video input. Input devices 232 of computing device 210, in one example, includes a presence-sensitive display, touch-sensitive screen, mouse, keyboard, voice responsive system, video camera, microphone or any other type of device for detecting input from a human or machine.
[0053] One or more output devices 234 of computing device 210 may generate output. Examples of output are tactile, audio, and video output. Output devices 234 of computing device 210, in one example, includes a presence-sensitive display, sound card, video graphics adapter card, speaker, liquid crystal display (LCD), organic light-emitting diode (OLED) display, a light field display, haptic motors, linear actuating devices, or any other type of device for generating output to a human or machine.
[0054] One or more communication units 236 of computing device 210 may communicate with external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals on the one or more networks. Examples of one or more communication units 236 include a network interface card (e.g., an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and / or receive information. Other examples of one or more communication units 236 may include short wave radios, cellular data radios, wireless network radios, as well as universal serial bus (USB) controllers.
[0055] User interface device 214 of computing device 210 may be hardware that functions as an input and / or output device for computing device 210. For example, user interface device 214 may include a display component, which may be a screen at which information is displayed by user interface device 214 and a presence-sensitive input device that may detect an object at and / or near the display component.
[0056] One or more processors 230 may implement functionality and / or execute instructions within computing device 210. For example, one or more processors 230 onDocket No.: 1333-487WO01 computing device 210 may receive and execute instructions stored by one or more storage devices 212 that execute the functionality of operating system 222 and application collection module 224, including, in some examples, machine learning module 244. The instructions executed by one or more processors 230 may cause computing device 210 to store information within one or more storage devices 212 during program execution. Examples of one or more processors 230 include application processors, display controllers, sensor hubs, and any other hardware configured to function as a processing unit. One or more processors 230 may execute instructions of operating system 222 and application collection module 224 to perform actions or functions. That is, operating system 222 and application collection module 224 may be operable by one or more processors 222 to perform various actions or functions of computing device 210.
[0057] One or more storage devices 212 within computing device 210 may store information for processing during operation of computing device 210. That is, computing device 210 may store data accessed by operating system 222 and application collection module 224 during execution at computing device 210, including application collections 220 and machine learning models. In some examples, storage device 212 is a temporary memory, meaning that a primary purpose of storage device 212 is not long-term storage. One or more storage devices 212 on computing device 210 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0058] One or more storage devices 212, in some examples, also include one or more computer-readable storage media. One or more storage devices 212 may be configured to store larger amounts of information than volatile memory. One or more storage devices 212 may further be configured for long-term storage of information as non-volatile memory space and retain information after power on / off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. One or more storage devices 212 may store program instructions and / or information (e.g., data) associated with operating system 222 and application collectionDocket No.: 1333-487WO01 module 224. Application collection module 224, including, in some examples, machine learning module 244, may execute at one or more processors 230 to perform functions similar to that of application collection module 124 of FIG.1.
[0059] Network 240 represents any public or private communications network, for instance, cellular, Wi-Fi, and / or other types of networks, for transmitting data between computing systems, servers, and computing devices. Network 240 may include one or more network hubs, network switches, network routers, or any other network equipment, that are operatively inter-coupled thereby providing for the exchange of information between computing system 250 and computing device 210. Computing device 210 and computing system 250 may transmit and receive data across network 240 using any suitable communication techniques. Each of computing system 250 and computing device 210 may be operatively coupled to network 240 using respective network links, such as Ethernet, Wi- Fi, or any other types of wired and / or wireless network connections.
[0060] Computing system 250 may be any suitable remote computing system, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, virtual machines, etc. capable of sending and receiving information via network 240. In some examples, computing system 250 may represent a cloud computing system that provides one or more services via network 240. That is, in some examples, computing system 250 may be a distributed computing system. One or more computing devices, such as computing device 210, may access the services provided by the cloud by communicating with computing system 250. While described herein as being performed at least in part by computing device 210, various aspects of the techniques of the present disclosure may be performed by one or more other devices, such as computing system 250. That is, in some examples, computing device 210 and / or computing system 250 may be operable to perform one or more techniques of the present disclosure alone.
[0061] As shown in FIG. 2, computing device 210 may include an application collection module 224, or computing device 250 may include application collection module 224, or both. Application collections 220 may be stored at computing device 210, computing system 250, or both. Computing devices 210 and 238, network 140, and computing system 250 may exist within an environment 200 in some examples.Docket No.: 1333-487WO01
[0062] In some examples, functionality of application collection module 224 may be distributed between computing device 210 and computing system 250. For example, computing system 250 may primarily be a provider of application collections 220 via network 240 for installation at computing device 210. Computing system 250 may provide application marketplace or similar services through which application collections 220 may be shared or transmitted for discovery and installation. In some examples, computing system 250 may store application collections 220 and the applications and provide application collections and the applications for installation at computing device 210, while computing device may store installed application collections 220.
[0063] Application collection module 224 at computing system 250, computing device 210, or both may provide functionality for creating or generating application collections 220 as well. As shown in FIG.2 for example, machine learning module 244 at computing system 250, computing device 210, or both may execute a machine learning model to generate application collections 220.
[0064] In addition to being generated, application collections 220 may be predefined, stored, and subsequently made available for installation at client devices 210. In some examples, in addition to a user at computing device 210, operator of computing system 250, or a third party may be providers of predefined application collections 220. Computing system 250 or computing device 210 may be used to create and distribute these and other application collections 220.
[0065] For example, a provider may select applications and define layouts for one or more application collections 220 and transmit the same to computing system 250, such as via network 240. Application collections 220 can then be stored at computing system 250 and subsequently be made available for discovery and installation at computing device 210.
[0066] Some examples of predefined application collections 220 include application collections by an employer for work purposes, application collections by a business for marketing purposes, and application collections by a sponsor for promotional purposes. These application collections 220 may include applications exclusively from the provider or applications from various sources.
[0067] Application collection module 224 may share applications between a plurality of computing devices 210 via network 240. A shared application collection 220 may beDocket No.: 1333-487WO01 presented in the same manner on a plurality of computing devices 210 and 246. For example, a shared application collection 220 may be synchronized between a plurality of computing devices 210 and 246 such that the presentation thereof provides identical information at the plurality of computing devices 210. In this manner, multiple users, such as a family, may together share and use a particular application collection 220, analogous to a family’s refrigerator door or whiteboard.
[0068] In some examples, synchronization information may be shared between computing devices 210 and 246 to synchronize shared application collections such that the shared application collections display identical information, including as to new or updated information. Synchronization information may be communicated directly between computing devices 210 and 246, through computing system 250, or both.
[0069] As will be described below, FIGS.3A-3C are conceptual diagrams illustrating example user interfaces relating to application collections, in accordance with one or more aspects of the present disclosure. FIGS. 3A-3C are described herein within the context of environment 100 of FIG. 1 and environment 200 of FIG.2, which include application collection module 124 and 224, computing device 110 and 210, network 240, and computing system 250 of FIGS. 1-2. User interface device 314 and application collections 320 of FIGS. 3A-3C are described below as examples of application collection 120 and 220 as illustrated in FIGS.1-2.
[0070] FIG.3A is a conceptual diagram illustrating an example user interface for generating an application collection from installed applications, in accordance with one or more aspects of the present disclosure.
[0071] Applications 360 may typically be installed in a disorganized fashion or may become disorganized over time on a computing device 310. As shown in FIG.3A for example, installed applications 360 are laid out in a haphazard manner on page 308 of computing device 310.
[0072] Application collection module 224 may generate an application collection 220 from applications 360 in an automated fashion. For example, one or more machine learning models, one or more layout heuristics, and / or rules may be applied to generate an application collection 220 including layout 116 and one or more settings as described above. In some examples, one or more layout selectors 362, such as in the form of buttons or controls, mayDocket No.: 1333-487WO01 be presented via user interface device 314 of computing device 310. Upon engagement of a layout selector 362, such as via a tap, click, or other user input, application collection 220 may accordingly be generated with applications 360 within page 308.
[0073] For example, engaging “Minimal” layout selector 362 may automatically generate an application collection like “Surfing” application collection 120 of FIG.1 using applications 360, and engaging “Dashboard” layout selector 362 may automatically generate an application collection like “Friends” application collection 120 of FIG. 1 using applications 360. Engaging “None” layout selector 362 may result in maintaining or reverting back to a standard view of applications 360, such as that of the example screen space 364 shown in FIG.3A.
[0074] FIG.3B is a conceptual diagram illustrating an example user interface for discovery and installation of application collections, in accordance with one or more aspects of the present disclosure.
[0075] As shown in FIG.3B, one or more application collections 320 may be presented by user interface device 314. Application collections 320 may be stored locally on a storage device 212 or may be retrieved from a remote computing system 250, such as via network 240.
[0076] Application collections 320 may be presented in various ways. As shown by the broken line illustrations in FIG.3B for example, application collections 320 may be presented in a discovery interface 370, which may be analogous to an application marketplace in some examples. In some examples, discovery interface 370 may be a user interface where application collections 320 may be presented in a vertically scrolling list, a horizontally scrolling list, or both. The currently selected application collection 320 may be prominently displayed to allow a user to initiate the installation process therefor if desired. This also provides a preview of application collection 320 to the user. As can be seen from the example of FIG.3B, a preview may comprise a layout of one or more icons 302, widgets 304, and controls 306 for application collection 320.
[0077] A user may arrive at discovery interface 370 in various ways. In some examples, discovery interface 370 may appear at the beginning or end, i.e., first or last, of the user’s pages as a user swipes or switches between pages 108 at computing device 110. In other examples, discovery interface 370 may be part of a separate application, such as anDocket No.: 1333-487WO01 application marketplace, and appear when such application is executed. Various combinations of predefined and / or generated application collections 320, including sponsored application collections, may be presented via discovery interface 370 for discovery and installation.
[0078] FIG.3C is a conceptual diagram illustrating an example user interface for presentation of installed application collections, in accordance with one or more aspects of the present disclosure.
[0079] In addition to switching between application collections 320 as described above, application collections may be selected via graphical representations 376 thereof. For example, an application collection 320 may be presented as a graphical representation 376 in the form of an icon or widget. In this manner, one or more application collections 320 may be shown within a screen space 374, which may be a page, lock screen, or other screen. A user may view a plurality of application collections in a single screen space 374 and also switch to a particular application collection 320 by engaging the graphical representation 376 representing the desired application collection, such as via a tap, click, or other user input.
[0080] For example, engaging graphical representation 376, such as by tapping or clicking the same, allows a user to “enter” the application collection 320 resulting in presentation of the application collection, such as shown by application collection 120A at computing device 110 of FIG.1.
[0081] In some examples, graphical representation 376 may provide collection information from the applications within an application collection 320. As shown in FIG. 3C for example, “Sleep schedule starts in 5 hours” is presented by one of the graphical representations 576. This collection information may, for example, be retrieved from a calendar, alarm, or scheduling application with this application collection 320. In some examples, names, titles, times, and other information associated with alarms, notifications, or alerts may be displayed as collection information in or as part of graphical representations 376.
[0082] Graphical representations 376 allow application collections 320 to be organized in a manner analogous to rooms in a building, whereby individual rooms are intended for one or more particular activities. From this perspective, each graphical representation 376 and application collection 320 may represent a room, particular activities, or both. A user canDocket No.: 1333-487WO01 thus readily access the relevant application collection 320 for their intended activity. Additionally, a user may exit an application collection 110A and return to screen space 374 to switch to another application collection 320 to perform other activities.
[0083] With respect to FIG.3C for example, a user may engage the uppermost graphical representation 376 to enter “Surfing” application collection 120 as shown in FIG.1, such as to peruse weather reports relating to a surfing trip. The central graphical representation 376 may be engaged to enter “Fitness” application collection as shown in FIG.1, such as, in this instance, to coach or monitor the user’s sleeping habits. In some examples, operation of a computing device 310 may automatically change as defined in one or more settings 242 of an application collection 320 when the user enters or switches to the application collection.
[0084] One or more controls 372 may be provided, such as to add or remove application collections 320 from one or more screen spaces 374. One or more controls 372 may be used to select shapes and other characteristics of graphical representations 376. For example, background images or any information from associated applications the user desires to display may be selected via one or more controls 372. As illustrated by the broken line drawing thereof, controls 372 may appear and disappear based on context or not be provided whatsoever in some examples.
[0085] FIG.4 is a flowchart illustrating an example process for creation of an application collection, in accordance with one or more aspects of the present disclosure. FIG.4 is described below in the context of FIGS. 1-3C.
[0086] With reference to FIG.4, a selection of one or more applications 360 may be received (402) by one or more processors 230. In some examples, a selection may be received from a user through user interface device 214 or input device 232 of computing device 210. The selection may identify one or more applications 360 to be included in a new application collection 220.
[0087] The selection may be generated (402), such as by one or more processors 230 as well. For example, a selection may be generated based on one or more topics, with applications relating to such topics being automatically included in the selection. As another example, a selection of applications 360 may be generated based on user profiles, the user’s currently installed applications, and user input, including user input identifying one or more topics of interest.Docket No.: 1333-487WO01
[0088] One or more processors 230 may receive layout 216 for the application collection (404). In some examples, layout 216 may be received from a user such as through user interface device 214 or input device 232 of computing device 210. As described above, layout 216 defines the position and presentation of applications within an application collection 120. Accordingly, one or more processors 230 may receive coordinates or other positioning information as well as presentation information governing the presentation of applications 360. For example, presentation information may identify whether an application 360 is to be presented as an icon 102 or widget 104, with or without controls 106.
[0089] One or more processors 230 may receive settings 242 for the application collection (406). As described above, settings 242 may define operation of one or more elements of computing device 210 when the application collection is selected. For example, settings may silence or activate one or more output devices 234, brighten or darken one or more user interface devices 214, or enable or disabled particular notifications at computing device 210 when the application collection 120 is selected. Settings 242 may be received in various ways, including through user interface device 214 or input device 232 of computing device 210.
[0090] One or more storage devices 212 may store the application collection (408). In some examples, storage of an application collection 220 includes storing the selection of applications 360, layout 216, and settings 242. Application collections 220 may be stored at a computing device 210, computing system 250, or both, such as on a storage device 212 therein or accessible thereto.
[0091] FIG.5 is a flowchart illustrating an example process for installation of an application collection, in accordance with one or more aspects of the present disclosure. FIG.5 is described below in the context of FIGS. 1-3C.
[0092] User interface device 114 may present application collections for installation (502). In some examples, application collections 120 may be retrieved for presentation from storage device 112 that is local to computing device 110. In other examples, application collections may be retrieved from a remote device, such as computing system 250 and may be transmitted to computing device 210 for presentation through network 240.Docket No.: 1333-487WO01
[0093] One or more processors 230 may receive a selection of an application collection 320 for installation (504). The selection may occur through user input received at user interface device 314 or input device 232 that identifies the application collection.
[0094] One or more processors 230 may install applications in the selected application collection (506). In some examples, one or more processors 230 may first determine which applications of the application collection 320 are not currently installed. As part of the installation process, the application collection 320 may also be stored by one or more processors 230, such as on storage device 212 of computing device 210.
[0095] One or more processors 230 may apply layout 116 of application collection 120 to its applications (508) and present the resulting application collection (512) with user interface device 214. For example, as shown at computing device 110 in FIG.1, application collection 120A may be presented according to its associated layout 116.
[0096] FIG.6 is a flowchart illustrating an example process for presentation of application collections, in accordance with one or more aspects of the present disclosure. FIG.6 is described below in the context of FIGS. 1-3C.
[0097] One or more processors 230 may receive an instruction to enter an application collection 220 for presentation purposes (602). For example, an instruction may be a swipe, tap, click, or other user input indicating the user’s intent to switch to a particular application collection 220. One or more processors 230 may receive the instruction and identify the application collection 220 to present based on the action. One or more processors 230 may retrieve the identified application collection 220, such as from storage device 212.
[0098] One or more processors 230 may apply settings 242 of the application collection 220 (604). For example, application of settings 242 may silence or activate one or more output devices 234, brighten or darken one or more user interface devices 214, or enable, disable, or alter one or more or all notifications at computing device 210 when the application collection is selected.
[0099] As shown in the example computing device 110 of FIG.1, application collection 120A may be presented (606) at user interface device 214 by one or more processors 230. The user may then utilize application collection 120A as desired.
[0100] One or more processors 230 may receive an instruction to exit an application collection 120A (608). For example, an instruction to exit may be a swipe, tap, click, orDocket No.: 1333-487WO01 other user input indicating the user’s desire to stop use or presentation of application collection 120A at user interface device 114 of computing device 110. This may occur when the user intends to switch to a different application collection 120 or page 108, use an application 360, or return to a home or other screen. The instruction to exit may indicate the user’s intent.
[0101] In some examples, if the user intends to switch to a different application collection 120, one or more processors 230 may present the different application collection (602) as described above. Application of application collection settings (604) and presentation of the application collection 120 (606) at computing device 110 may then proceed, as is illustrated in the example of FIG.6.
[0102] In some cases, a user may intend to proceed to a “room” view where application collections 320 are shown as graphical representations 376 within a screen space 374. If so, one or more processors 230 may present screen space 374 including one or more graphical representations 376 of one or more application collections 320 (612).
[0103] As shown in the example of FIG.6, one or more processors 230 may receive an instruction to exit the screen space 374 (608). For example, an instruction to exit may be a swipe, tap, click, or other user input indicating the user’s desire to stop use or presentation of screen space 374 at user interface device 314.
[0104] If the user intends to stop presentation of screen space 374 in order to enter an application collection 320, such as by engaging a graphical representation 376, the intended application collection may be entered (602) and presentation of the application collection may occur as described above.
[0105] In some examples, one or more processors 230 execute application collection module 224 to provide the functionality described above with respect to the flowcharts of FIGS.4-6.
[0106] Aspects of this disclosure include the following examples.
[0107] Example 1: A method includes receiving, by one or more processors of a computing device, a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determining whether one or more applications of the plurality ofDocket No.: 1333-487WO01 applications need installation at the computing device and receiving the one or more applications from an application marketplace; and presenting, with a user interface device of the computing device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0108] Example 2: The method of example 1, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
[0109] Example 3: The method of any of examples 1 and 2, wherein the one or more application collections further comprise one or more settings that alter the operation of one or more output devices at the computing device when the one or more application collections are presented.
[0110] Example 4: The method of any of examples 1-3, wherein the plurality of presentation types includes at least an icon presentation type and a widget presentation type.
[0111] Example 5: The method of any of examples 1-4, further comprising presenting, with the user interface device, a screen space, wherein within the screen space one or more graphical representations of the one or more application collections is presented, wherein the screen space occupies substantially all of a display area of the user interface device.
[0112] Example 6: The method of any of examples 1-5, further comprising applying, by the one or more processors, a machine learning model to select the plurality of applications and generate the layout and the at least one presentation type of the one or more application collections.
[0113] Example 7: The method of any of examples 1-6, further comprising receiving, at the user interface device, a user input at the one or more graphical representations, wherein the one or more application collections are presented in response to the user input.
[0114] Example 8: The method of any of examples 1-7, wherein the layout and the at least one presentation type of the one or more application collections are determined by the one or more processors based on one or more heuristics.
[0115] Example 9: The method of any of examples 1-8, further comprising synchronizing, with one or more communication units, the one or more application collections with one or more other computing devices, wherein synchronization results in substantially identicalDocket No.: 1333-487WO01 presentation of the one or more application collections at the computing device and the one or more other computing devices.
[0116] Example 10: A computing device includes a memory that stores instructions; a user interface device; and one or more processors that execute the instructions to: receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; and present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0117] Example 11: The computing device of example 10, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
[0118] Example 12: The computing device of any of examples 10 and 11, wherein the one or more application collections further comprise one or more settings that alter the operation of one or more output devices at the computing device when the one or more application collections are presented.
[0119] Example 13: The computing device of any of examples 10-12, wherein the plurality of presentation types includes at least an icon presentation type and a widget presentation type.
[0120] Example 14: The computing device of any of examples 10-13, wherein the one or more processors further execute the instructions to present, with the user interface device, a screen space, wherein within the screen space one or more graphical representations of the one or more application collections is presented, wherein the screen space occupies substantially all of a display area of the user interface device.
[0121] Example 15: The computing device of any of examples 10-14, wherein the one or more processors further execute the instructions to apply, by the one or more processors, a machine learning model to select the plurality of applications and generate the layout and the at least one presentation type of the one or more application collections.Docket No.: 1333-487WO01
[0122] Example 16: The computing device of any of examples 10-15, wherein the one or more processors further execute the instructions to receive, at the user interface device, a user input at the one or more graphical representations, wherein the one or more application collections are presented in response to the user input.
[0123] Example 17: The computing device of any of examples 10-16, wherein the layout and the at least one presentation type of the one or more application collections are determined by the one or more processors based on one or more heuristics.
[0124] Example 18: The computing device of any of examples 10-17, wherein the one or more processors further execute the instructions to synchronize, with one or more communication units of the computing device, the one or more application collections with one or more other computing devices, wherein synchronization results in substantially identical presentation of the one or more application collections at the computing device and the one or more other computing devices.
[0125] Example 19: A non-transitory computer-readable storage medium includes instructions, that when executed by one or more processors of a computing device, cause the one or more processors to receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; and present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
[0126] Example 20: The non-transitory computer-readable storage medium of example 19, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
[0127] Example 21. A method includes receiving, by one or more processors of a computing system, a selection of one or more application collections available through an application marketplace, the one or more application collections including a plurality of applications available through the application marketplace, wherein the one or more applicationDocket No.: 1333-487WO01 collections comprise a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications when presented at a computing device; and responsive to receiving the selection, determining whether one or more applications of the plurality of applications need installation at the computing device and transmitting the one or more applications to the computing device for installation.
[0128] Example 22. The method of example 21, wherein the plurality of applications are selected based on one or more user profiles.
[0129] Example 23. The method of any of examples 21 and 22, wherein the one or more application collections further comprise one or more settings that alter the operation of one or more output devices at the computing device when the one or more application collections are presented.
[0130] Example 24. The method of any of examples 21-23, wherein the plurality of presentation types includes at least an icon presentation type and a widget presentation type.
[0131] Example 25. The method of any of examples 21-24, wherein the layout and the at least one presentation type of the one or more application collections are determined by the one or more processors based on one or more heuristics.
[0132] Example 26. The method of any of examples 21-25, further comprising synchronizing, through a network, the one or more application collections with one or more other computing devices, wherein synchronization results in substantially identical presentation of the one or more application collections at the computing device and the one or more other computing devices.
[0133] Various examples have been described. These and other examples are within the scope of the following claims.
Claims
Docket No.: 1333-487WO01 CLAIMS:
1. A method comprising: receiving, by one or more processors of a computing device, a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determining whether one or more applications of the plurality of applications need installation at the computing device and receiving the one or more applications from an application marketplace; and presenting, with a user interface device of the computing device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
2. The method of claim 1, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
3. The method of any of claims 1 and 2, wherein the one or more application collections further comprise one or more settings that alter the operation of one or more output devices at the computing device when the one or more application collections are presented.
4. The method of any of claims 1-3, wherein the plurality of presentation types includes at least an icon presentation type and a widget presentation type.
5. The method of any of claims 1-4, further comprising presenting, with the user interface device, a screen space, wherein within the screen space one or more graphical representations of the one or more application collections is presented, wherein the screen space occupies substantially all of a display area of the user interface device.Docket No.: 1333-487WO01 6. The method of any of claims 1-5, further comprising applying, by the one or more processors, a machine learning model to select the plurality of applications and generate the layout and the at least one presentation type of the one or more application collections.
7. The method of any of claims 1-6, further comprising receiving, at the user interface device, a user input at the one or more graphical representations, wherein the one or more application collections are presented in response to the user input.
8. The method of any of claims 1-7, wherein the layout and the at least one presentation type of the one or more application collections are determined by the one or more processors based on one or more heuristics.
9. The method of any of claims 1-8, further comprising synchronizing, with one or more communication units, the one or more application collections with one or more other computing devices, wherein synchronization results in substantially identical presentation of the one or more application collections at the computing device and the one or more other computing devices.
10. A computing device comprising: a memory that stores instructions; a user interface device; and one or more processors that execute the instructions to: receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; andDocket No.: 1333-487WO01 present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
11. The computing device of claim 10, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
12. The computing device of any of claims 10 and 11, wherein the one or more application collections further comprise one or more settings that alter the operation of one or more output devices at the computing device when the one or more application collections are presented.
13. The computing device of any of claims 10-12, wherein the plurality of presentation types includes at least an icon presentation type and a widget presentation type.
14. The computing device of any of claims 10-13, wherein the one or more processors further execute the instructions to present, with the user interface device, a screen space, wherein within the screen space one or more graphical representations of the one or more application collections is presented, wherein the screen space occupies substantially all of a display area of the user interface device.
15. The computing device of claim 10-14, wherein the one or more processors further execute the instructions to apply, by the one or more processors, a machine learning model to select the plurality of applications and generate the layout and the at least one presentation type of the one or more application collections.
16. The computing device of any of claims 10-15, wherein the one or more processors further execute the instructions to receive, at the user interface device, a user input at the one or more graphical representations, wherein the one or more application collections are presented in response to the user input.Docket No.: 1333-487WO01 17. The computing device of any of claims 10-16, wherein the layout and the at least one presentation type of the one or more application collections are determined by the one or more processors based on one or more heuristics.
18. The computing device of any of claims 10-17, wherein the one or more processors further execute the instructions to synchronize, with one or more communication units of the computing device, the one or more application collections with one or more other computing devices, wherein synchronization results in substantially identical presentation of the one or more application collections at the computing device and the one or more other computing devices.
19. A non-transitory computer-readable storage medium comprising instructions, that when executed by one or more processors of a computing device, cause the one or more processors to: receive a selection of one or more application collections including a plurality of applications, the one or more application collections comprising a layout for the plurality of applications, wherein the layout defines at least a position and at least one presentation type of a plurality of presentation types for each of the plurality of applications; responsive to receiving the selection, determine whether one or more applications of the plurality of applications need installation at the computing device and receive the one or more applications from an application marketplace; and present, with the user interface device, the one or more application collections, wherein each of the plurality of applications are presented at the position and in the at least one presentation type defined in the layout.
20. The non-transitory computer-readable storage medium of claim 19, wherein the plurality of applications are selected based on at least one of a user profile or a topic.
Citation Information
Patent Citations
Method for controlling a composition of a screen and electronic device thereof
EP2887194B1
Desktop layout method and related apparatus
WO2023226696A1