Applications for electronic devices, which may be commonly referred to as “apps”, are typically selected for download to an electronic device from a database of applications for a particular operating system of an electronic device. The database of applications is typically accessible via the Internet from a web browser stored on the electronic device, or from an application stored on the electronic device which can access the database of applications. Typically, such databases of applications that can be searched, selected, downloaded is commonly referred to as an “app store.” When a user browses or searches for applications in the app store using an electronic device, the store does not know what accessory devices are owned by the user, or have been communicatively coupled to the user's electronic device. This can lead to situations where the app store does not provide useful recommendations to the user of the electronic device.
According to embodiments of the disclosed subject matter, systems and methods are provided to recommend accessory devices to provide an expanded user experience with one or more of the applications stored on a user device, and recommend content, such as other applications, which leverages the accessories associated with the user device.
According to an embodiment of the disclosed subject matter, a method is provided that includes retrieving, with a server, device information data from a user device, retrieving, by the server, accessory information data from one or more accessory devices determined to be communicatively coupled to the user device within a predetermined period of time according to the retrieved device information data, retrieving, by the server, application data from the user device for applications stored on the user device, and recommending, by the server that is communicatively coupled to a storage device having a database of applications and user experience data, at least one new accessory device to the user device according to user experience data, the retrieved application data, the retrieved device information data, and the accessory information data.
According to an embodiment of the disclosed subject matter, a system is provided that includes a user device, one or more accessory devices determined to be communicatively coupled to the user device within a predetermined period of time, a server, communicatively coupled to a storage device having a database of applications and user experience data, to retrieve device information data from the user device, accessory information data from the one or more accessory devices according to the retrieved device information data, and application data from the user device for applications stored on the user device, and to recommend at least one new accessory device to the user device according to user experience data, the retrieved application data, the retrieved device information data, and the accessory information data.
According to an embodiment of the disclosed subject matter, means for recommending at least one new accessory device to provide an expanded user experience with one or more of the applications stored on a user device by retrieving, with a server, device information data from a user device, retrieving, by the server, accessory information data from one or more accessory devices determined to be communicatively coupled to the user device within a predetermined period of time according to the retrieved device information data, retrieving, by the server, application data from the user device for applications stored on the user device, and recommending, by the server that is communicatively coupled to a storage device having a database of applications and user experience data, at least one new accessory device to the user device according to user experience data, the retrieved application data, the retrieved device information data, and the accessory information data.
Additional features, advantages, and embodiments of the disclosed subject matter may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary and the following detailed description are illustrative and are intended to provide further explanation without limiting the scope of the claims.
The accompanying drawings, which are included to provide a further understanding of the disclosed subject matter, are incorporated in and constitute a part of this specification. The drawings also illustrate embodiments of the disclosed subject matter and together with the detailed description serve to explain the principles of embodiments of the disclosed subject matter. No attempt is made to show structural details in more detail than may be necessary for a fundamental understanding of the disclosed subject matter and various ways in which it may be practiced.
Exemplary embodiments of the presently disclosed subject matter may provide systems and method of providing recommendations for accessory devices for a user's computing device to expand the user experience for the user with one or more applications (e.g., applications stored on the user's device). With the system disclosed herein, an application store (i.e., “app store”) may provide accessory device and application recommendations to a user device, and may cross-link between these products so that users can be made aware that user experiences with existing purchases and/or downloads can be expanded, and that hardware-software dependencies may exist between one or more applications and accessory devices.
Embodiments of the presently disclosed subject matter may be implemented in and used with a variety of component and network architectures.
The bus 21 allows data communication between the central processor 24 and one or more memory components, which may include RAM, ROM, and other memory, as previously noted. Typically RAM is the main memory into which an operating system and application programs are loaded. A ROM or flash memory component can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with the computing device 20 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed storage 23), an optical drive, floppy disk, or other storage medium. At least one of the memory 27, the fixed storage 23, and the removable media 25 may store one or more applications (i.e., “apps”).
The fixed storage 23 may be integral with the computer 20 or may be separate and accessed through other interfaces. The network interface 29 may provide a direct connection to a remote server via a wired or wireless connection. The network interface 29 may provide such connection using any suitable technique and protocol as will be readily understood by one of skill in the art, including digital cellular telephone, WiFi, Bluetooth®, near-field, and the like. For example, the network interface 29 may allow the computer to communicate with other computers via one or more local, wide-area, or other communication networks, as described in further detail below. The network interface 29 may allow the computing device 20 to communicate with accessory devices via one or more local, wide-area, or other communication networks.
Many other devices or components (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the components shown in
As disclosed herein, and as illustrated in
The user interface 13, database 15, and/or processing units 14 may be part of an integral system, or may include multiple computer systems communicating via a private network, the Internet, or any other suitable network. One or more processing units 14 may be, for example, part of a distributed system such as a cloud-based computing system, search engine, content delivery system, application store, or the like, which may also include or communicate with a database 15 and/or user interface 13. In some arrangements, an analysis system 5 may provide back-end processing, such as where stored or acquired data is pre-processed by the analysis system 5 before delivery to the processing unit 14, database 15, and/or user interface 13. For example, a machine learning system 5 may provide various prediction models, data analysis, or the like to one or more other systems 13, 14, 15. In another example, the analysis system 5 may determine information about the user device 10, as well as whether any accessory devices have been communicatively coupled to the user device 10 (e.g., either presently coupled, or that have been coupled within a predetermined period of time, such as within minutes, hours, days, or weeks, and so forth). The analysis system 5 may also determine the applications that are stored on the user device 10, and may provide recommendations for one or more accessory devices for the user to purchase and/or couple to the user device 10 to expand the experience of one or more applications stored on the user device 10, and may provide recommendations to the user device 10 for applications to be retrieve from, for example, the database 15 and/or the service provider 11.
In situations in which the systems discussed here (e.g., as illustrated in
Application data can be retrieved by the server from the user device, where the application data relates to applications stored on the user device, at operation 130. Application data may include, for example, the name and the version of one or more applications stored on the user device, as well as hardware, operating system, or accessory requirements for basic operating and/or functionality, as well as hardware and/or accessory requirements to provide an expanded user experience.
In operation 140, the server that is communicatively coupled to a database of applications and user experience data may recommend at least one new accessory device to the user device according to user experience data, the retrieved application data, the retrieved device information data, and the accessory information data. That is, the database of applications may include hardware requirements (e.g., the make, model, and/or type of user device) for one or more applications, as well as one or more accessory devices (e.g., the make, model, and/or type of accessory devices) that may be used and/or compatible with an application, as well as which accessory devices may provide an expanded user experience when the application is executed on the user device and the one or more accessory devices are communicatively coupled to the user device.
In example embodiments of the presently disclosed subject matter, the recommended at least one new accessory device in operation 140 can provide an expanded user experience with one or more of the applications stored on the user device, when the user purchases and communicatively couples the recommended accessory device to the user device. The database of applications and user experience data may include data linking one or more accessory devices to one or more applications, respectively, to provide a predetermined expanded user experience with the one or more applications.
The server can determined that the user device is associated with the at least one new accessory device according to updated accessory information data retrieved from the user device. That is, the server may periodically retrieve accessory information from the user device to capture updates to the accessory information (e.g., as accessory devices are coupled and/or decoupled from the user device). Alternatively, or in addition, the user device may provide updated accessory information to the server when accessory devices are newly coupled to and/or decoupled from the user device. The server that is coupled to the storage device having the database of applications and user experience data may recommend at least one new application from the database of applications according to the updated accessory information data. That is, as the device may have accessories communicatively coupled to it, the server may provide recommendations for new applications to provide an expanded user experience with the corresponding accessory device. Alternatively, or additionally, the server may alert and/or inform the user that the user experience with an existing application that is stored on the user device may be expanded, as one or more accessory devices have been communicatively coupled to the user device.
In example embodiments of the presently disclosed subject matter, the server may tag at least one application in the storage device having the database of applications, so that accessory devices for a predetermined user experience level are identified. The user experience levels may also be referred to as feature levels, where an application may have one or more feature levels according to whether the user device has one or more accessory devices coupled to it that the application can interact with.
That is, applications may have one or more user experience levels that may be presented according to the accessory devices that are communicatively coupled to the user device that features of an application can utilize. For example, a first user experience level may be provided by an application when a first accessory device is communicatively coupled to the user device. A user experience level may be expanded to provide a second user experience level when the user had at least a second accessory device communicatively coupled to the user device, along with the first accessory device.
Alternatively, or in addition, applications may be tagged according to manual input (e.g., from application developers of the corresponding application). Applications may be tagged according to features identified in an application by a tagging application that reviews the source code, metadata, and/or other data of the application. Applications may also be tagged by crowdsourcing, whereby users of the application can provide tagging information regarding an application and/or an accessory device as to whether the application is operable with a user device and/or a particular accessory device, or combination of accessory devices. With crowdsourcing, users can provide tagging to identify which combination of applications, user devices, and accessory devices provide an expanded user experience. The crowdsourced tagging provided by one or more users may be provided for one or more user devices to at least of the server 13, the database 17, and/or the remote platform 17 illustrated in
That is, with crowdsourcing, one or more users of device 10 illustrated in
In example embodiments of the presently disclosed subject matter, the system as disclosed herein may extract data from application and/or accessory device reviews (e.g., retrieved from a server connected to a communications network). The extracted data may be used to tag applications and/or accessory device recommendations to identify accessory devices that may expand the user experience for a particular application.
With the server that is coupled to the database of applications and user experience data, the server can determine at least one application to recommend according to the retrieved device information data and the accessory information data. The server can filter the determined applications to recommend to the user of the user device, according to at least one of the retrieved device information data and the accessory information data.
In example embodiments of the presently disclosed subject matter, the server can recommend the at least one new accessory device without receiving user input from the user device. Typically, in traditional application distribution systems, a user may provide keywords and/or other input as a search query to locate applications that match the query. In contrast, the example embodiments of the present disclosed subject matter provide new accessory device recommendations according to the user experience data, the retrieved application data, the retrieved device information data, and the accessory information data, and may not utilize a user search query received from a user device. In example embodiments of the presently disclosed subject matter, the recommending of the at least one new accessory device by the server can without receiving a search request for at least one of an application and an accessory device from the user device.
According to the tagging disclosed above, at least one of the server 13, database 15, and the remote platform 17 illustrated in
In example embodiments of the presently disclosed subject matter, a server may provide a user device with merchandised sets of relevant items when the user connects with the server's application store (i.e., “app store”). For example, if the user of the user device connecting to the app store has a wearable computing device that is an accessory device communicatively coupled to the user device (e.g., as identified by the accessory device data disclosed above), a server may provide a collection of the most popular applications which provide an expanded user experience for the coupling of the user's device with the wearable computing device that is the accessory device.
In the example described above, the collections can be displayed on the user device in a manner that provides an enhanced experience in recommending applications and/or accessory devices. For example, a server may present to the user device recommended collections only to users who meet a predetermined criteria (e.g., have an applications stored on their user device that may benefit from an expanded user experience when an accessory device is added), or are in a certain geographic location, or have used a particular accessory device (e.g., a wearable computing accessory device) recently (e.g., within the past day, week, month, or the like), or have their accessory device presently coupled to the accessory device.
In another example, at least one of the server 13, database 15, and remote platform 17 as illustrated in
In example embodiments of the presently disclosed subject matter, at least one of the server 13, database 15, and remote platform 17 as illustrated in
Various embodiments of the presently disclosed subject matter may include or be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. Embodiments also may be embodied in the form of a computer program product having computer program code containing instructions embodied in non-transitory and/or tangible media, such as floppy diskettes, CD-ROMs, hard drives, USB (universal serial bus) drives, or any other machine readable storage medium, such that when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing embodiments of the disclosed subject matter. Embodiments also may be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, such that when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing embodiments of the disclosed subject matter. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
In some configurations, a set of computer-readable instructions stored on a computer-readable storage medium may be implemented by a general-purpose processor, which may transform the general-purpose processor or a device containing the general-purpose processor into a special-purpose device configured to implement or carry out the instructions. Embodiments may be implemented using hardware that may include a processor, such as a general purpose microprocessor and/or an Application Specific Integrated Circuit (ASIC) that embodies all or part of the techniques according to embodiments of the disclosed subject matter in hardware and/or firmware. The processor may be coupled to memory, such as RAM, ROM, flash memory, a hard disk or any other device capable of storing electronic information. The memory may store instructions adapted to be executed by the processor to perform the techniques according to embodiments of the disclosed subject matter.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit embodiments of the disclosed subject matter to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to explain the principles of embodiments of the disclosed subject matter and their practical applications, to thereby enable others skilled in the art to utilize those embodiments as well as various embodiments with various modifications as may be suited to the particular use contemplated.