WEB-BASED CONTENT PRESENTATION VIA SMART TELEVISION DEVICE APPLICATION

Disclosed herein are system, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for presenting web-based content to a display by an application installed on a smart television (TV) device. An example embodiment includes a web-based content collection and transformation service that is configured to access web-based content via a world wide web, create a copy of the web-based content, transform the copy of the web-based content into a form suitable for presentation to the display by the application, and store the transformed copy of the web-based content to a data storage system that is accessible to the application. In further accordance with this example embodiment, the application is configured to obtain the transformed copy of the web-based content from the data storage system and present it to the display.

BACKGROUND

Field

This disclosure is generally directed to techniques for presenting content to a display and, in particular, to techniques for presenting web-based content to a display.

SUMMARY

Provided herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for presenting web-based content to a display by an application installed on a smart television (TV) device. An example embodiment includes a web-based content collection and transformation service that is configured to access web-based content via a world wide web (“web”), create a copy of the web-based content, transform the copy of the web-based content into a form suitable for presentation to the display by the application, and store the transformed copy of the web-based content to a data storage system that is accessible to the application. In further accordance with such an embodiment, the application is configured to obtain the transformed copy of the web-based content from the data storage system and present the transformed copy of the web-based content to the display.

DETAILED DESCRIPTION

For a variety of reasons, a user may wish to display content accessed via the world wide web (e.g., a webpage, or text, image, video and/or audio content included within a webpage) on a relatively large screen as opposed to the relatively small screens typically associated with smart phones, laptop computers, tablet computers, and desktop computers. For example, in an enterprise, it may be deemed useful to display web-based content that is relevant to employees on a number of large screens distributed across one or more offices, thereby enabling the employees to easily view such web-based content. Likewise, in a retail store or restaurant, it may be deemed desirable to display web-based content to customers or patrons via a number of large screens distributed throughout a shopping or dining space. One approach to achieving this would be to physically connect a separate computer running a web browser to each such display and then navigate each such web browser to the desired content. However, this approach is both expensive and logistically complex.

Owing to significant advances in display technology and manufacturing, it is now possible for consumers to obtain large flat screen televisions (TVs) with display sizes ranging from 55 to 85 inches at a relatively low cost, with even larger display sizes available. Such large displays could potentially provide a more convenient and desirable way to view web-based content in the home as compared to the aforementioned relatively small screens typically associated with smart phones, laptop computers, tablet computers, and desktop computers. Also, such large displays could potentially provide a means for communal viewing of web-based content by a group of family members and/or friends in a home. One approach to achieving this would be to connect a computer with a web browser installed thereon to a TV and then operate the computer to navigate the web browser to the desired web-content. However, this approach is far from user-friendly, as it requires a user to physically connect the computer to an input port of the TV (assuming such an input port is even available), switch the TV to the relevant input port, and then navigate the web browser on the computer to the desired web content.

Provided herein are system, apparatus, device, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for presenting web-based content to a display by an application installed on a smart TV device that addresses one or more of the foregoing issues. For example, as will be described herein, an application installed on a smart TV device (e.g., a smart TV or a device that connects to a TV to provide smart TV features thereto) may be used to present web-based content to a display. In particular, a web-based content collection and transformation service may operate to access the web-based content via a world wide web, create a copy of the web-based content, transform the copy of the web-based content into a form suitable for presentation to the display by the application, and store the transformed copy of the web-based content to a data storage system that is accessible to the application. The application may be configured to obtain the transformed copy of the web-based content from the data storage system and present the transformed copy of the web-based content to the display.

In accordance with the disclosed techniques for presenting web-based content via a smart TV device application, web-based content that would normally be accessed and viewed via the relatively small displays typically associated with smart phones, laptop computers, tablet computers, and desktop computers, can instead be viewed via the relatively large displays associated with some TVs, such as some flat screen TVs.

In further accordance with the disclosed techniques for presenting web-based content via a smart TV device application, the application for presenting the web-based content may be easily installed and executed on any number of smart TV devices, thereby enabling web-based content to be presented to any number of displays associated with any number of TVs, without having to connect a separate browser-enabled computer to each TV.

