Users interact with multiple computer-implemented services to produce a variety of digital content. For example, users can use a social networking service to post (share) digital content (e.g., text, video, images) with other users, can use a video-sharing service to post digital content, and/or can use an image-sharing service to post digital content. Further, users can use devices (e.g., smartphones) to capture digital content (e.g., videos, images). Consequently, the digital content generated by a user can be dispersed across multiple computer-implemented systems and/or devices.
This specification relates to presentation of content received from a plurality of data sources.
Implementations of the present disclosure are generally directed to accessing and aggregating digital content from a plurality of data sources, and generating one or more presentations based on the digital content. More particularly, implementations are directed to aggregating digital content from one or more data sources including social networking data sources, processing the digital content, and providing a presentation based on the digital content.
In general, innovative aspects of the subject matter described in this specification can be embodied in methods that include actions of receiving user credentials associated with a user, and in response to receiving the user credentials, automatically: accessing one or more data sources based on the credentials, at least one data source including a computer-implemented service used by the user, receiving a plurality of digital content from the one or more data sources, items of digital content provided in the plurality of digital content, processing the plurality of digital content to provide a sub-set of digital content, providing one or more presentations, each presentation including items of digital content of the sub-set of digital content, and providing the one or more presentations for display on a computing device of the user. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features: the computer-implemented service includes a social networking service, a content-sharing service, or a micro-blogging service; at least one data source includes the computing device of the user; items of digital content include images, videos and/or text; items of digital content include interactions associated therewith, interactions including comments, sharing and/or likes; the one or more data sources are accessed through respective application program interfaces (APIs); at least one presentation is an interactive presentation; the at least one presentation includes one or more interaction elements, through which users can interact with an item of digital content displayed in the presentation; processing the plurality of digital content to provide a sub-set of digital content includes processing the plurality of digital content based on one or more parameters, each sub-set of digital content corresponding to a respective parameter; and the one or more parameters comprise time, location, keyword and collection.
Innovative aspects of the subject matter described in this specification can also be embodied in methods that include actions of accessing one or more data sources based on credentials of a user, at least one data source including a computer-implemented service used by the user, receiving a plurality of digital content from the one or more data sources, items of digital content provided in the plurality of digital content, processing the plurality of digital content to provide a sub-set of digital content, providing one or more presentations, each presentation including items of digital content of the sub-set of digital content, and providing the one or more presentations for display on a computing device of the user. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features: the computer-implemented service includes a social networking service, a content-sharing service, or a micro-blogging service; at least one data source includes the computing device of the user; items of digital content include images, videos and/or text; items of digital content include interactions associated therewith, interactions including comments, sharing and/or likes; the one or more data sources are accessed through respective application program interfaces (APIs); at least one presentation is an interactive presentation; the at least one presentation includes one or more interaction elements, through which users can interact with an item of digital content displayed in the presentation; processing the plurality of digital content to provide a sub-set of digital content includes processing the plurality of digital content based on one or more parameters, each sub-set of digital content corresponding to a respective parameter; the one or more parameters include time, location, keyword and collection; and action further include receiving user input, the user input defining items of digital content that are included in the sub-set of digital content, wherein providing one or more presentations and providing the one or more presentations for display are performed in response to the user input.
The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
Like reference numbers and designations in the various drawings indicate like elements.
Implementations of the present disclosure are generally directed to generating presentations based on digital content that is aggregated from one or more data sources. More particularly, implementations of the present disclosure are directed to receiving digital content from one or more data sources, processing the digital content to provide a set of digital content, and providing a presentation that includes digital content of the set of digital content. In some implementations, the presentation is automatically provided in response to user input. In some implementations, data sources of the one or more data sources include social networking data sources associated with respective computer-implemented social networking services. In some implementations, data sources of the one or more data sources include content-sharing data sources associated with respective computer-implemented content-sharing services. In some implementations, data sources of the one or more data sources include one or more computing devices associated with a user. In some implementations, a presentation is automatically updated. In some examples, the presentation is automatically updated in response to digital content being added to a data source of the one or more data sources.
In some implementations, digital content received from the one or more data sources is processed based on one or more parameters. Example parameters can include time, keyword, location, and collection. For example, time can correspond to a time at and/or a time range within which digital content was created and/or distributed (e.g., in a social networking service, in a content-sharing service). Example keywords can include pre-fixed words and/or phrases, such as hashtags. In some examples, pre-fixed words/phrases enable content to be grouped and/or identified based on one or more pre-fixed words/phrases associated therewith. In some examples, location can correspond to a location at and/or from which digital content was created and/or distributed (e.g., in a social networking service, in a content-sharing service). In some examples, a collection can include a user-made grouping of digital content (e.g., an “album” of photos).
In some implementations, the digital content can be filtered based on the one or more parameters for inclusion in a set of digital content associated with a particular presentation. In some examples, digital content that does not correspond to the one or more parameters of the particular presentation is not included in the set of digital content for the particular presentation.
In some implementations, digital content can be filtered based on one or more quality indicators. In some examples, digital content that does not correspond to or meet thresholds of the one or more quality indicators is not included in the set of digital content for the particular presentation.
Implementations of the present disclosure will be discussed in further detail with reference to an example context. The example context includes a computer-implemented social networking service, a computer-implemented micro-blogging service, a computer-implemented content-sharing service, and digital content provided from a computing device. An example social networking service can include Facebook® provided by Facebook, Inc. An example micro-blogging service can include Twitter® provided by Twitter Inc. Example content-sharing services include image-sharing services and/or video-sharing services. An example content-sharing service includes Instagram® provided by Facebook, Inc. It is appreciated, however, that implementations of the present disclosure can be realized in any appropriate contexts (e.g., multiple social networking services, multiple micro-blogging services, multiple content-sharing services, and/or any other appropriate computer-implemented service).
With continued reference to
The computing devices 110, 112 are associated with respective users 120, 122. In some examples, the computing devices 110, 112 can each include various forms of a processing device including, but not limited to, a desktop computer, a laptop computer, a tablet computer, a wearable computer, a handheld computer, a personal digital assistant (PDA), a cellular telephone, a network appliance, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, or an appropriate combination of any two or more of these example data processing devices or other data processing devices.
The example environment 100 can support a client-server paradigm. For example, the computing devices 110, 112 can be clients and can communicate with one or more back-end server systems (e.g., the computing systems 102, 104, 106, 108) over the network 114. In some examples, the network 114 can be provided as a large computer network, such as a local area network (LAN), wide area network (WAN), the Internet, a cellular network, or a combination thereof connecting any number of clients and servers. In some examples, the computing systems 102, 104, 106, 108 can communicate with one another over the network 114.
In accordance with the example context, the computing system 102 can provide the computer-implemented presentation service. For example, the computing system 102 can execute one or more computer-readable programs to provide functionality of the computer-implemented presentation service discussed herein. The computing system 104 can provide the computer-implemented social networking service. For example, the computing system 104 can execute one or more computer-readable programs to provide functionality of the computer-implemented social networking service discussed herein. The computing system 106 can provide the computer-implemented micro-blogging service. For example, the computing system 106 can execute one or more computer-readable programs to provide functionality of the computer-implemented micro-blogging service discussed herein. The computing system 108 can provide the computer-implemented content-sharing service. For example, the computing system 108 can execute one or more computer-readable programs to provide functionality of the computer-implemented content-sharing service discussed herein.
In the example context, the user 120 can interact with each of the social networking service, the computer-implemented micro-blogging service, and the computer-implemented content-sharing service. For example, the user 120 can use the computing device 110 to interact with the social networking service provided by the computing system 104. In some examples, the user 120 can create a post that includes digital content, and can distribute the post to other users through the social networking service (e.g., the user 122 can view the post using the computing device 112). As another example, the user 120 can use the computing device 110 to interact with the micro-blogging service provided by the computing system 106. In some examples, the user 120 can create a post that includes digital content, and can distribute the post to other users through the micro-blogging service (e.g., the user 122 can view the post using the computing device 112). As another example, the user 120 can use the computing device 110 to interact with the content-sharing service provided by the computing system 108. In some examples, the user 120 can upload digital content to the content-sharing service, and the digital content can be made available to other users through the content-sharing service (e.g., the user 122 can view the digital content using the computing device 112).
In the example context, digital content can be provided on the computing device 110. For example, the user can create digital content that can be stored in memory of the computing device 110. As one example, the computing device 110 can include a camera that can be used to capture still images and/or video, which can be stored in memory of the computing device.
In some examples, digital content can be provided as a set of digital content that includes text, one or more images, and/or one or more videos. In some examples, the set of digital content can also include ancillary content. Example ancillary content can include a location indicator (e.g., indicating a location, from which the digital content was shared), a time indicator (e.g., indicating a time/date that the digital content was shared), one or more keywords. It is appreciated that ancillary content can include any appropriate ancillary content.
In accordance with implementations of the present disclosure, users can interact with the presentation service provided by the computing system 102. For example, the user 120 can use the computing device 110 to interact with the presentation service provided by the computing system 102. In some examples, the user 120 can interact with the presentation service through a portal presented on the computing device 110. An example portal can include a web portal (e.g., one or more web pages) that is displayed on the computing device 110 using a browser application that is executed by the computing device 110. In some examples, the user 120 can interact with the presentation service through an application that is installed on and executed by the computing device 110. For example, the application can be specific to the presentation service (e.g., a mobile “app” provided for the presentation service).
In some examples, the user 110 enables access of the presentation service to digital content provided through the one or more computer-implemented services and/or the computing device 110. In some examples, the user 110 grants access to digital content stored in memory of the computing device. In some examples, the user 110 provides credentials to the presentation service, which the presentation service can use to access digital content associated with the user 110 in the one or more computer-implemented services. In some examples, credentials can include information that can be used to authenticate a user. Example credentials can include a username and password. In the example context, the user 110 can provide credentials for each of the social networking service, the micro-blogging service, and the content-sharing service.
In some examples, the presentation service interfaces with each of the social networking service, the micro-blogging service, and the content-sharing service over the network 114. For example, each of the social networking service, the micro-blogging service, and the content-sharing service can expose a respective application program interface (API), through which the presentation service can interface with the respective service. In some examples, and through the APIs, the presentation service provides respective credentials, which the respective services can use to authenticate access to digital content associated with the user therein. If the credentials are authenticated, the presentation service is provided access to the digital content associated with the user 110.
In accordance with implementations of the present invention, and as discussed in further detail herein, the presentation service receives digital content from the computing device 110, and/or one or more of the social networking service, the micro-blogging service, and the content-sharing service. Accordingly, each of the computing device 110, the social networking service, the micro-blogging service, and the content-sharing service can be considered a data source, from which digital content associated with the user 110 can be received. In some examples, digital content can be received dynamically, as it is provided to each of the data sources. For example, digital content can be provided to the presentation service at a first time. At a second time, after the first time, the user 110 can provide additional digital content (e.g., capture an image using the computing device 110). In some examples, the additional digital content can be automatically provided to the presentation service in response to storage of the digital content in the data source. In some examples, the presentation service can periodically poll each of the data sources for additional digital content. In some examples, the presentation can poll each of the data sources for additional digital content in response to a user command to retrieve any available additional digital content.
In accordance with implementations of the present disclosure, received digital content can be processed to provide one or more presentations that include at least some of the received digital content. In some implementations, digital content received from the one or more data sources is processed based on one or more parameters. Example parameters can include time, keyword, location, and collection. For example, time can correspond to a time at and/or a time range within which digital content was created and/or distributed (e.g., in a social networking service, in a content-sharing service). Example keywords can include pre-fixed words and/or phrases, such as hashtags. In some examples, pre-fixed words/phrases enable content to be grouped and/or identified based on one or more pre-fixed words/phrases associated therewith. In some examples, location can correspond to a location at and/or from which digital content was created and/or distributed (e.g., in a social networking service, in a content-sharing service). In some examples, a collection can include a user-made grouping of digital content (e.g., an “album” of photos). Although example parameters are provided above, it is appreciated that any appropriate parameters can be used.
In some examples, a superset of digital content is received by the presentation service, and the presentation service groups the digital content in one or more groups based on the one or more parameters. In some examples, each group provides a set of digital content. For example, a first group can be provided based on time (e.g., a time range), and any digital content that corresponds to the time can be included in the first group. As another example, a second group can be provided based on a particular location, and any digital content that corresponds to the particular location can be included in the second group. As another example, a third group can be provided based on a particular keyword, and any digital content associated with the particular keyword can be included in the third group. For example, it can be determined that at least some of the digital content is associated with the particular keyword, and in response, the third group can be provided, the remainder of the digital content can be reviewed for the keyword, and any additional digital content that is associated with the keyword can also be included in the third group. As another example, a fourth group can be provided based on a particular collection, and any digital content associated with the particular collection can be included in the fourth group. For example, it can be determined that the user created an album in the content-sharing service, and in response, the fourth group can be provided and can include the digital content of the album.
In some examples, digital content can be included in one or more groups. For example, a particular item of digital content can be associated with the time and the particular keyword. Consequently, the particular item of digital content can be included in the first group and the third group.
In some examples, a group can include digital content from multiple data sources. For example, a group can include digital content from the computing device, the social networking service, and the content-sharing service. Consequently, a group can be considered an aggregation of digital content across multiple data sources, at least one data source including a computer-implemented service.
In accordance with implementations of the present disclosure, a presentation is created for each group. In some examples, the presentation is automatically created for a particular group. For example, in response to the user granting access to at least one data source, one or more groups of digital content are provided, and respective one or more presentations are created. That is, and in some examples, additional user input (e.g., beyond grant of access to at least one data source), is not required for provision of the one or more presentations. In this manner, the user can be quickly provided with one or more presentations absent additional user input to create and/or request a presentation.
In some implementations, items of digital content in a group of digital content can be filtered to provide a sub-set of items of digital content that is to be included in a respective presentation. In some examples, items can be filtered based on one or more quality indicators. In some examples, an item that does not correspond to or meet thresholds of the one or more quality indicators is not included in the set of digital content for the respective presentation. For example, each item of digital content can have at least one score associated therewith (e.g., a quality score). In some examples, if the at least one score is below a respective score threshold, the respective item of digital content is not included in the sub-set of digital content.
In some examples, a score (e.g., quality score) can be provided based on one or more factors associated with the respective item of digital content. Example factors can include the make-up of the digital content, interactions of users with the digital content, and time. For example, the make-up of an item of digital content can include text, image and/or video provided in the digital content. In some examples, an item of digital content that only has text can be scored lower than an item of digital content that has both text and an image. As another example, interactions of users with an item of digital content can include comments, shares, and/or “likes” of the item of digital content (e.g., other users can comment on, share and/or “like” an item of digital content within the computer-implemented service, from which the item of digital content was received). In some examples, an item of digital content that has no comments, shares and/or “likes” can be scored lower than an item of digital content that has comments, shared and/or “likes.” As another example, and with respect to time, a more recent item of digital content can be scored higher than a less recent item of digital content. In some examples, the score can be provided based on multiple factors. For example, multiple sub-scores can be provided, each sub-score being specific to a respective factor, and the sub-scores can be combined to provide the score (e.g., sum of scores, average of scores, weighted average of scores).
In some implementations, a score associated with an item of digital content can change over time (e.g., dynamic score). For example, the item of digital content can have a first score at a first time. Over time, however, the item of digital content can, for example, be increasingly commented on, shared, and/or “liked.” Consequently, at a second time, the item of digital content can have a second score that is higher than the first. In this manner, a sub-set of digital content can be dynamic. For example, the item of digital content may not have been included in the sub-set of digital content at the first time in view of the first score being below a threshold, but can be included in the sub-set of digital content at the second time in view of the second score being above the threshold. In some examples, the second score can be less than the first score (e.g., the item of digital content is older, and thus the score decreases based on age). Also in this manner, the sub-set of digital content can be dynamic. For example, the item of digital content may be included in the sub-set of digital content at the first time in view of the first score being above the threshold, but is not included in the sub-set of digital content at the second time in view of the second score being below the threshold.
In some implementations, a presentation can include a maximum number of items of digital content that can be included. In some examples, the sub-set of items that are to be included in the presentation can include more items than the maximum number of items. In some examples, the number of items in the sub-set of items can be reduced to the maximum number. For example, quality thresholds can be increased, such that the sub-set of items does not include items that would have otherwise been included. In some examples, items of the sub-set of items are cycled through the presentation, such that, at any given time, the number of items provided in the presentation does not exceed the maximum number of items. In this manner, each item of the sub-set of items can be included in the presentation without exceeding the maximum number of items.
In some implementations, a presentation can include a minimum number of items of digital content that should be included. In some examples, the sub-set of items that are to be included in the presentation can include less items than the minimum number of items. In some examples, the number of items in the sub-set of items can be increased to the maximum number. For example, quality thresholds can be reduced, such that the sub-set of items includes items that would have otherwise been filtered. In some examples, items of the sub-set of items are recycled through the presentation, such that one or more items can be redundantly displayed in the presentation.
In accordance with implementations of the present disclosure, the presentation includes digital content of a respective sub-set of digital content. In some implementations, the presentation can be provided based on a theme. In some examples, the theme can be one of a plurality of themes. In general, a theme defines the look and/or impression of the presentation. In some examples, a theme can define a color palette used in the presentation, and/or a manner in which digital content is displayed. In some examples, digital content can be displayed within frames of the presentation, where the theme defines a shape of the frame (e.g., square, rectangular, circular, oval, triangular, rhombus, cubical, spherical). In some examples, the theme defines how the digital content is introduced for display (e.g., fade-in, pixel-in (an increasing number of pixels are displayed until the full digital content is displayed), slide-in (from an edge of the display). In some examples, the theme defines how the digital content is removed from display (e.g., fade-out, pixel-out (a decreasing number of pixels are displayed until the digital content is no longer displayed), slide-out (to an edge of the display). In some examples, the theme defines a number of items of digital content that are concurrently displayed. In some examples, only a single item of digital content is displayed at any one time. In some examples, multiple items of digital content can be displayed at the same time.
In some implementations, the presentation includes sound. In some examples, the sound includes music. In some examples, the music can include default music. In some examples, the music can include music that is provided by the user (e.g., music that is stored on the computing device 110). In some examples, the music can include music that is provided by the presentation service. In some examples, the music can include music that is provided by a music service (e.g., a music-streaming service).
In some examples, the presentation is displayed to one or more users (e.g., on a display of the computing device 110, 112). For example, the presentation can be displayed on the computing device 110 for viewing by the user 120. In some examples, the presentation can be made available for viewing by other users. For example, the presentation can be made available for display on the computing device 112 for display to the user 122. In some examples, the user, for which the presentation is created (e.g., the user 110) can share the presentation by selecting a share command provided by the presentation service. In some examples, and in response to the share command one or more share options can be presented to the user. Example share options can include sharing through the presentation service, sharing through an electronic message (e.g., an email), and sharing through a computer-implemented service. In some examples, the user can identify one or more other users, with which the presentation is to be shared. For example, the user can select an email share option and can provide one or more email addresses for respective users, with which the presentation is to be shared (e.g., an email is sent that includes a link to the presentation).
In some implementations, the presentation can be duplicated (e.g., copied). In some examples, a duplicate presentation is static, such that it is not automatically updated as underlying digital content changes. In this manner, the duplicate presentation captures the original presentation at a moment in time (e.g., before subsequent changes occur to the underlying digital content).
In some implementations, the presentation can facilitate interactions of the user observing the presentation with the digital content underlying the presentation. For example, and as discussed above, items of digital content that are included in the presentations can include interactions associated therewith. Example interactions can include comments, shares, and/or “likes” of the item of digital content (e.g., users can comment on, share and/or “like” an item of digital content within the computer-implemented service, from which the item of digital content was received). Consequently, the presentation can display an item of digital content and one or more interactions associated with the item. In some examples, a user observing the presentation may wish to interact with the item and/or interactions. For example, the user may observe an item that the user wishes to comment on, share, and/or “like.” Accordingly, implementations of the present disclosure provide interaction elements that can be provided within the presentation to enable the user to interact with items of digital content. In some examples, the user's interaction can be directly recorded in the presentation, such that the interaction is displayed in the presentation and/or subsequent displays of the presentation. In some examples, the user's interaction is fed back to the data source, from which the item of digital content originated. For example, a presentation can include an image provided from a social networking service. The user observing the presentation can input a comment to the image, which comment can be fed back to the social networking service. Consequently, the comment can be included in subsequent displays of the image within the social networking service.
In some implementations, the presentation can be automatically updated based on changes to digital content from the one or more data sources underlying the presentation. In some examples, digital content provided in the sub-set of digital content underlying the presentation can change. For example, after the presentation is initially created, an item of digital content can be added to the sub-set of digital content underlying the presentation. Consequently, the presentation can subsequently include the added item of digital content. As another example, after the presentation is initially created, an item of digital content can be removed from the sub-set of digital content underlying the presentation. Consequently, the presentation can subsequently be absent of the removed item of digital content. As another example, after the presentation is initially created, one or more interactions can occur with items of digital content within the underlying data source(s) (e.g., user can comment on an image within a social networking service, which image is provided in the presentation from the social networking service). Consequently, items and/or interactions associated therewith can be updated within the presentation to include the subsequent interactions. In some examples, updating of a presentation can occur in real-time (e.g., as one or more users are viewing the presentation).
In some implementations, a user can edit a presentation. In some examples, and as discussed above, a presentation can be automatically provided. In some examples, the user can edit the presentation by adding and/or removing items of digital content to/from the presentation, changing the theme of the presentation, and/or adding and/or removing music that is to play during presentation of the presentation.
In some implementations, a user can manually create presentations. In some examples, items of digital content that are available for presentations can be displayed to the user. In some examples, the user can select individual items that are to be included in the subject presentation. In some examples, the user can select the theme of the presentation, and music that is to be played during the presentation.
In some implementations, a user 210 provides input to the presentation engine 202. For example, the user can provide one or more credentials to the presentation engine 202, which credentials the presentation engine 202 can use to access the one or more data sources 206. In some examples, the user 210 can provide input to share one or more presentations with one or more other users, as discussed above. In some examples, the user 210 can provide input to modify a presentation, as discussed above. In some examples, the user 210 can provide input to create a presentation, as discussed above.
In some examples, presentations provided through the presentation engine 202 are stored in the presentation store 204. In some examples, the presentation engine 202 can access a stored presentation to update the presentation, as discussed above.
User credentials associated with a user are received (302). For example, for each data source of a plurality of data sources, respective user credentials can be received from the user. One or more data sources are accessed based on the user credentials (304). For example, a presentation service can access a data source based on the user credentials (e.g., through an API). In some examples, at least one data source includes a computer-implemented service used by the user. A plurality of digital content is received from the one or more data sources (306). For example, the presentation service can receive items of digital content and any associated interactions from respective data sources. The plurality of digital content is processed to provide one or more presentations (308). In some examples, the plurality of digital content is processed to provide a sub-set of digital content, and each presentation includes items of digital content of the sub-set of digital content. The one or more presentations are provided for display on a computing device of the user (310).
In some implementations, one or more actions can be performed automatically (i.e., without requiring user input). In some examples, one or more of the actions 304, 306, 308, 310 can be automatically performed. In some examples, the one or more actions 304, 306, 308, 310 are automatically performed in response to receiving the user credentials. In this manner, the user provides the credentials and is provided one or more presentations without requiring any additional user activity.
With particular reference to
In some implementations, each representation 102 includes a thumbnail image 704 and information 706 associated with the presentation. Example information includes a title of the presentation (e.g., John's Bon Voyage), a number and type of items of content included in the presentation (e.g., 108 photos), and a duration of the presentation (e.g., 5:19 mins). In some examples, an auto-update indicator 708 can be provided, which indicates that the particular presentation is automatically updated, as discussed herein.
In some examples, the user can select a representation 702 to induce further activity with respect to the represented presentation. For example, the user can “click-on” (or tap) a representation 702, and a menu 712 can be displayed. In some examples, the menu 712 includes one or more actions the user can initiate with respect to the represented presentation. In the depicted example, the menu 712 includes a preview action, an edit action, a duplicate action and a delete action. In some examples, the preview action, when selected by the user, initiates playing of the presentation to the user. In some examples, the edit action, when selected by the user, initiates editing of the presentation (e.g., navigation to an edit screen, discussed in further detail herein). In some examples, the duplicate action, when selected by the user, initiates duplication of the presentation, as discussed herein. In some examples, the delete action, when selected by the user, results in deletion of the presentation. As another example, the user can “swipe” a representation 702, and in response, the representation 702 can be animated to display an icon 716. In the depicted example, the icon 716 represents the delete action.
In some implementations, a representation 720 is provided to enable the user to initiate creation of a presentation. In some examples, the user selects the representation 720, and in response, creation of a presentation is initiated (e.g., navigation to a create screen, discussed in further detail herein).
In some implementations, an icon menu 730 is provided and includes icon groups 732, 734. Icons in each of the icon groups 732, 734, each icon represents a respective data source, from which the presentation service can receive digital content for providing one or more presentations (as similarly discussed above with reference to
In the depicted example, the screen 800 includes a menu 810, which include options that can be selected by the user. Example options include items (e.g., “Photos”), sounds (e.g., “Music”) and theme. For example, the user can select an option from the menu 810 to edit aspects of the presentation depicted in the display portion 804. In the depicted example, the “Photos” option is selected. Consequently, images of the presentation are displayed (e.g., as items 808) in the display portion 804. In some examples, the user can select the “Music” option to select music that can be played during presentation of the presentation. In some examples, the user can select the “Theme” option to select the theme that defines the look and feel of the presentation as it is presented. In some implementations, the display portion 806 displays items of digital content from one or more other presentations.
In the depicted example, the screen includes an icon menu 812. In some examples, each icon in the icon menu 812 represents a respective data source, from which the presentation service can receive digital content for providing one or more presentations (as similarly discussed above with reference to
In the example of
In some examples, the cube 1304 can be animated to display the interactions. In the depicted example, interactions 1306, 1308 are provided on a face of the cube 1304. In the depicted example, the interactions include a comment and a number of “likes” associated with the comment. In some examples, the cube 1304 can be animated to rotate, such that another face of the cube 1304, and thus other interactions associated with the item, are displayed.
In some examples, movement of the cubes 1302, 1304 can be automatic (e.g., cubes 1302 randomly move into or out-of the foreground, and/or cubes 1302 move randomly in the background). In some examples, and as discussed herein, the presentation is interactive, such that the user can control movement of the cubes 1302, 1304. For example, the user can select (e.g., tap on) a cube 1302 in the background, which can induce movement of the selected cube 1302 to the foreground, and movement of a cube 1302 that was already displayed in the foreground back to the background. In some examples, the user can swipe the cube 1304 to induce rotation of the cube 1304, thereby displaying another face of the cube 1304.
In some implementations, and as discussed herein, the user can interact with the presentation to provide interactions through the presentation. For example, the user can comment on an item of digital content that is displayed in the presentation. In some examples, the interaction is fed back to the data source, such that the interaction can be displayed in other forums (e.g., within the social networking service that the item of digital content originated from). In some examples, interaction elements can be displayed within the presentation to facilitate interactions by the user. For example, and although not depicted in
In some implementations, a presentation can include one or more advertisements embedded therein. In some examples, one or more advertisements can be interspersed between items of digital content during the presentation. In some implementations, advertisements can be randomly selected (e.g., by the presentation service) for inclusion in the presentation. In some implementations, advertisements can be manually selected (e.g., by the user) for inclusion in the presentation. In some examples, advertisements can be provided based on content of the presentation. For example, if the presentation is directed to a birthday party, advertisements associated with decorations and/or birthday cakes can be included in the presentation.
As discussed herein, implementations of the present disclosure are directed to aggregating digital content from across one or more computer-implemented services, processing the digital content, and providing one or more presentations, each presentation including digital content of the one or more computer-implemented services. In some implementations, the presentation service of the present disclosure automatically queries accounts (e.g., social networking accounts, content-sharing accounts) for a particular user and dynamically constructs one or more presentations (e.g., slide shows), which presentations are animated and interactive. In this manner, each presentation provides an imprint of the user's social network and/or content sharing activities, for example, as well as interactions therein (e.g., comments, sharing, “likes”). That is, each presentation provides an imprint across the user's social networking continuum. In some implementations, created presentations can be immediately re-shared to the social media platform of choice, for example. In some implementations, the presentations are provided in the cloud and can be streamed to one or more computing devices for display to respective users.
Implementations of the subject matter and the operations described in this specification can be realized in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be realized using one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer can include a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any implementation of the present disclosure or of what may be claimed, but rather as descriptions of features specific to example implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US14/67864 | 12/1/2014 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61910839 | Dec 2013 | US | |
61910823 | Dec 2013 | US |