The present disclosure relates to electronic devices and applications, and more particularly to display and content presentation devices.
Recent television devices are designed and developed to provide application and network services in addition to traditional television functions for display of broadcasted content. With the addition of functionalities and components on television devices, there exists a need for communication and exchange of data relative to the applications and television components. In particular, there exists a need for programs and configurations that allow for features of the applications to be presented on a digital television. While execution of an application and application interfaces exist for digital televisions, there exists a need for communication between television components and the applications to allow for application features to be presented with or in addition to television features. Accordingly, there exists a need for processes and configurations to improve digital television operation.
Disclosed and claimed herein are methods, devices and systems for presentation of notifications by a digital television. One embodiment is directed to a method including running, by a digital television, a notifications service, wherein the notification service provides an architecture for exchange and encapsulation of notification objects with respect to applications and components of the digital television, querying by a notifications controller of the notifications service one or more notification clients, and receiving, by the notification controller, a notification object from the notifications client, wherein the notification object includes data for implementation of the notification and content of the notification object. The method also includes outputting, by the notification controller, a population command for the notification object, and presenting, by the digital television, the notification object based on the data for implementation and the content of the notification object.
In one embodiment, the notification service is a program run as a background process by the digital television interacting with applications executed by the digital television and digital television system components.
In one embodiment, notification clients include applications executed by the digital television and digital television system components.
In one embodiment, the one or more notification clients include a cloud service configured to push notifications to the digital television by way of a communications network.
In one embodiment, the notification object includes a display message for one or more of a message notification, content alert, system update, system requirement, menu element presentation and display element in general of the digital television.
In one embodiment, the population command is generated by the notifications controller to include the notification object in a current display of the digital television.
In one embodiment, presentation of the notification object includes display of a toast element by the digital television.
In one embodiment, presentation of the notification object includes display of a menu element within a menu presented by the digital television.
In one embodiment, the method also includes receiving one or more values associated with the presentation configuration of the digital television by the notification controller and outputting the population command based on the one or more values associated with the presentation configuration of the digital television.
In one embodiment, the method also includes receiving ticks from a timer service of the digital television for timed presentation of the notification.
In one embodiment, the method also includes obtaining one or more notification objects from a notification database based on ticks received from the timer service and values associated with the presentation configuration of the digital television.
Another embodiment is directed to a digital television including a display and a controller coupled to the display. The controller configured to run a notifications service, wherein the notification service provides an architecture for exchange and encapsulation of notification objects with respect to applications and components of the digital television, control querying by a notifications controller of the notifications service one or more notification clients, and control receiving, by the notification controller, a notification object from the notifications client, wherein the notification object includes data for implementation of the notification and content of the notification object. The controller also configured to control outputting, by the notification controller, a population command for the notification object, and control presenting, by the digital television, the notification object based on the data for implementation and the content of the notification object.
Another embodiment is directed to method for presentation of notifications by a digital television. The method includes running, by a digital television, a notifications service, wherein the notification service provides an architecture for exchange and encapsulation of notification objects with respect to applications and components of the digital television, and receiving, by the notification controller, a notification object from a notifications client, wherein the notification object includes data for implementation of the notification and content of the notification object. The method also includes presenting, by the digital television, the notification object based on the data for implementation and the content of the notification object and detecting, by the digital television, selection of the notification object. The method also includes transmitting, by the digital television, an indication of the selection of the notification to a cloud server.
Other aspects, features, and techniques will be apparent to one skilled in the relevant art in view of the following detailed description of the embodiments.
The features, objects, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
One aspect of the disclosure relates to providing a system and framework for exchange and presentation of notifications with a digital television. In particular, digital televisions that are configured to run television system components and execute applications. In one embodiment, notification service is provided. The notification service can provide an architecture and system for presentation of notifications by a digital television. With advancements in digital television technology and the addition of applications and features into digital television sets, the notification service provides configurations to exchange of notifications within the digital television and presentation of notifications, or notification objects. According to another embodiment, the notifications may be presented as part of graphical elements of the digital television, such as menus, launcher bars, etc. In that fashion, the notification service allows for notifications to be integrated with digital television operating configurations and allows for applications and application content to be provided with particular device control interfaces.
As used herein, the terms “a” or “an” shall mean one or more than one. The term “plurality” shall mean two or more than two. The term “another” is defined as a second or more. The terms “including” and/or “having” are open ended (e.g., comprising). The term “or” as used herein is to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner on one or more embodiments without limitation.
Referring now to the figures,
In
According to one embodiment, presentation of notification 110 may be based on and controlled by operations of a notifications service. According to another embodiment, presentation of notifications by digital television 100, such as notification 110, may be based on notification architecture.
Referring now to
According to one embodiment, presentation of notification 165, notification 170 and notification 175 may be based on and controlled by operations of a notifications service run by digital television 100. According to another embodiment, presentation of notifications by digital television 100 may be based on a notification architecture described herein.
As will be discussed in more detail below, a notifications service and notification architecture can provide content to applications and can allow for data encapsulation to allow for notification sharing among applications of the digital television.
Process 200 may be initiated by running a notification service at block 205. In one embodiment, the notification service provides an architecture for exchange and encapsulation of notification objects with respect to applications and components of the digital television. According to another embodiment, the notification service is a program run as a background process by the digital television interacting with applications executed by the digital television and digital television system components. In one embodiment, the notification service is run at startup of the digital television and runs until the digital television is powered down.
At block 210, a notifications controller of the notifications service queries one or more notification clients. As will be discussed in more detail with
At block 215, the notification controller receives a notification object from a notifications client. In one embodiment, a notification client includes applications executed by the digital television and digital television system components. The notification object includes data for implementation of the notification and content of the notification object. In one embodiment, the notification object includes a display message for one or more of a message notification, content alert, system update, system requirement, menu element presentation and display element in general of the digital television.
At block 220, the notification controller outputs a population command for the notification object. In one embodiment, the population command is generated by the notifications controller to include the notification object in a current display of the digital television. In one embodiment, process 200 also includes receiving one or more values associated with the presentation configuration of the digital television by the notification controller and outputting the population command based on the one or more values associated with the presentation configuration of the digital television.
At block 225, the digital television presents the notification object based on the data for implementation and the content of the notification object. In one embodiment, presentation of the notification object includes display of a toast element by the digital television. According to another embodiment, presentation of the notification object includes display of a menu element within a menu presented by the digital television.
According to another embodiment, presentation of the notification may be based on a particular presentation format of the digital television or based on time of operation. In one embodiment, process 200 includes receiving ticks from a timer service of the digital television for timed presentation of the notification. According to another embodiment, process 200 includes obtaining one or more notification objects from a notification database based on ticks received from the timer service and values associated with the presentation configuration of the digital television.
According to one embodiment, a notification service 300 includes a notification controller 305. Notification controller 305 receives ticks from timer service 310 to process and enable time notifications. Notification controller 305 received notifications published from notification clients 3201-n and can request notifications from 3201-n. According to one embodiment, notification clients 3201-n represent applications executed by a digital television and components of the digital television (e.g., digital television hardware which may generated system commands, graphical elements, etc.). By handling application and digital television elements as notification clients 3201-n, notification controller 305 can allow for exchange and presentation of notifications based on a time, configuration format of the display, availability of content from application, etc.
According to one embodiment, notification controller 305 and notification service 300 operate based on a coordinated set of constraints applied to the notifications. In one embodiment, notifications are formatted based on or similar to a REST (Representation State Transfer) software style. According to another embodiment, notifications may be transmitted and communicated based on a network websocket architecture and/or bi-directional web communication and connection management.
Notification database 315 allows for notifications received from notification clients 3201-n to be stored and presented at a future or later time. By way of example, notification client 3201 may publish a notification object to alert content availability, such as a new title available for presentation in a menu bar. If the menu bar is not presented, the notification service may store the notification object in notification database 315. Moreover, the notification controller 305 may delay presentation of the notification until one or more of the menu bar is presented, a particular menu bar tab is selected, an application is launched, and/or a time value matches a presentation capability of the content. In one embodiment, notifications may be presented associated with a time period (e.g., calendar, time of day, etc.) such that notifications may not be relevant after expiration of the time period. Thus, notification controller 305 receives ticks from timer service 310 of the digital television for timed presentation of the notification and/or to prevent notification when a time period for a particular notification object has expired.
Inputs 410 relate to physical inputs for receiving video/image content and/or network data for presentation of content on display 415. Digital TV module 420 includes decoder/converter elements to receive information and content from inputs 410 which is then formatted and output to processor 405 for presentation on display 415. Memory 425 may include ROM and RAM memory for operation of digital television 400 and processor 405.
Based on response 740, notifications client 715 provides notification 745 to notification controller 710 which determined whether to output the notification object. Notification controller 710 outputs population command 750 to launcher 705.
In
According to one embodiment, digital television 905 may be configured to present notifications pushed to the device from a cloud service, such as server 915. In one embodiment, cloud notifications are formatted to allow for one or more cloud servers to push notifications to digital televisions. According to another embodiment, system 900 allows for devices to submit analytical data to the cloud.
According to one embodiment, user interface 925 includes presentation of a menu bar including one or more tab elements, such as tab element 930. According to one embodiment, a digital television may track selections of the user interface 925 and transmit messages to a server, such as a cloud server, to store analytics for usage with respect to menu bar elements.
Process 1000 can allow for submitting analytical information to a network server (e..g, cloud server, etc.). At block 1005, selection of menu bar/notification (e.g., tab element 930, etc.) may be detected by a digital television according to one or more embodiments. In one embodiment, this selection may be in response to content presented on a digital television. Selections of the user interface may be based on content received by the digital television, such as a notification object from a notifications client, wherein the notification object includes data for implementation of the notification and content of the notification object. According to another embodiment, indications of interface selections may be in response to one or more notification objects based on the data for implementation and the content of the notification object. At block 1010, an indication of the selection of the menu bar/notification may be transmitted by the digital television to a cloud server. The indication of the selection of the notification may be transmitted with the format of a notification object to the cloud server Blocks 1005 and 1010 represent operations by a digital television. Blocks 1015, 1020 and 1025 of
The notification transmitted at block 1010 is received at block 1015 by the cloud server and the indication of the notification selection is stored at block 1020.
Notification analytics may be generated at block 1025 based on interaction with the digital television including selection of notifications.
While this disclosure has been particularly shown and described with references to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the claimed embodiments.