In still further accordance with the disclosed techniques for presenting web-based content via a smart TV device application, the aforementioned service automatically navigates the web to collect the web-based content, transforms the web-based content into a form suitable for display, and stores the transformed web-based content in the aforementioned data storage system, where it may be accessed by any number of applications executing on any number of smart TV devices. Because the service performs the web navigation operations to obtain the web-based content and the transformation operations to render it into a form suitable for display, the applications themselves need not perform such operations. This can enable the applications to be more lightweight or streamlined, thus consuming fewer resources (e.g., processor cycles, memory) of the smart TV devices upon which they are installed.

In yet further accordance with the disclosed techniques for presenting web-based content via a smart TV device application, the web-based content that is presented to the display may be automatically collected by the aforementioned service and transformed into a form suitable for presentation to the display by the application. This can entail, for example, transforming the web-based content into a form that can be viewed or otherwise consumed using a remote control associated with the smart TV device, which may provide a far simpler control scheme as compared to a conventional computer and web browser. Thus, a user may be enabled to consume web-based content using such far simpler control scheme.

Various embodiments of this disclosure may be implemented using and/or may be part of a multimedia environment102shown inFIG.1. It is noted, however, that multimedia environment102is provided solely for illustrative purposes, and is not limiting. Embodiments of this disclosure may be implemented using and/or may be part of environments different from and/or in addition to the multimedia environment102, as will be appreciated by persons skilled in the relevant art(s) based on the teachings contained herein. An example of the multimedia environment102shall now be described.

Multimedia Environment

FIG.1illustrates a block diagram of a multimedia environment102, according to some embodiments. In a non-limiting example, multimedia environment102may be directed to streaming media. However, this disclosure is applicable to any type of media (instead of or in addition to streaming media), as well as any mechanism, means, protocol, method and/or process for distributing media.

Multimedia environment102may include one or more media systems104. A media system104could represent a family room, a kitchen, a backyard, a home theater, a school classroom, a library, a car, a boat, a bus, a plane, a movie theater, a stadium, an auditorium, a park, a bar, a restaurant, or any other location or space where it is desired to receive and play streaming content. User(s)132may operate with the media system104to select and consume content.

Each media system104may include one or more media devices106each coupled to one or more display devices108. It is noted that terms such as “coupled,” “connected to,” “attached,” “linked,” “combined” and similar terms may refer to physical, electrical, magnetic, logical, etc., connections, unless otherwise specified herein.

Media device106may be a streaming media device, DVD or BLU-RAY device, audio/video playback device, cable box, and/or digital video recording device, to name just a few examples. Media device106may comprise a smart TV device. As used herein, the term “smart TV device” is intended to encompass TVs with integrated processing and digital communication capabilities, as well as devices (e.g., streaming media devices or set-top boxes) that connect to TVs and provide smart TV functionality thereto. As will be discussed herein, such smart TV functionality may include, for example, and without limitation, the ability to execute applications that obtain content via the Internet and present such content to a display, such as display device108.

Display device108may be a monitor, television (TV), computer, smart phone, tablet, wearable (such as a watch or glasses), appliance, internet of things (IoT) device, and/or projector, to name just a few examples. In some embodiments, media device106can be a part of, integrated with, operatively coupled to, and/or connected to its respective display device108.

Each media device106may be configured to communicate with network118via a communication device114. Communication device114may include, for example, a cable modem or satellite TV transceiver. Media device106may communicate with communication device114over a link116, wherein link116may include wireless (such as Wi-Fi) and/or wired connections.

Media system104may include a remote control110. Remote control110can be any component, part, apparatus and/or method for controlling media device106and/or display device108, such as a remote control, a tablet, laptop computer, smartphone, wearable, on-screen controls, integrated control buttons, audio controls, or any combination thereof, to name just a few examples. In an embodiment, remote control110wirelessly communicates with media device106and/or display device108using cellular, Bluetooth, infrared, etc., or any combination thereof. Remote control110may include a microphone112, which is further described below.

