Server-based conversion of autoplay content to click-to-play content
By converting the automatic play content into click-to-play content on the server side, the impact of automatic play content on the Internet on user equipment load and battery life is solved, and faster loading time, lower battery consumption and better user experience is achieved.
Patent Information
- Application Number
- CN202111196340.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-06-13
- Filing Date
- 2016-12-09
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2036-12-09
AI Technical Summary
The prior art is difficult to effectively solve the problem of the impact of automatic playback content on the Internet on the load and battery life of user equipment, especially on mobile devices.
By converting auto-play content to click-to-play content on the server side, static content reduces device loading time and battery consumption, and provides a user-friendly interactive interface.
It realizes reducing content loading latency, reducing device battery consumption, improving user experience, and controlling network bandwidth usage, especially on mobile devices.
Smart Images

Figure CN114065010B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with application date of December 9, 2016, application number 201680085675.8, and invention name “Server-based conversion of automatic play content to click-to-play content”. Technical Field
[0002] This specification relates to data processing and content conversion. Background Art
[0003] The Internet provides access to a wide variety of resources. For example, video and / or audio files, as well as web pages about a particular topic or a particular news article, can be accessed through the Internet.
[0004] Content can be presented in various forms: graphic content, content, video content, and HTML content. Content, video content, and HTML content are often presented as auto-playing content that begins to animate without user interaction. Summary of the invention
[0005] Generally, an innovative aspect of the subject matter described in this specification can be embodied in a system, comprising: a content database, in communication with one or more content providers, receiving content from the one or more content providers, and storing a plurality of original content items including presentation content and a plurality of converted content items associated with the plurality of original content items; a converter system comprising one or more processors, in communication with the content database: receiving the plurality of original content items from the content database; generating the plurality of converted content items from the plurality of original content items, comprising: for a particular original content item, identifying a relevant static representation from the particular original content item; extracting the relevant static representation from the particular original content item; and comparing the relevant static representation with one or more A content distribution system comprising: a remote client device, a plurality of user interface elements overlapping, the user interface elements being associated with playback of a particular original content item; and storing a particular converted content item, which includes an associated static representation overlapping the one or more user interface elements; and sending the plurality of converted content items to a content database; a content distribution system, comprising one or more processors, communicating with a content database: receiving a request for content from a remote client device; in response to the request for content, identifying a first original content item from the plurality of original content items stored in the content database; receiving a first converted content item associated with the first original content item from the content database; and providing the first converted content item associated with the first original content item to the remote client device. The converted content item is different from the original content item associated with it. For example, the converted content item may include entirely static content, may include primarily static content, or may include initially static content (where "initially static" means that when the content item is played back, the initial content displayed is static content). The original content item may be an autoplay content item. Other embodiments of this aspect include corresponding methods, apparatus, and computer programs configured to perform the actions of the method encoded on a computer storage device.
[0006] These and other embodiments may each optionally include one or more of the following features. The content distribution system may further: receive a user request from a remote client device to view a projection content related to the first converted content item; and in response to receiving the user request to view the projection content, provide the first original content item to the remote client device. The plurality of original content items may further include auto-play HTML content, and the plurality of converted content items include click-to-play content. The converter system may also analyze the original content items in the content database, and it may identify original content items suitable for conversion. Identifying original content items suitable for conversion may include identifying original content items that are greater than a threshold file size. Overlaying the related static representation with one or more user interface elements may include: identifying a template that defines the one or more user interface elements and the relative positions of the one or more interface elements. The template may also define at least one of a grayscale or an opacity level. The one or more user interface elements may include at least one of a play button and a button associated with accessing a web page of a content provider that provides the original content. The converted content may have a smaller file size than the original content.
[0007] In some implementations, the content distribution system receives a request for content and provides the converted content to a web browser or native application on a client device. In some implementations, the content database stores each of the multiple converted content items in association with a corresponding original content item. The multiple converted content items may include substantially static content. The request for content from a remote client device may include a request for playing content.
[0008] In some implementations, after identifying the first original content item, the content distribution system further determines whether to provide the first original content item or the first converted content item to the remote client device. In some implementations, determining whether to provide the first original content item or the first converted content item to the remote client device includes: determining a file size of the first original content item and a file size of the first converted content item; and selecting the first converted content item based on a comparison of the file size of the first original content item and the file size of the first converted content item with a threshold file size.
[0009] Another innovative aspect of the subject matter described in the present specification can be embodied in a method comprising the following actions: receiving, by a content database, a plurality of original content items including projection content from one or more content providers; generating, by the one or more processors, a plurality of transformed content items from the plurality of original content items, the generating comprising: for a particular original content item, identifying a relevant static representation from the particular original content item; extracting the relevant static representation from the particular original content item; overlaying the relevant static representation with one or more user interface elements, the user interface elements being associated with playback of the particular original content item; and storing a particular transformed content item, which comprises the relevant static representation overlaid with the one or more user interface elements; and storing, by the content database, each of the plurality of transformed content items in association with a corresponding original content item; receiving a request for content from a remote client; in response to the request for content, identifying a first original content item from the plurality of original content items stored in the content database; receiving a first transformed content item associated with the first original content item from the content database; and providing the first transformed content item associated with the first original content item to a remote client device.
[0010] In some implementations, the method further includes the following actions: receiving a user request from a remote client device to view a projection content related to the first converted content item; and providing the first original content item to the remote client device in response to receiving the user request to view the projection content. In some implementations, the plurality of original content items include auto-play HTML content, and the plurality of converted content items include click-to-play content. In some implementations, the method may further include the following actions: after identifying the first original content item, determining whether to provide the first original content item or the first converted content item to the remote client device, including: determining a file size of the first original content item and a file size of the first converted content item; and selecting the first converted content item based on a comparison of the file size of the first original content item and the file size of the first converted content item with a threshold file size. In some implementations, the method may further include: after providing the first converted content item, receiving a request for the first original content item from a remote client, and providing the first original content item in response to the request. In other implementations, the method may further include providing the first original content item along with or shortly thereafter the first transformed content item—in these implementations, the first original content item may be provided without a request for the first original content item from the remote client.
[0011] Another innovative aspect of the subject matter described in this specification can be embodied in a computer-readable medium, which can be a non-transitory computer-readable medium, but this aspect is not limited to this, and the computer-readable medium has instructions stored thereon, which when executed by one or more processors result in the performance of operations including methods according to any aspect or implementation described herein.
[0012] Another innovative aspect of the subject matter described in this specification can be embodied in a system including one or more processors and a computer-readable medium, which can be a non-transitory computer-readable medium, but this aspect is not limited to this, and the computer-readable medium has instructions stored thereon, which, when executed by one or more processors, cause the one or more processors to perform operations including methods according to any aspect or implementation described herein.
[0013] As used herein, autoplay content refers to presentation content that begins playing automatically after loading and without user interaction. Examples of autoplay content include Content, video content, HTML content, and other presentation content. Autoplay content can be converted to click-to-play content. Click-to-play content is content that has automatically become static or paused and requires a click or other input to play or present.
[0014] Specific implementations of the subject matter described in this specification may be implemented to achieve one or more of the following advantages. By converting dynamic content to initially static content, or primarily static content (e.g., converting an autoplay content item to a click-to-play content item), the technology provides reduced content delivery latency because the content is presented to the client device in a lightweight form (i.e., a reduced amount of data relative to the original amount of data, such as an image instead of a video) until the user clicks to cause the content to become displayed. Because the content is presented in a lightweight form, the device needs to load fewer bytes, images load faster, and the browser requires less time to render the content. The lightweight form of the content further results in reduced battery usage of the device because the lightweight content is not played back, thereby reducing the processing resources used by the device, and the device only needs to initially render images and static HTML instead of fully active video. Static content does not introduce work in each display frame, reducing the overall load on the user's device and improving the Web experience (e.g., scrolling). The converted content still resembles the original auto-playing content and can be played if the user wishes to view the play, so the content presentation maintains the full user functionality that the content provider intended for the viewer after only "one click" (e.g., the user clicks a play button to cause the content to play). This approach also allows the content distribution system to maintain control over the user experience by selecting which content to present, how to present it, and when it should be presented to the client device.
[0015] In addition, by performing content conversion on the server rather than on the browser, the technology avoids giving unnecessary burdens to the client device and using the resources of the client device. The technology also allows the user to control how much content he or she wants to watch, and therefore controls how much content is downloaded from the server to the client device. Enough content is also presented to the user so that he or she can make a decision about whether he or she wants to watch more content and can therefore interact with the content. For example, the user can see a still image, and based on watching the still image, he or she can indicate that he or she wants to watch the entire projection content. Alternatively, the user can see the still image and decide that he or she wants to watch the website associated with the content without watching the projection and directly click a button to navigate to the website. This provides an improved user-friendly interface for users to interact with the content. Specifically, this is an improvement to the browser-side implementation method, which requires the user to click on the content at least twice on the content-the first time to start playback, and then navigate to another page-in order to reach the login page associated with the content.
[0016] This technique provides another advantage over scenarios where the video is downloaded and stopped immediately or early during playback. In these instances, the static content obtained after stopping the video may not represent the entire content. Instead, the technique described here proposes a method for providing a more representative display of the entire content.
[0017] In some implementations, a portion of the auto-play content items may be provided to the client device at the same time as the click-to-play content is provided. Then, if the user indicates a desire to view a show associated with the click-to-play content, some data from the auto-play content has already been downloaded to the client device, so the time required to download the remaining auto-play content is reduced, and the corresponding delay experienced by the client device in presenting the video content is similarly reduced.
[0018] In addition, by reducing the amount of data that the network carries to the user device, bandwidth of the communication network (e.g., a local area network, a wide area network, a wireless network, and / or the Internet) that connects the remote client devices to the content distribution system can be conserved. For example, if a user is presented with click-to-play content but the user never indicates a desire to view the presentation, the network does not have to bear the burden of carrying the additional data associated with the automatically playing content. In some cases, this is particularly important for wireless and cellular data networks, where the amount of bandwidth consumed by individual users is strictly regulated to ensure that, on average, the capacity of the network is not overwhelmed by the activity of the user base. Streaming video and other presentation content requires a relatively large amount of bandwidth (e.g., compared to text, still images, or some other content types), so reducing the amount of content transmitted over the network can have a significant impact on network performance.
[0019] In some implementations, the techniques described herein for generating click-to-play content from autoplay content can also improve aspects of a user's computing device. Downloading, streaming, and playing videos or other projection content on a client device are typically computationally expensive activities. By avoiding downloading, streaming, and / or playing videos or projections of content that the user is not interested in watching, some of these costs can be reduced. In addition, in the context of mobile devices and other battery-powered computing devices, saving computing costs may not be desirable to watch can save power and reduce battery consumption on the device, thereby extending the battery life of the device.
[0020] The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the specification, drawings, and claims. It should be understood that features described in conjunction with one aspect or implementation may be provided in other aspects and / or implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1is a block diagram of an example environment in which a content distribution system manages the transformation and distribution of content items.
[0022] Figure 2 is a flow diagram of an example process for handling autoplay content.
[0023] Figure 3 is a flow chart of an example process for converting HTML content to click-to-play content.
[0024] Figure 4 Shown are wait times for serving autoplay and click-to-play content.
[0025] Figures 5A-5C is a sample click-to-play content representation.
[0026] Figure 6 is a flow diagram of an example process for serving click-to-play content and auto-play content.
[0027] Figure 7 are examples of computing devices and mobile computing devices that can be used to implement the computer-implemented methods and other techniques described herein.
[0028] Like reference numbers and designations in the various drawings represent like elements. DETAILED DESCRIPTION
[0029] HTML autoplay content is automatically loaded onto a publisher's website, resulting in the downloading of resources, the execution of code, and other user-visible effects (e.g., CSS projection). Although such HTML autoplay content provides a richer user experience (e.g., relative to the experience provided by static content), it can also cause negative effects. First, the content can slow down the browsing experience and, in the case of battery-powered devices such as mobile devices, affect the battery life of the user's device (e.g., by utilizing more of the user's device processing power). Autoplay content may also affect other content displayed on the same website or app. The content may also take a long time to load, displaying blank fill to the user while the content is loading. Finally, the content may be overly distracting and may leave the user with a bad impression of the content provider associated with the content or the content publisher that presents the content.
[0030] With the rise of browser-based content blockers (e.g., ad blockers), browsers tend to attempt to prevent various forms of content on the Internet from being automatically loaded or requested at all. While some browser-based content blockers may prevent autoplay content from being automatically played, these browser-based content blockers still require the computing device to first download all content (e.g., screen content, The content of the video is usually a large amount of data. That is, these browser-based content blockers usually require the client device to first download the entire content before blocking the automatic playback of the content. In some cases, the browser displays some of the content before stopping the playback. In either case, the client device downloads the entire content even if the user only views a single image from the content. Therefore, this browser-based method uses client resources to stop the automatic playback of content.
[0031] Other content blockers block content before a content request is even made. However, these content blockers may block content that a user may wish to see without giving the user the option of viewing any portion of the content.
[0032] The present application discusses server-based content converters. These server-based content converters identify autoplay content or other content with projections at the server, and convert the autoplay content to click-to-play content at the server before the content is received at the browser on the client device or even at the client device. For this method, in essence, the content server may only serve as much content as the audience requires to watch. For example, instead of providing services for HTML autoplay content, the content server only provides static content with user interface elements that allow the user to indicate that he or she wishes to watch the projection of the HTML autoplay content (for example, by interacting with the play button displayed with the static content). If the user clicks the play button, this indicates that the user wishes to watch the projection, and the content server provides the HTML autoplay content. This solution is achieved by converting the original content (for example, HTML autoplay content) on the server side rather than the browser side.
[0033] Transforming content on the server before the browser receives it provides various advantages. First, it is easier for the server to determine the type of content (e.g., screening or non-screening content) than for the browser. This is true primarily because client devices can typically only determine the type of content after all content has been loaded into the document object model, introducing latency and other issues associated with lag. So, for example, browsers that implement ad blockers will typically block both types of content. Next, the server can distinguish between content that can load quickly and content that will take a lot of resources to load. The server can do this, for example, through offline pop-ups in an experimental setting or heuristic analysis of the content (e.g., The content type can be distinguished by the amount of data collected from the previous run or from the data collected from the previous run. In addition, the server performing the content conversion can provide various click-through options. For example, if the user indicates that he wishes to visit the content provider's website without watching the show associated with the content, he or she can do so by clicking on a user interface element that directs the user to the content provider's website, rather than first having to click a play button and watch the show.
[0034] The auto-play content can be presented to the server in the form of HTML content. The server can convert the content into pure static content (e.g., still images) or very simple HTML content that only represents the static part of the auto-play content (e.g., still images with user interface elements). In some implementations, the converted content can include cut projection content. With pure static or mostly pure static content, the user's device will load the content faster than the time required to load the projection content, because the file size of the static content is usually smaller than the file size of the projection content (e.g., only limited JS scripts are loaded). With simple HTML content, the user can watch the still images extracted from the auto-play content, but the user can also interact with the content via the user interface elements to watch the projection. Presenting only simple HTML content will result in fast loading of content on the user's computing device while presenting high-quality content.
[0035] Figure 1 1 is a schematic diagram of an example environment 100 for converting HTML autoplay content to click-to-play content and providing each of these contents. In some implementations, the example environment generates click-to-play content by extracting relevant still images from the autoplay content and overlaying the extracted still images with one or more user interface (UI) elements that can be used to start playback of the autoplay content.
[0036] The example environment 100 includes a data communication network 102, such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. The network 102 enables data communication between multiple electronic devices and systems. Specifically, the network 102 connects a user 104 and a client device 106, a content distribution system 108, a content database 110, a converter system 112, and multiple content providers 114. The communication link of the network can be a wired or wireless link or both. The client device 106 is an electronic device controlled by a user and capable of requesting and receiving resources through the network 102. Example client devices 106 include laptop computers, desktop computers, television devices capable of streaming online video content, mobile communication devices (e.g., smart phones, tablet computing devices, netbooks, notebook computers, or wearable devices), and other devices that can send and receive data through the network 102.
[0037] The client device 106 typically includes a user application, such as a web browser that can display a publisher website 116, or a local application (e.g., a video game, a news application, a messaging application) (not shown) to facilitate sending and receiving data over the network 102. The content distribution system 108, the content database 110, and the converter system 112 may include laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. A server may typically include a collection of one or more computers, and may perform processing across one or more computers in one or more geographically separated locations.
[0038] In many cases, content providers 114 may include parties that organically create their own screenings to share with others, but content providers 114 may also refer to parties that upload content that was actually created by one or more other parties but that the first party wishes to share. Content providers 114 may upload original screenings to content database 110. Content database 110 is generally responsible for storing, maintaining, and indexing content that is already available for distribution.
[0039] Each of the content distribution system 108, the content database 110, and the converter system 112 can generally be implemented as a combination of hardware and software of one or more computers in one or more locations, such as on Figure 7 Each of the content distribution system 108, the content database 110, and the converter system 112 may include a corresponding network interface to enable network communications.
[0040] In some implementations, the client device 106 submits a request for content over a network. A user 104 of the client device 106 can browse content such as HTML pages, electronic documents, image files, video files, and audio files in a web browser on the client device 106. For example, the requested web page can include specific HTML content requested from the content distribution system 108. Alternatively, the user 104 can use a native application (e.g., a video game or a news application) running on the client device 106. For example, the content can be rendered in a web view (i.e., a small window) inside the application.
[0041] The content distribution system 108 may receive a request for content and, in response to the request, identify auto-play content to provide to the client device 106. The content distribution system 108 may identify the auto-play content from among a variety of content stored in the content database 110. In some content distribution environments, after the content distribution system 108 identifies the auto-play content to provide to the client device 106, the content distribution system 108 provides the entire auto-play content to the client device 106 for loading and display on a content device, such as a web browser or media player running at the client device 106.
[0042] exist Figure 1 In the example environment 100 shown in , the content distribution system 108 determines whether to provide the identified auto-play content or the click-to-play content generated from the identified auto-play content. Such generated click-to-play content is sometimes referred to herein as converted content compared to the original content provided by the content provider. As referred to herein, the phrase "showing content" refers to the audio-visual content that is played when either the auto-play or corresponding click-to-play content is played at the user device.
[0043] Figure 2 2 is a flow chart of an example process 200 for generating click-to-play content. Each step in process 200 may be performed by a combination of content database 110 or converter system 112.
[0044] At 202, the content database 110 receives content including auto-play content from one or more content providers 114. The content may be a collection of various assets (e.g., HTML content, The content is then stored in the form of a compressed file (such as an image file, a video file, etc.). The content database 110 then decompresses the content. The content database 110 is generally responsible for storing indexed content that is already available for distribution. The auto-play content item can be, for example, a video clip that begins playback when the video clip has been partially or completely loaded into a browser or media player. The auto-play content can include the actual digitized video itself and related metadata about the digitized video. The content database 110 can include an index of all content, including the title, a short text description, and the creator ID of a given content item.
[0045] In some implementations, the environment includes a content management system that allows content providers 114 to define selection rules for providing their content. The selection rules can take into account the characteristics of a particular video viewer or a particular requesting device to provide relevant content to the viewer or device. Example selection rules include keywords that contribute (or control) content distribution when there are words or phrases that match the keywords in a search query, video, or video content metadata. Content items associated with keywords that match phrases included in a content request can be selected for display in a content slot associated with the video content. For example, the content can be presented in a banner format near a video playing on a user device or on a portion of a video playing on a user device.
[0046] At 204, the converter system 112 accesses the auto-play content in the content database and identifies a still image (e.g., a single frame) in the auto-play content. For example, the still image can be a screenshot from a video clip. The still image or screenshot is used as a preview of the content item in the generated click-to-play content item. In this way, the user can watch the still image to understand what the complete show (e.g., video clip) associated with the click-to-play content item is. Various implementations can use different processes to select the still image. For example, some processes use the first frame of the show (e.g., video clip) as the still image. However, in some cases, frames other than the first frame of the show (e.g., video clip) can provide more useful and relevant information about the show (e.g., video clip).
[0047] There are several methods for generating still images. In one implementation, the converter system 112 generates a still image after running the autoplay content for a short period of time. In an alternative implementation, the converter system 112 generates a still image of the first rendered frame of the projection content. Once the content is played back, this creates a continuity effect because the user is first presented with the first rendered frame as a still image, and then presented with the playback of the projection content, with a more seamless transition from the still image to the projection content. In yet another implementation, the converter system 112 generates a screenshot of the projection content after the projection content has been played for 30 seconds (or some other specified amount of time). The still image can be extracted without playing back the projection content. For example, the converter system 112 can select a specific time or position (e.g., the first frame, the middle frame, the last frame) for the still image. As will be further described below, in some implementations, the converter system 112 extracts more than one still image. In those cases, the converter system 112 can extract all static content (or fragments of multiple consecutive frames) from the autoplay content.
[0048] At 206, the converter system 112 extracts the still image from the autoplay content. The converter system 112 may use various techniques to extract the still image. For example, the converter system 112 may use optical character recognition (OCR) to find the most information-intensive frame to be used as a still image. In some implementations, the converter system 112 analyzes the compressibility of the edges of the frame for extracting the still image. In some implementations, the extracted content is not necessarily a still image, but may be other forms of data. For example, the extracted content may be in the form of a portable network graphic (PNG) file, a JPEG file, or HTML content.
[0049] In one example, content database 110 may send the autoplay content it receives from content provider 114 to converter system 112. Converter system 112 may include a server running a headless browser (i.e., a version of a browser running on a server). The headless browser then loads the autoplay content (including the video content and any HTML or ) and plays back the content for a period of time (e.g., 30 seconds), and then generates a still image from the content (e.g., at 30 seconds). The still image can be a PNG or JPEG file that represents the state of the content (e.g., at 30 seconds). In some alternative implementations, instead of extracting a static image (e.g., a still image) from the autoplay content, the converter system 112 generates static HTML from the autoplay content. The static HTML links to the same resource as the autoplay content (as well as other HTML or ), but without having to run complex code (e.g. ), only static code is included in the generated content. For example, if the original content includes both images and overlapping interactive text (e.g., hyperlinks), the generated static HTML content will include images as well as the overlapping interactive text. In contrast, in the case where only still images are extracted from the video, the overlapping interactive text (e.g., hyperlinks) will be lost. This method may be particularly beneficial in the case where the static images have low quality and / or low resolution. For example, a low-quality screenshot with text associated with a content provider's web page may be difficult to read, so providing static HTML content may be more conducive to obtaining a better user experience. In addition, this method may be beneficial in the case where a user views static HTML content and wishes to view the associated screening. In these scenarios, after the user indicates a desire to view the screening content (e.g., by clicking a play button), only non-static content needs to be provided to the user's computing device at that time so that the user can view the screening content, because all static content has been provided by the content server.
[0050] At 208, the converter system 112 overlaps the extracted still image with one or more user interface elements. One or more user interface elements may include, for example, a play button or a button for accessing a landing page associated with the auto-playing content (e.g., an advertiser or video creator website). For example, if the auto-playing content is a video, the still image may overlap with a play button that starts the video playback, and a button for navigating to the landing page associated with the video. In a browser-based content converter, the user needs to click the content twice—the first time to start playback, and the second time to access the landing page—in order to navigate to the landing page. Multiple user interface elements, including buttons for navigating to the landing page, allow the user to access the landing page with a single click. In examples involving videos, this helps improve conversion statistics because the user only needs to click on the content once. In early methods that require two clicks, the user can click on the video once, but he or she may become distracted before clicking the video for the second time and no longer visit the landing page of the video. From the perspective of the content provider, this presents a negative experience because the user needs to spend more effort to visit the website of the content provider.
[0051] In some implementations, overlapping the extracted still image may include using a predefined template. For example, the converter system 112 may store multiple templates, each template defining the layout of user interface elements and / or the relative positions of user interface elements. In some example templates, the play button may be included in the middle of the overlap, while in other example templates, the play button may be included in the periphery of the overlap so as to be less intrusive. In some implementations, the template may define at least one of a grayscale or an opacity level. For example, when the extracted still image overlaps one or more user interface elements, the still image itself may change in appearance. In some implementations, the still image is displayed in black and white (e.g., grayscale) while the user interface elements are displayed in color. In an alternative implementation, the still image is displayed in color while the user interface elements overlap the still image, causing the still image to appear darker due to the higher level of opacity of the template overlap. In some implementations, multiple templates are used to generate multiple versions of the generated content. In this way, the content distribution system 108 can select from multiple versions of the converted content to provide to the remote client device 106. The code of the example HTML template is as follows:
[0052]
[0053]
[0054] In some implementations, various versions of converted content are generated by the converter system 112, and the content distribution system 108 can select the appropriate version of the converted content based on the content request and / or device characteristics of the requesting device (e.g., device type, device resolution, connection speed, etc.).
[0055] This step 208 introduces a new way for users to interact with content. In contrast to browser-based content blockers, users may be able to cause playback of blocked content. However, step 208 allows various other user interface elements to be overlaid on the still image, such as a button that allows the user to navigate to the content provider's website without having to first playback the content, or a button that allows the user to view other content, some of which may be thematically related to the original content.
[0056] At 210, the converter system 112 stores the overlaid still image as part of the click-to-play content. In some implementations, the converter system 112 stores the click-to-play content in association with the auto-play content from which the click-to-play content was generated. In some implementations, the converter system 112 sends the click-to-play content to the content database 110 where the converted content is stored with the original content.
[0057] In some implementations, one or more of steps 202-210 may be performed by different combinations of content database 110, converter system 112, and content distribution system 108. For example, in some implementations, content database 110 first receives auto-play content from content provider 112. Content database 110 then sends the auto-play content to converter system 112 for converting the auto-play content to click-to-play content. Converter system 112 receives the auto-play content, identifies relevant still images in the auto-play content at 204, extracts the still images from the auto-play content 206, and overlaps the still images with one or more user interface elements 208. At 210, the content database stores the overlapped still images as click-to-play content. The click-to-play content may be stored in association with the auto-play content from which the click-to-play content was generated.
[0058] In some implementations, converter system 112 performs batch conversion of multiple automatic play content items to generate multiple click-to-play content items at one time. In some implementations, converter system 112 extracts static HTML content (e.g., still images) from the automatic play content items, but does not select templates and / or one or more user interface elements. On the contrary, if content distribution system 108 chooses to provide static HTML content instead of automatic play content items to the requested remote client device, content distribution system 108 requests specific templates and / or one or more user interface elements at runtime. At runtime, content distribution system 108 then obtains conversion content (e.g., static HTML content) from content database 110, and selects specific templates and / or one or more user interface elements for rendering on remote client devices. In these implementations, one or more of these tasks can be performed by a rendering server.
[0059] As described above, in some implementations, the converter system 112 generates click-to-play content from the auto-play content. In some implementations, the converter system 112 specifically identifies the auto-play content items stored in the content database 110 as candidates to be converted into click-to-play content items. That is, the content provider 114 can provide many types of content to the content database 110. In some cases, the content may cause a poor user experience and / or the content may load too slowly. In many cases, the content provider does not intend to cause a negative experience, so the system and method described herein can improve content presentation and user experience by reducing the loading waiting time of the content provided by the content provider. The content that causes a negative user experience includes at least some auto-play content. However, in some cases, not all HTML auto-play content may cause a negative user experience. Therefore, in some implementations, the converter system 112 determines which auto-play content may cause a negative user experience and generates click-to-play content only from the auto-play content that is determined to cause a negative user experience (e.g., due to a long loading time).
[0060] Figure 3 is a flow chart of an example process 300 for converting HTML content into click-to-play content. Note that in an environment where the content database 110 performs the conversion, Figure 3Each of the processes in will be performed by the content database 110. In this process, the HTML content is analyzed 304 to determine whether the content should be converted to click-to-play content 306. If the converter system 112 determines that the particular HTML content is not optimizable, no additional content is generated. However, if the converter system 112 determines that the particular HTML content 302 is optimizable, the converter system 112 converts the HTML content 302 to click-to-play content 306. The content is then stored at 308. Optimizable content can refer to content that can be converted or content that will benefit from conversion, while non-optimizable content can refer to content that cannot be converted or content that cannot benefit from conversion.
[0061] Non-optimizable content may include, for example, purely static content or mostly static content (e.g., HTML content that does not include any projection content). Optimizable content may include, for example, HTML autoplay content or HTML content that uses a JS library to perform heavy graphics projection. In some implementations, HTML autoplay content is not necessarily considered optimizable. Instead, the converter system 112 determines the size of the HTML autoplay content, and if the size is greater than a threshold size, the HTML autoplay content is considered optimizable and converted to click-to-play content 306. In some implementations, analyzing 304 content to determine whether the content is optimizable or non-optimizable includes: determining whether the content 302 includes any projections or over-projections (e.g., exceeding a threshold playback duration). In some implementations, analyzing 304 content to determine whether the content 302 is optimizable or non-optimizable includes: determining whether the content 302 will cause a loading time greater than a threshold amount of time on the client device (e.g., based on network speed, client device processing power, or client device storage power). That is, if the converter system 112 determines that the content will load too slowly on the client device (eg, will take more than a specified amount of time to load), the content is deemed optimizable and converted to static content.
[0062] When the content database 110 or the converter system 112 analyzes the HTML content 302 and determines that the content should be converted to click-to-play content, the corresponding server then generates the click-to-play content from the HTML content. For the purpose of discussion, the processing for generating the click-to-play content will be described below with respect to the converter system 112, but it should be noted that in some implementations, the content distribution system 108, the content database 110 can also perform these processes. In order to generate the click-to-play content, the converter system 112 identifies a screenshot or a still image from the auto-play content item to be used as a still image for the click-to-play content item. Several methods can be used to generate the still image. In some implementations, the converter system 112 generates the still image after running the auto-play content in a short period of time. In some implementations, the converter system 112 generates the still image at the first rendering frame to produce a continuity effect once the content is played back or shown. However, this method may cause the still image to provide less relevant information about the auto-play content item. For example, if the auto-play content item starts with a black screen, the extracted still image will be a black screen, which will ultimately not display any useful information about the auto-play content item. In some implementations, the converter system 112 generates a still image after playing the auto-play content item for a set period of time (e.g., 30 seconds), after which the auto-play content item is no longer shown. This method has the advantage of providing a frame that includes more relevant information about the auto-play content item.
[0063] After the converter system 112 extracts the still image, it provides one or more user interface elements for playing back the autoplay content. Typically, the user interface elements are overlaid on the still image so that the relevant frames from the click-to-play content are displayed to the user and a mechanism is provided by which the user can cause a screening associated with the click-to-play content screening. This provides information to the user about the screening content while not using bandwidth to download the screening content or disturbing users who do not wish to view the screening content. However, if the user does wish to view the screening content, the user interface elements provide the user with a clear way to view the screening content.
[0064] In some implementations, the converter system 112 selects a specific auto-play content item to be converted because the content item causes poor performance of the computing device. For example, the converter system 112 selects an auto-play content that usually starts showing after 30 seconds on a specific computing device. In this example, although the saving of the amount of data downloaded to the computing device is negligible, the benefit to the battery life of the browsing experience and the specific computing device may be substantial. When a content item is converted from an auto-play content item to a click-to-play content item, there are some costs for the browser to download the click-to-play content--similar to downloading an image--but the content item does not disrupt the rendering of other content on the computing device unless or until the user clicks to watch the show associated with the click-to-play content.
[0065] The following is sample code for converting autoplay content to click-to-play content:
[0066]
[0067]
[0068]
[0069] In some implementations, the converter system 112 selects specific content to convert because the specific content causes latency issues. In some instances, the latency issues are caused by a combination of specific content items and specific characteristics of a computing device or a specific operating system. Converting HTML autoplay content to click-to-play content provides better interactivity in these instances, as shown below. Figure 4 shown.
[0070] One advantage of the techniques discussed herein is that content with high loading latency can be replaced by click-to-play content that loads quickly on the browser, for example, the time it takes to load an image. Figure 4It is shown how these technologies can reduce latency and / or preempt the download of unwanted content. Timeline 410 shows a scenario in which the original HTML autoplay content including the show is presented to the user. In these scenarios, the HTML autoplay content is provided to the user, and the show content automatically starts loading. As shown in 410, the original content starts loading at time = 0s, but the show content 440 does not start playback until time = 0.8s. Therefore, there is a significant lag between the start of content loading and the playback of the content. In addition, in this scenario, if the user does not want the video playback content at all and stops the playback of the HTML autoplay content immediately, unnecessary resources are consumed. That is, each HTML autoplay content that stops playback consumes CPU cycles at the content distribution system, consumes network bandwidth, and causes battery consumption on the user's device because the user's device downloads unwanted content and the user watches the part of the show content that the user is not interested in.
[0071] Timeline 420 shows a scenario where the original HTML autoplay content that includes the show has been converted to click-to-play content 442, and click-to-play content 442 is presented to the user. In this scenario, the user does not interact with click-to-play content 442 (e.g., by clicking on the content to cause it to show) after click-to-play content 442 has loaded. Click-to-play content 442 begins loading at time = 0s and is presented to the user at time = 0.2s. Therefore, by comparing timeline 410 to timeline 420, HTML content 440 takes 0.6 seconds longer to load than click-to-play content 442, resulting in a significant lag. In timeline 420, because the user did not click on the click-to-play content, the content is no longer loaded.
[0072] Timeline 430 shows a scene in which the original HTML autoplay content of the show has been converted to click-to-play content 442, the click-to-play content 442 is presented to the user, and the user clicks the click-to-play content 442 to view the HTML content 440. As with timeline 420, in timeline 430, the click-to-play content 442 begins loading at time = 0 s and is presented to the user 442 at time = 0.2 s. Then, when the user clicks the play button of the click-to-play content 442, the system idles the click event at time = 0.7 s. The HTML content 440 then begins loading at time = 0.7 s and begins playback at time = 1.4 s.
[0073] Figure 4The example timelines 410, 420, 430 shown in FIG. 4 have several advantages. First, click-to-play content loads faster than play content. Then, by not automatically loading show content that may cause latency issues, the browser frees up resources to perform other operations or download other content. In addition, click-to-play content does not consume user resources after loading (as shown in timeline 420) unless the user further engages with the content, such as by clicking on the content (as shown in timeline 430).
[0074] In some implementations, HTML content 440 may be downloaded on the client device while click-to-play content 442 is being displayed. This has the advantage that click-to-play content 442 acts as a preview for the user while HTML content 440 is loading. Then, when the user clicks on a user interface element to play the HTML content, HTML show content 440 is displayed in a more seamless manner because content 440 has already been downloaded. In other implementations, HTML content 440 is not downloaded until the user indicates that he or she wishes to view the show by, for example, clicking on a user interface element associated with click-to-play (e.g., a play button). This has the advantage that the content that is not played will load quickly and will not use any unnecessary resources. However, the experience of clicking on a user interface element may result in a slower playback of HTML content 440 because the browser will not download HTML content 440 without user input and must download HTML content 440 and other resources to begin playback.
[0075] In some implementations, the converter system 112 can generate a still image or preview using the actual resources and HTML code associated with the content. This provides the advantage of preloading some of the resources needed to play back the actual content show.
[0076] Figures 5A-5C Various examples of screen shots with user interface elements are shown. In the basic approach, such as Figure 5A As shown, the show content has been converted to click-to-play content, which displays a screenshot 510 and a play button 512 that overlays the screenshot 510. If the user wishes to view the show content associated with the click-to-play content, the user selects the play button 512, which causes the browser to request the HTML autoplay content associated with the click-to-play content and including the show content. The browser receives the HTML autoplay content, and the show content begins playing. In some implementations, if the user clicks on the content a second time, the target website associated with the content will be loaded (e.g., the user will be redirected to the target website).
[0077] Figure 5BAnother approach is shown in FIG. 5 , where click-to-play content is displayed as a screenshot 520 and an overlay play button 522 and a button 524 for accessing the content provider's website (“Visit Content Provider's Website”). In this example, if the user clicks the play button 522, the content will be displayed in a format similar to Figure 5A That is, if the user selects the play button 522, the browser requests the HTML autoplay content associated with the click-to-play content and including the show content from the content distribution system. The browser then receives the HTML autoplay content, and the show content begins to play. However, if the user does not want to watch the show but wants to visit the content provider's website, the user only needs to click on the content once—for example, by clicking on the "visit content provider's website" button 524 to redirect to the target website. That is, the user does not need to first click play before clicking to visit the target website.
[0078] Figure 5C An alternative method with a screenshot 530 is shown, in which a play button 532 and a button 534 for accessing the content provider's website are less intrusive. Specifically, the play button 532 is located in a corner of the screenshot 530 rather than in the middle of the screenshot.
[0079] Figure 6 is a flow chart of an example process 600 for providing click-to-play content and auto-play content. The steps in the example process 600 may be Figure 2 The process 200 occurs after Figure 2 In the embodiment of the present invention, the click-to-play content has been generated from the auto-play content. At 602, the content distribution system 108 receives a request for content from a remote client device. The requested content may include HTML content, which may include HTML auto-play content. At 604, in response to the request for content, the content distribution system 108 identifies an HTML content item from a plurality of HTML content items stored on the content database 110. The HTML content is original content because it is not converted into click-to-play content, but is auto-play content generated by, for example, the content provider 114 and sent to the content database 110.
[0080] At 604, the content distribution system 108 receives a click-to-play content item associated with the HTML content item from the content database 110. For example, Figure 2 In process 200, a click-to-play content item is generated from an HTML content item.
[0081] At 606, the content distribution system 108 provides a click-to-play content item associated with the HTML content item to the remote client device. The provided click-to-play content item may be similar to, for example, Figures 5A-5C Any of the exemplary click-to-play content items shown in . Figure 4 As shown in the timeline 430 of , click-to-play content item 442 may begin loading at time = 0s and be displayed at time = 0.2s. At time = 0.2s, the remote client device begins to idle, waiting for further user input. In some implementations, the click-to-play content is provided to a web browser or native application of the remote client device.
[0082] At 608, the content distribution system 108 receives a user request to view a showing associated with the click-to-play content. Figure 4 Referring to timeline 430 , at time=0.7 s, the content distribution system 108 identifies a click event. The content distribution system 108 then retrieves the HTML content associated with the click-to-play content from the content database 110 .
[0083] At 610, the content distribution system 108 provides HTML auto-play content associated with the click-to-play content to the client device. Figure 4 Referring to the timeline 430, at time = 0.7 s, the content distribution system 108 recognizes the click event and starts sending the HTML content 440. At time = 1.4 s, the remote client device has finished loading the HTML content 440, and the HTML content 440 starts to play back.
[0084] In some implementations, after the content distribution system 108 identifies an HTML content item from a plurality of HTML content items stored on the content database 110, the content distribution system 108 determines whether to provide the HTML content item or click-to-play content associated with the HTML content to the remote client device. The determination may include determining the file size of the HTML content and the file size of the click-to-play content. Then, based on a comparison of the file sizes of the HTML content and the click-to-play content with a threshold file size, the content distribution system 108 decides which content to provide. For example, if both the HTML content and the click-to-play content are smaller than the threshold file size, the content distribution system 108 may choose to provide the HTML content. However, if the HTML content is larger than the threshold file size and the click-to-play content is smaller than the threshold file size, the content distribution system 108 may choose to provide the click-to-play content to the remote client device. In some implementations, when choosing to provide the HTML content or the click-to-play content, the content distribution system 108 makes a determination about the amount of delay associated with loading the HTML content. The determination about the delay may be based on the HTML content itself, the connection speed of the remote client device, and / or the device characteristics of the remote client device.
[0085] Figure 7Examples of computing devices 700 and mobile computing devices that can be used to implement the computer-implemented methods and other techniques described herein are shown. Computing device 700 is intended to represent various forms of digital computers, such as laptop computers, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Mobile computing devices are intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions are merely exemplary and are not meant to limit implementations of the present invention described and / or claimed herein.
[0086] The computing device 700 includes a processor 702, a memory 704, a storage device 706, a high-speed interface 708 connected to the memory 704 and a plurality of high-speed expansion ports 710, and a low-speed interface 712 connected to a low-speed expansion port 714 and the storage device 706. Each of the processor 702, the memory 704, the storage device 706, the high-speed interface 708, the high-speed expansion port 710, and the low-speed interface 712 is interconnected using various buses and can be mounted on a common motherboard or otherwise installed when appropriate. The processor 702 can process instructions for execution within the computing device 700, including instructions stored in the memory 704 or on the storage device 706, to display graphical information of a GUI on an external input / output device (such as a display 716 coupled to the high-speed interface 708). In other implementations, multiple processors and / or multiple buses and multiple memories and multiple types of memories can be used when appropriate. Moreover, multiple computing devices can be connected, each device providing a portion of the necessary operations (for example, as a server group, a group of blade servers, or a multi-processor system).
[0087] The memory 704 stores information within the computing device 700. In some implementations, the memory 704 is one or more volatile memory units. In some implementations, the memory 704 is one or more non-volatile memory units. The memory 704 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.
[0088] The storage device 706 can provide mass storage for the computing device 700. In some implementations, the storage device 706 can be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices, including devices in a storage area network or other configuration. The computer program product can also include instructions that, when executed, perform one or more methods, such as those described above. The computer program product can also be tangibly embodied in a computer or machine-readable medium, such as the memory 704, the storage device 706, or a memory on the processor 702.
[0089] The high-speed interface 708 manages bandwidth-intensive operations of the computing device 700, while the low-speed interface 712 manages less bandwidth-intensive operations. This allocation of functions is exemplary only. In some implementations, the high-speed interface 708 is coupled to the memory 704, the display 716 (e.g., through a graphics processor or accelerator), and to the high-speed expansion port 710, which can accept various expansion cards (not shown). In this implementation, the low-speed interface 712 is coupled to the storage device 706 and the low-speed expansion port 714. The low-speed expansion port 714, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or, for example, connected to a network device such as a switch or a router through a network adapter.
[0090] Computing device 700 can be implemented in a variety of different forms, as shown in the figure. For example, it can be implemented as a standard server 720, or multiple times in a group of such servers. In addition, it can be implemented in a personal computer such as a laptop computer 722. It can also be implemented as part of a rack server system 724. Alternatively, components from computing device 700 can be combined with other components in a mobile device (not shown) such as a mobile computing device 750. Each of these devices can contain one or more of computing device 700 and mobile computing device 750, and the entire system can be composed of multiple computing devices that communicate with each other.
[0091] The mobile computing device 750 includes a processor 752, a memory 764, an input / output device such as a display 754, a communication interface 766, and a transceiver 768, among other components. The mobile computing device 750 may also be provided with a storage device, such as a micro drive or other device, to provide additional storage. Each of the processor 752, the memory 764, the display 754, the communication interface 766, and the transceiver 768 are interconnected using various buses, and several components may be mounted on a common motherboard or otherwise installed as appropriate.
[0092] The processor 752 may execute instructions within the mobile computing device 750, including instructions stored in the memory 764. The processor 752 may be implemented as a chipset of chips including separate and multiple analog and digital processors. The processor 752 may, for example, provide coordination for other components of the mobile computing device 750, such as control of a user interface, applications executed by the mobile computing device 750, and wireless communications of the mobile computing device 750.
[0093] The processor 752 can communicate with the user through the control interface 758 and the display interface 756 coupled to the display 754. The display 754 can be, for example, a TFT (thin film-transistor liquid crystal display) display or an OLED (organic light emitting diode) display, or other appropriate display technology. The display interface 756 may include appropriate circuits for driving the display 754 to present graphics and other information to the user. The control interface 758 can receive commands from the user and convert them for submission to the processor 752. In addition, the external interface 762 can provide communication with the processor 752 to enable near-area communication of the mobile computing device 750 with other devices. The external interface 762 can provide, for example, wired communication in some implementations, or wireless communication in other implementations, and multiple interfaces can also be used.
[0094] The memory 764 stores information within the mobile computing device 750. The memory 764 may be implemented as one or more of one or more computer-readable media or media, one or more volatile memory units, or one or more non-volatile memory units. An expansion memory 774 may also be provided and connected to the mobile computing device 750 via an expansion interface 772, which may include, for example, a SIMM (single in-line memory module) card interface. The expansion memory 774 may provide additional storage space for the mobile computing device 750, or may also store applications or other information for the mobile computing device 750. Specifically, the expansion memory 774 may include instructions to perform or supplement the above-mentioned processes, and may also include security information. Thus, for example, the expansion memory 774 may be provided as a security module for the mobile computing device 750, and may be programmed with instructions that allow the mobile computing device 750 to be used securely. In addition, security applications and other information may be provided via a SIMM card, such as placing identification information on the SIMM card in a non-hackable manner.
[0095] The memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory), as described below. The computer program product contains instructions that, when executed, perform one or more methods such as those described above. The computer program product may be a computer or machine readable medium, such as the memory 764, the expansion memory 774, or a memory on the processor 752. In some implementations, the computer program product may be received, for example, in a propagated signal by the transceiver 768 or the external interface 762.
[0096] The mobile computing device 750 can communicate wirelessly through the communication interface 766, which can include digital signal processing circuits as necessary. The communication interface 766 can provide communication under various modes or protocols, such as GSM voice calls (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service) or MMS messages (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000 or GPRS (General Packet Radio Service), etc. Such communication can occur, for example, through a transceiver 768 using radio frequency. In addition, short-range communication may occur, such as using Bluetooth, WiFi or other such transceivers (not shown). In addition, a GPS (Global Positioning System) receiver module 770 can provide additional navigation and location-related wireless data to the mobile computing device 750, which can be used appropriately by applications running on the mobile computing device 750.
[0097] Mobile computing device 750 may also communicate audibly using audio codec 760, which may receive voice information from a user and convert it into usable digital information. Audio codec 760 may also generate audible sound for the user, such as through a speaker in a headset of mobile computing device 750, for example. Such sound may include sound from a voice phone call, may include recorded sound (e.g., voice messages, music files, etc.), and may also include sound generated by applications operating on mobile computing device 750.
[0098] Mobile computing device 750 can be implemented in many different forms, as shown in the figure. For example, it can be implemented as a cellular phone 780. It can also be implemented as a part of a smart phone 782, a personal digital assistant or other similar mobile device.
[0099] Various implementations of the systems and techniques described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from and send data and instructions to a storage system, at least one input device, and at least one output device.
[0100] These computer programs (also referred to as programs, software, software applications or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages and / or in assembly / machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term machine-readable signal refers to any signal for providing machine instructions and / or data to a programmable processor.
[0101] To provide interaction with a user, the systems and techniques described herein 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 pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the 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, voice, or tactile input.
[0102] The systems and techniques described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or in any combination of such back-end, middleware, or front-end components. The components of the system may 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), a wide area network (WAN), and the Internet.
[0103] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises from computer programs running on respective computers and having a client-server relationship to each other.
[0104] Where systems, methods, devices, and other techniques herein collect personal information about a user (e.g., contextual data) or may utilize personal information, the user may be provided with an opportunity to control whether a program or feature collects user information (e.g., information about the user's social network, social actions or activities, profession, the user's preferences, or the user's current location), or to control whether and / or how content that may be more relevant to the user is received from the content distribution system. In addition, certain data may be processed in one or more ways prior to storage or use to remove personally identifiable information. For example, the user's identity may be processed so that personally identifiable information cannot be determined for the user, or the user's geographic location from which location information is obtained may be summarized (e.g., at the city, zip code, or state level) so that the user's specific location cannot be determined. Thus, the user may control how information about the user is collected and used by the content distribution system.
[0105] Although various embodiments have been described in detail above, other modifications are possible. In addition, the logic flow depicted in the figure does not require the specific order or sequential order shown to achieve the desired result. In addition, other steps can be provided from the described process, or steps can be eliminated from the described process, and other components can be added to the described system or removed from the system. Therefore, other implementations are within the scope of the appended claims.
Claims
1. A computer-implemented method, the method comprising: receiving, by a content database from a content provider, a particular original content item including presentation content that automatically plays when provided to a client device; Generating, by one or more processors, a plurality of transformed content items from a plurality of original content items including a particular original content item containing the presentation content, the generating comprising: For a particular original content item, identifying a static representative image from the particular original content item; and creating a specific transition content item that plays only upon interaction with a specific user interface element, the creating comprising, in response to interaction with the specific user interface element, overlaying a static representation image with the specific user interface element that initiates playback of the specific transition content item; identifying a plurality of different opportunities to distribute a particular original content item to different client devices; providing a first portion of a particular transformed content item to a different client device; and The particular original content item is provided to a second portion that is a different client device.
2. The computer-implemented method of claim 1 , further comprising: receiving, by the content database from different client devices, one or more user requests to view content items including showings related to a particular transformed content item generated by the one or more processors; and In response to receiving a user request to view a showing, a particular original content item is provided to the client device.
3. The computer-implemented method of claim 1 , wherein: The plurality of original content items include auto-play HTML content, and the plurality of converted content items include click-to-play content.
4. The computer-implemented method of claim 1 , further comprising: analyzing the plurality of original content items in a content database; as well as Identify original content items suitable for conversion.
5. The computer-implemented method of claim 4, wherein: Identifying original content items suitable for conversion includes identifying original content items that are larger than a threshold file size as original content items suitable for conversion.
6. The computer-implemented method of claim 1 , wherein: The specific converted content item has a smaller file size than the specific original content item.
7. The computer-implemented method of claim 1 , wherein: The content database stores each of the plurality of converted content items in association with a corresponding projection original content item.
8. The computer-implemented method of claim 1 , further comprising determining whether to provide a particular original content item or a particular transformed content item to the client device, wherein: The determination includes: determining a file size of a particular original content item and a file size of a particular converted content item; and The particular converted content item is selected based on a comparison of a file size of the particular original content item and a file size of the particular converted content item to a threshold file size.
9. A system for providing content, the system comprising: a content database in communication with one or more content providers to receive from the one or more content providers original content items including screening content that automatically plays when provided to a client device; as well as One or more processors configured to perform operations including: Generating a plurality of transformed content items from a plurality of original content items including a particular original content item containing the presentation content, the generating comprising: For a particular original content item, identifying a static representative image from the particular original content item; and Create specific transition content items that play only when interacting with specific UI elements, The creating includes overlaying the static representation image with the specific user interface element that initiates playback of the specific transition content item in response to interaction with the specific user interface element; identifying a plurality of different opportunities to distribute a particular original content item to different client devices; providing a first portion of a particular transformed content item to a different client device; and The particular original content item is provided to a second portion that is a different client device.
10. The system according to claim 9, wherein: the content database receiving one or more user requests from different client devices to view content items including showings related to a particular transformed content item generated by the one or more processors; and In response to receiving a user request to view a showing, the one or more processors provide the particular original content item to the client device.
11. The system according to claim 9, wherein: The plurality of original content items include auto-play HTML content, and the plurality of converted content items include click-to-play content.
12. The system according to claim 9, wherein: The one or more processors analyze the plurality of original content items in a content database and identify original content items suitable for conversion.
13. The system according to claim 12, wherein: The identifying original content items suitable for conversion includes identifying original content items that are larger than a threshold file size as original content items suitable for conversion.
14. The system according to claim 9, wherein: The specific converted content item has a smaller file size than the specific original content item.
15. One or more non-transitory computer-readable media having stored thereon instructions that, when executed by one or more processors, result in the performance of operations comprising: receiving, by a content database from a content provider, a particular original content item including presentation content that automatically plays when provided to a client device; Generating, by one or more processors, a plurality of transformed content items from a plurality of original content items including a particular original content item containing the presentation content, the generating comprising: For a particular original content item, identifying a static representative image from the particular original content item; and creating a specific transition content item that plays only upon interaction with a specific user interface element, the creating comprising, in response to interaction with the specific user interface element, overlaying a static representation image with the specific user interface element that initiates playback of the specific transition content item; identifying a plurality of different opportunities to distribute the original content item to different client devices; providing a first portion of a particular transformed content item to a different client device; and The particular original content item is provided to a second portion that is a different client device.
16. The one or more non-transitory computer-readable media of claim 15, the operations further comprising: receiving, by the content database from different client devices, one or more user requests to view content items including showings related to a particular transformed content item generated by the one or more processors; and In response to receiving a user request to view a showing, a particular original content item is provided by the converter system to the client device.
17. The one or more non-transitory computer-readable media of claim 15, wherein: The plurality of original content items include auto-play HTML content, and the plurality of converted content items include click-to-play content.
18. The one or more non-transitory computer-readable media of claim 15, wherein: The operations include: analyzing the plurality of original content items in a content database; and Identify original content items suitable for conversion.
19. The one or more non-transitory computer-readable media of claim 18, wherein: The identifying original content items suitable for conversion includes identifying original content items that are larger than a threshold file size as original content items suitable for conversion.
20. The one or more non-transitory computer-readable media of claim 15, wherein: The specific converted content item has a smaller file size than the specific original content item.
Citation Information
Patent Citations
Persistent Media Playback
CN102804179A
Providing dynamic content with an electronic video
CN103380627A