Multimedia environment102may include a plurality of content servers120(also called content providers, channels or sources120). Although only one content server120is shown inFIG.1, in practice multimedia environment102may include any number of content servers120. Each content server120may be configured to communicate with network118.

In some embodiments, metadata124comprises data about content122. For example, metadata124may include associated or ancillary information indicating or related to writer, director, producer, composer, artist, actor, summary, chapters, production, history, year, trailers, alternate versions, related content, applications, and/or any other information pertaining or relating to content122. Metadata124may also or alternatively include links to any such information pertaining or relating to content122. Metadata124may also or alternatively include one or more indexes of content122.

Multimedia environment102may include one or more system servers126. System servers126may operate to support media devices106from the cloud. It is noted that the structural and functional aspects of system servers126may wholly or partially exist in the same or different ones of system servers126.

System servers126may include an application distribution service128. Application distribution service128may enable user132to browse a plurality of smart TV device applications and select certain smart TV device applications from among the plurality of smart TV device applications for installation to media device106. For example, media device106may present a user interface (UI), such as a graphical UI (GUI), associated with application distribution service128to display device108. A user may interact with the UI (e.g., by using remote control110) to browse a plurality of smart TV device applications and to select one of the plurality of smart TV device applications for installation on media device106. In response to such selection, application distribution service128may cause the selected smart TV device application to be downloaded and installed on media device106. As will be discussed below in reference toFIG.2, such smart TV device applications may include a web-based content presentation application210that may be installed on media device106and subsequently executed to present certain web-based content to display device108.

System servers126may also include a web-based content collection and transformation service130. Web-based content collection and transformation service130may operate to access web-based content via the world wide web (e.g., via network118), create a copy of the web-based content, and transform the copy of the web-based content into a form suitable for presentation to a display (e.g., display device108) by the aforementioned web-based content presentation application210, thereby generating a transformed copy of web-based content136. Web-based content collection and transformation service130may further operate to store transformed copy of web-based content136to a data storage system134that is communicatively connected to network118and that is accessible to application210installed on media device106via network118.

System servers126may also include an audio command processing module138. As noted above, remote control110may include microphone112. Microphone112may receive audio data from users132(as well as other sources, such as the display device108). In some embodiments, media device106may be audio responsive, and the audio data may represent verbal commands from user132to control media device106as well as other components in media system104, such as display device108.

In some embodiments, the audio data received by microphone112in remote control110is transferred to media device106, which then forwards the audio data to audio command processing module138in system servers126. Audio command processing module138may operate to process and analyze the received audio data to recognize a verbal command of user132. Audio command processing module138may then forward the verbal command back to media device106for processing.

In some embodiments, the audio data may be alternatively or additionally processed and analyzed by an audio command processing module216in media device106(seeFIG.2). Media device106and system servers126may then cooperate to pick one of the verbal commands to process (either the verbal command recognized by audio command processing module138in system servers126, or the verbal command recognized by audio command processing module216in media device106).

Multimedia environment102may include a data storage system134. Data storage system134may store transformed copy of web-based content136generated by web-based content collection and transformation service130, so that such transformed copy of web-based content136can be obtained therefrom by various instances of web-based content presentation application210installed respectively on various media devices, such as media device106. Data storage system134may comprise, for example, a cloud-based data storage system. However, this is only one non-limiting example and data storage system134may be implemented by one or more computing devices (e.g., servers) using any suitable data storage technology, including but not limited to direct attached storage (DAS) or network-based storage. Furthermore, data storage system134may be implemented using any suitable data storage devices, including but not limited to hard disk drives (HDDs), solid state drives (SSDs), flash drives, tape drives, or the like. In certain implementation, data storage system134may comprise part of content server(s)120, in which case data storage system134may also store content122and/or metadata124.

FIG.2illustrates a block diagram of an example media device106, according to some embodiments. Media device106may include a streaming module202, a processing module204, storage/buffers208, a user interface module206, and a streaming media context classification module218. As described above, user interface module206may include audio command processing module216.

Media device106may also include one or more audio decoders212and one or more video decoders214.

Each audio decoder212may be configured to decode audio of one or more audio formats, such as but not limited to AAC, HE-AAC, AC3 (Dolby Digital), EAC3 (Dolby Digital Plus), WMA, WAV, PCM, MP3, OGG GSM, FLAC, AU, AIFF, and/or VOX, to name just some examples.

Now referring to bothFIGS.1and2, in some embodiments, user132may interact with media device106via, for example, remote control110. For example, user132may use remote control110to interact with user interface module206of media device106to select a content item, such as a movie, TV show, music, book, application, game, etc. In response to the user selection, streaming module202of media device106may request the selected content item from content server(s)120over network118. Content server(s)120may transmit the requested content item to streaming module202. Media device106may transmit the received content item to display device108for playback to user132.

In streaming embodiments, streaming module202may transmit the content item to display device108in real time or near real time as it receives such content item from content server(s)120. In non-streaming embodiments, media device106may store the content item received from content server(s)120in storage/buffers208for later playback on display device108.

In further embodiments, user132may interact with user interface module206of media device106(e.g., using remote control110) to select web-based content presentation application210from among a plurality of smart TV device applications made available by application distribution service128. In response to such selection, application distribution service128may cause application210to be downloaded to and installed on media device106. For example, application210may be installed to storage/buffers208of media device106, as shown inFIG.2. Once application210has been installed to media device106, user132may interact with user interface module206of media device106(e.g., using remote control110) to cause application210to be executed by processing module204. During execution, web-based content presentation application210may operate to obtain transformed copy of web-based content136from data storage system134and present it to display device108so that user132may view it.

In alternative implementations, application210may be pre-installed on media device106at a time of manufacture of media device106and thus need not be installed thereon by user132.

Web-Based Content Presentation Via Smart Television Device Application

Referring again toFIGS.1and2, web-based content collection and transformation service130may operate to access web-based content via the world wide web (e.g., via network118), create a copy of the web-based content, transform the copy of the web-based content into a form suitable for presentation to a display (e.g., display device108) by web-based content presentation application210, thereby generating transformed copy of web-based content136, and store transformed copy of web-based content136to data storage system134that is accessible to application210. Application210installed on media device106may operate to obtain transformed copy of web-based content136from data storage system134and present it to a display (e.g., display device108).

FIG.3illustrates a block diagram of an example implementation of web-based content collection and transformation service130, according to some embodiments. As shown inFIG.3, web-based content collection and transformation service130may comprise a web-based content collector302, a web-based content transformer304, and a transformed web-based content provider306. Each of these components may be implemented by processing logic that can comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. Each of these components will now be described.

Web-based content collector302may be configured to access web-based content via the world wide web (e.g., via network118), create a copy of the web-based content, and provide the copy of the web-based content to web-based content transformer304. The web-based content may comprise any type of content that can be accessed via the web. For example and without limitation, the web-based content may comprise a webpage (e.g., a rendered webpage and/or source HTML of a webpage), as well as any text, image, audio content and/or video content included in a webpage, an RSS feed, or the like. Web-based content collector302may be configure to retrieve the aforementioned web-based content from a single webpage or from across a plurality of webpages.

Web based content collector302may include a headless web browser. Web based content collector302may utilize the headless web browser to navigate to a webpage and capture a screenshot of the webpage without having to render the webpage to a screen.

Web based content collector302may also comprise a headful (or GUI-based) web browser. Web based content collector302may utilize the headful web browser to navigate to a webpage and render the webpage to a browser window that is displayed on a screen. Web based content collector302may then capture a screenshot of the webpage when rendered to the screen. If the webpage extends beyond the boundaries of the browser window, web based content collector302may automatically scroll down the webpage and take multiple screenshots to capture the entirety of the webpage.

In a scenario in which the web-based content comprises an image, web based content collector302may create a copy of the image by obtaining a copy of the contents of an associated image file without rendering the image, if such image file is available. Alternatively, web based content collector302may cause the image to be rendered and then create the copy of the image by capturing a screenshot of the rendered image.

In a scenario in which the web-based content comprises audio content, web based content collector302may create a copy of the audio content by obtaining a copy of the contents of an associated audio file without playing back the audio content, if such audio file is available. Alternatively, web based content collector302may create a copy of the audio content by playing back the audio content and recording the audio output during playback.

In a scenario in which the web-based content comprises video content, web based content collector302may create a copy of the video content by obtaining a copy of the contents of an associated video file without playing back the video, if such a video file is available. Alternatively, web based content collector302may create a copy of the video content by playing back the video content and recording the video output during playback.

Web-based content may also include, for example, Portable Document Format (PDF) file content that is accessed via the web. Such PDF file content may include PDF content rendered to a browser window (e.g., using a suitable browser plugin) or raw PDF content. Web-based content collector302may generate a copy of PDF file content by taking a screenshot of such PDF content when rendered by a browser or by obtaining a copy of the raw PDF content.

Web-based content may also include, for example, markup language content (e.g., XML file content) that is accessed via the web (e.g., an RSS feed). Such markup language content may include markup language content rendered to a browser window (e.g., using a suitable browser plugin) or raw markup language content. Web-based content collector302may generate a copy of markup language content by listing out of such markup language content when rendered by a browser or by obtaining a copy of the raw markup language content.

Web-based content collector302may itself comprise an application that is configured to generate web-based content. For example and without limitation, web-based content collector302may comprise a business intelligence application that is configured to generate one or more reports or graphs that are accessible via the web. In accordance with such an implementation, the application may be configured to automatically capture a copy of the reports or graphs and provide them to web-based content transformer304.

Web-based content collector302may access the web-based content by placing an application programming interface (API) call to a service that returns web-based content responsive to the API call. For example, web-based content collector302may place an API call to a social networking service and, responsive to the API call, the social networking service may provide the web-based content (e.g., user-shared text messages, images and/or videos) to web-based content collector302. As another example, web-based content collector302may place an API call to an artificial intelligence (AI) service and, responsive to the API call, the AI service may provide the web-based content (e.g., AI-generated stories, computer code, query or question responses, language translations, text summaries, or images) to web-based content collector302.

Web-based content transformer304may be configured to receive the copy of the web-based content captured by web-based content collector302and transform the copy of the web-based content into a form suitable for presentation to a display (e.g., display device108) by web-based content presentation application210installed on media device106.

For example, in a scenario in which the copy of the web-based content comprises a screenshot of a webpage, web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by partitioning the screenshot of the webpage into multiple images, each of which can be independently presented to the display. This approach may be desirable if the webpage is too large to fit within the display window or if the webpage can only be fit within the display window using a pixel resolution that renders image or video content difficult to see and/or text content difficult to read.

In further accordance with this example, web-based content transformer304may also automatically annotate one or more images of the aforementioned multiple images. The annotations added to an image may comprise, for example and without limitation, text annotations that are descriptive, evaluative or informative in nature with respect to the content included in each image. Web-based content transformer304may associate predefined annotations to each image. Alternatively, web-based content transformer304may utilize a machine learning (ML) model or other suitable algorithm to recognize image content and associate annotations therewith based on the nature of the image content.

In another example in which the copy of the web-based content comprises a screenshot of a web page, web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by identifying portions of the webpage that are relevant to one or more users of web-based content presentation application210, and then capturing an image of each of the identified portions of the webpage. In this way, only those portions of the webpage deemed relevant to the user(s) may be presented thereto by application210. Web-based content transformer304may identify the portions of the webpage that are relevant to the user(s), for example, based on a user profile or other information associated with the user(s). Web-based content transformer304may alternatively identify the portions of the webpage that are relevant to the user(s) using a machine learning (ML) model that has been trained to predict content of interest to the user(s), or by using any other suitable algorithm.

In a scenario in which the copy of the web-based content comprises a copy of an image, web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by changing a size, resolution, brightness, contrast, color, and/or any other aspect of the copy of the image.

In a scenario in which the copy of the web-based content comprises a copy of audio content, web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by changing an audio format, encoding type, compression rate, amplitude resolution, sampling rate, and/or any other aspect of the copy of the audio content.

In a scenario in which the copy of the web-based content comprises a copy of video content, web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by changing a resolution, aspect ratio, video format, encoding type, frame rate, bit rate, color space, and/or any other aspect of the copy of the audio content.

Web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by (i) identifying one or more portions of the content in the copy of the web-based content to exclude from presentation to the display and then (ii) generating the transformed copy of the web-based content by removing the identified one or more portions of content from the copy of the web-based content. Such an approach may be used, for example, to selectively remove ads, pop-ups, or other undesired content from the copy of the web-based content. Such an approach may also be used, for example, to selectively remove copyright-protected material from the copy of the web-based content.

Web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by adding content thereto. For example, web-based content transformer304may add a title, background image, video, advertisements or the like to the copy of the web-based content.

Web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by (i) identifying one or more portions of content in the copy of the web-based content to present to the display and then (ii) generating the transformed copy of the web-based content from the identified one or more portions of content. Such an approach may be used, for example, to extract content of interest from among a broader set of web-based content collected by web-based content collector302and to condense or aggregate that web-based content into a more compact form for presentation to the display.

Web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by transforming the copy of the web-based content into multiple different formats each of which is associated with a different display type. This can enable web-based content presentation application210to selectively obtain and present the transformed copy of the web-based content having a format that best suits the display (e.g., display device108) to which the web-based content will be presented. For example, web-based content transformer304may transform the copy of the web-based content into multiple different formats corresponding, respectively, to multiple different display device types, display models, display sizes, or the like.

Web-based content transformer304may transform the copy of the web-based content into the form suitable for presentation to the display by tagging a GUI control within the copy of the web-based content. This can enable web-based content presentation application210to facilitate user interaction with the tagged GUI control, e.g., through the user of remote control110associated with media device106. For example, web-based content transformer304may tag a GUI control within the copy of the web-based content as a button and application210may accordingly enable a user to activate the GUI control by highlighting the GUI control, e.g., by using a directional pad or touch pad of remote control110, and then pressing an “OK” button or other button on remote control110. Application210may then perform some action based on the user interaction with the button.

Transformed web-based content provider306may be configured to store transformed copy of web-based content136generated by web-based content transformer304to data storage system134that is accessible to web-based content presentation application210installed on media device106. Data storage system134may further be accessible to additional instances of web-based content presentation application210respectively installed on additional media devices (e.g., smart TV devices), wherein each instance of web-based content presentation application210is configured to obtain transformed copy of web-based content136from data storage system134and present it to a corresponding display.

FIG.4illustrates a block diagram of an example implementation of web-based content presentation application210, according to some embodiments. As previously described, web-based content presentation210may be installed and executed on media device106, as well as on any number of additional media devices. As shown inFIG.4, web-based content presentation application210may comprise a transformed web-based content obtainer402and a transformed web-based content presenter404. Each of these components may be implemented by processing logic that can comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. Each of these components will now be described.

Transformed web-based content obtainer402may be configured to obtain transformed copy of web-based content136from data storage system134. In a scenario in which web-based content transformer304transforms the copy of the web-based content into multiple different formats each of which is associated with a different display type, transformed web-based content obtainer402may selectively obtain the transformed copy of the web-based content having a format that best suits the display (e.g., display device108) to which the web-based content will be presented. For example, transformed web-based content obtainer402may obtain a transformed copy of the web-based content having a format that is associated with a display type of display device108.

In certain implementations, after obtaining transformed copy of web-based content136from data storage system134, transformed web-based content obtainer402may store transformed copy of web-based content136to a cache within media device106. Thereafter, when application210is required to access transformed copy of web-based content136, it may access it from the cache, thus avoiding having to obtain transformed copy of web-based content136from the remote data storage system134. In further accordance with such an implementation, application210may purge transformed copy of web-based content136from the cache for a variety of reasons. For example, application210may purge transformed copy of web-based content136from the cache after expiration of a particular time period, to accommodate other cached content, or in response to receiving a notification from web-based content collection and transformation service130or data storage system134that an updated version of transformed copy of web-based content136is available. Once transformed copy of web-based content136is purged from the cache, transformed web-based content obtainer402will again need to obtain transformed copy of web-based content136from data storage system134.

Transformed web-based content presenter404may be configured to present transformed copy of web-based content136to a display (e.g., display device108). In particular, transformed web-based content presenter404may be configured to present images, video content and/or audio content that comprise transformed copy of web-based content136to the display.

For example, in a scenario in which transformed copy of web-based content136comprises multiple images generated through partitioning of a screenshot of a webpage, transformed web-based content presenter404may sequentially present each image of the multiple images to the display. In further accordance with such an implementation, transformed web-based content presenter404may enable a user to fast forward, rewind or pause the sequential presentation of each image of the multiple images. For example, transformed web-based content presenter404may enable user132to use remote control110to fast forward, rewind or pause the sequential presentation of each mage of the multiple images.

Transformed web-based content presenter404may be configured to enable a user to control the presentation of transformed copy of web-based content136to the display using only a remote control device. For example, transformed web-based content presenter404may be configured to enable user132to control the presentation of transformed copy of web-based content to display device108using remote control110.

In scenarios in which the web-based content collected by web-based content collection and transformation service130is updated over time, web-based content collection and transformation service130may be configured to periodically or intermittently access the updated web-based content, create a copy of the updated web-based content, transform the copy of the updated web-based content into a form suitable for presentation to a display by application210, and store the transformed copy of the updated web-based content to data storage system134, where it may be accessed by application210. This beneficially enables application210to present updated versions of the web-based content to display device108. Web-based content collection and transformation service130may perform the foregoing operations in response to determining that the web-based content has been updated. Web-based content collection and transformation service130may determine that the web-based content has been updated, for example, by monitoring the web-based content or by receiving a notification that the web-based content has been updated.

The foregoing system for presenting web-based content by a smart TV device application may include various security features for to ensure that only certain parties are able to access the web-based content. For example, application distribution service128may only allow certain authenticated and/or authorized users or devices to download and install web-based content presentation application210. Furthermore, application210itself may implement user authentication and/or authorization features to restrict which users or devices may execute the features of the application. Still further, data storage system134may store transformed copy of web-based content136in a secure manner. For example, data storage system134may only allow certain instances of application210or smart TV devices to access transformed copy of web-based content136. As another example, data storage system134may store and provide transformed copy of web-based content136in an encrypted state and only trusted version of application210may be provided with a decryption key for decrypting the same.

The foregoing system for presenting web-based content by a smart TV device application may be used in a variety of ways. For example, the foregoing system may be used to display web-based reports and graphs (e.g., reports and graphs generated by a web-based business intelligence platform) that are relevant to employees of an enterprise to any number of large screen TVs distributed across one or more offices, thereby enabling the employees to easily view such web-based content. Likewise, in a retail store or restaurant, the foregoing system may be used to display web-based content (e.g., an online menu) to customers or patrons via a number of large screen TVs distributed throughout a shopping or dining space. Other example uses of the system may include, but are not limited to: a system that automatically browses the web (e.g., news websites) to collect information of interest to one or more users and consolidates that information (e.g., into a digest) on a periodic (e.g., daily or weekly) basis, so that the user(s) may then view the information via their TV(s); or a system that enables users to automatically share their own web-based content (e.g., personal pictures and videos previously uploaded to a social network website) with other users, such as family and friends, so that they can easily view it on their TVs. However, these are merely a few examples and persons skilled in the relevant art(s) will appreciate that the above-described system may be used in a multitude of other ways.

FIG.5is a flow diagram for a method500for collecting web-based content and transforming and storing the same so that it may be presented to a display by an application installed on a smart TV device, according to some embodiments. Method500can be performed by processing logic that can comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. It is to be appreciated that not all steps may be needed to perform the disclosure provided herein. Further, some of the steps may be performed simultaneously, or in a different order than shown inFIG.5, as will be understood by a person of ordinary skill in the art.

Method500shall be described with reference to web-based content collection and transformation service130ofFIGS.1and3, although method500is not limited to that embodiment.

In502, web-based content collector302accesses web-based content via the world wide web (e.g., network118).

In504, web-based content collector302creates a copy of the web-based content.

In506, web-based content transformer304transforms the copy of the web-based content into a form suitable for presentation to a display (e.g., display device108) by an application (e.g., web-based content presentation application210) installed on a smart TV device (e.g., media device106), thereby generating transformed copy of web-based content136.

In508, transformed web-based content provider306stores transformed copy of web-based content136to data storage system134that is accessible to the application (e.g., web-based content presentation application210) installed on the smart TV device (e.g., media device106).

FIG.6is a flow diagram for a method600performed by an application installed on a smart television device for obtaining a transformed copy of web-based content and presenting the same to a display, according to some embodiments. Method600can be performed by processing logic that can comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. It is to be appreciated that not all steps may be needed to perform the disclosure provided herein. Further, some of the steps may be performed simultaneously, or in a different order than shown inFIG.6, as will be understood by a person of ordinary skill in the art.

Method600shall be described with reference to web-based content presentation application210ofFIGS.1and4, although method600is not limited to those embodiments.

Example Computer System

Various embodiments may be implemented, for example, using one or more well-known computer systems, such as computer system700shown inFIG.7. For example, one or more of media device106, remote control110, content server(s)120, system server(s)126, application distribution service128, web-based content collection and transformation service130, or web-based content presentation application210may be implemented using combinations or sub-combinations of computer system700. Also or alternatively, one or more computer systems700may be used, for example, to implement any of the embodiments discussed herein, as well as combinations and sub-combinations thereof.

Computer system700may include one or more processors (also called central processing units, or CPUs), such as a processor704. Processor704may be connected to a communication infrastructure or bus706.

Computer system700may also include user input/output device(s)703, such as monitors, keyboards, pointing devices, etc., which may communicate with communication infrastructure706through user input/output interface(s)702.

Computer system700may also include a main or primary memory708, such as random access memory (RAM). Main memory708may include one or more levels of cache. Main memory708may have stored therein control logic (i.e., computer software) and/or data.

Computer system700may also include one or more secondary storage devices or memory710. Secondary memory710may include, for example, a hard disk drive712and/or a removable storage device or drive714. Removable storage drive714may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive.

Removable storage drive714may interact with a removable storage unit718. Removable storage unit718may include a computer usable or readable storage device having stored thereon computer software (control logic) and/or data. Removable storage unit718may be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/any other computer data storage device. Removable storage drive714may read from and/or write to removable storage unit718.

Secondary memory710may include other means, devices, components, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system700. Such means, devices, components, instrumentalities or other approaches may include, for example, a removable storage unit722and an interface720. Examples of the removable storage unit722and the interface720may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB or other port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.

Computer system700may further include a communication or network interface724. Communication interface724may enable computer system700to communicate and interact with any combination of external devices, external networks, external entities, etc. (individually and collectively referenced by reference number728). For example, communication interface724may allow computer system700to communicate with external or remote devices728over communications path726, which may be wired and/or wireless (or a combination thereof), and which may include any combination of LANs, WANs, the Internet, etc. Control logic and/or data may be transmitted to and from computer system700via communication path726.

In some embodiments, a tangible, non-transitory apparatus or article of manufacture comprising a tangible, non-transitory computer useable or readable medium having control logic (software) stored thereon may also be referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system700, main memory708, secondary memory710, and removable storage units718and722, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system700or processor(s)704), may cause such data processing devices to operate as described herein.

CONCLUSION