An Appendix is being filed as part of this application. The present application incorporates by reference for all purposes the entire contents of the Appendix.
Remote control devices have been in use for many years. Remote control devices are utilized to operate various external electronic devices including but not limited to televisions, stereos, receivers, VCRs, DVD players, CD players, amplifiers, equalizers, tape players, cable units, lighting, window shades and other electronic devices. A conventional remote control is typically comprised of a housing structure, a keypad within the housing structure for entering commands by the user, electronic circuitry within the housing structure connected to the keypad, and a transmitter electrically connected to the electronic circuitry for transmitting a control signal to an electronic device to be operated.
The user depresses one or more buttons upon the keypad when an operation of a specific electronic device is desired. For example, if the user desires to turn the power off to a VCR, the user will depress the power button upon the remote control which transmits a “power off” control signal that is detected by the VCR resulting in the VCR turning off.
Because of the multiple electronic devices currently available within many homes and businesses today, a relatively new type of remote control is utilized to allow for the control of a plurality of electronic devices commonly referred to as a “universal remote control.” Most universal remote controls have “selector buttons” that are associated with the specific electronic device to be controlled by the remote control (e.g. television, VCR; DVD player, etc.). Universal remote control devices allow for the control of a plurality of external electronic devices with a single remote control, thereby eliminating the need to have a plurality of remote controls physically present within a room.
While conventional remote controls work well for many purposes, typical utilization of remote controls is not ideal. For example, many universal remote controls have a large number of buttons, many of which may never be used, since the manufacturers attempt to have physical buttons for many, if not all, possible command of each possible electronic device. Additionally, even when large numbers of buttons are included in the remote, the programming and compatibility of the remote with new devices are often limited. The result is often a device that is cumbersome and not intuitive. Also, electronic components within these devices can be relatively complex and expensive to manufacture, resulting in an increased cost to the consumer.
While these devices may be suitable for the particular purpose to which they are addressed, from the perspectives of cost, ease of use, and expandability, they are not optimal. Accordingly, there exist ongoing needs to provide remote control systems that can be applied to multiple devices in a more intuitive and expandable manner.
The following presents a simplified summary of some embodiments of the invention in order to provide a basic understanding of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some embodiments of the invention in a simplified form as a prelude to the more detailed description that is presented later.
Techniques, including systems and methods, of the present disclosure enable the use of a device to control multiple devices that participate in the presentation of content. In one embodiment, a remote control system allows a user to control multiple devices using local equipment. In some embodiments, the remote control system enhances usability by obtaining information from external sources, such as remote servers accessible over a public communications network.
Additional features, advantages, and embodiments of the invention may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary of the invention and the following detailed description are exemplary and intended to provide further explanation without limiting the scope of the invention claimed. The detailed description and the specific examples, however, indicate only preferred embodiments of the invention. Various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
In accordance with various embodiments of the present disclosure, a remote control system is disclosed. The remote control system may include one or more processors and memory including instructions executable by the one or more processors to cause the remote control system synchronize graphical user interfaces of one or more handheld devices. In an embodiment, the remote control system receives, from a first handheld device, one or more signals corresponding to a state of a set of one or more controllable appliances and causes transmission of, to a second handheld device having a remote control graphical user interface, one or more signals that collectively enable the second handheld device to update the remote control graphical user interface to correspond to the state. The first handheld device may be, for example, a remote control device, such as a remote control device dedicated to a particular controllable appliance and/or a universal remote control device. The first handheld device may have a remote control graphical user interface and the one or more signals corresponding to the state of the set of one or more controllable appliances may be generated responsive to user input to the graphical user interface. The memory may include instructions that, when executed by the one or more processors, cause the remote control system to further: receive, from the second handheld device, one or more other signals corresponding another state of the set of one or more controllable appliances; and cause transmission, to the first handheld device, of one or more other signals that collectively enable the first handheld device to update the remote control graphical user interface of the first handheld device to correspond to the other state.
In an embodiment, at least one of the first handheld device or second handheld device is connected to the remote control system by a local communication network. Transmission of the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface may then occur over the local communication network. Causing transmission of the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface may be performed in various ways, such as by causing another device to transmit the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface. In an embodiment, the memory includes instructions that, when executed by the one or more processors, cause the remote control system to further upon receipt of the one or more signals corresponding to the state of the set of one or more controllable appliances, determine, based at least in part on the state, whether to cause transmission of the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface. As a result of determining to cause transmission of the one or more signals, the remote control system may cause transmission of the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface.
In various embodiments, the first handheld device and the second handheld device are different types of devices. For example, the first handheld device may be a remote controller while the second handheld device may be a mobile communication device (e.g., smartphone or tablet computer). In some instances, the one or more signals corresponding to the state of the set of one or more controllable appliances are in accordance with a first communication protocol; and the one or more signals that collectively enable the second handheld device to update the remote control graphical user interface are in accordance with a second communication protocol that is different from the first communication protocol. In this manner, the remote control system acts as a bridge between different protocols. In some embodiments, prior to receipt of the one or more signals corresponding to the state of the set of one or more controllable appliances, the set of one or more controllable appliances is in a first state corresponding to consumption of media in a first mode and the state corresponding to the one or more signals corresponds to consumption of media in a second mode different from the first mode. Further, the memory may include instructions that, when executed by the one or more processors, cause the remote control system to further transmit one or more command signals to at least a subset of the set of one or more controllable appliances to put the set of one or more controllable appliances in the state.
In accordance with various embodiments, a computer-implemented method of updating graphical user interface state among a set of handheld devices is described. The method may be performed, for example, by a remote control system such as described above or another device. In an embodiment, the method includes: receiving, from a first handheld device of the set of handheld devices, one or more signals for causing a state of a set of one or more controllable appliances to change to a new state; and taking one or more actions that cause one or more other handheld devices to synchronize corresponding remote control graphical user interfaces according to the new state. The first handheld device may be, for instance, a remote controller. In some embodiments, the first handheld device has a first remote control graphical user interface; and the method further comprises taking one or more other actions that cause the first remote control graphical user interface to update as a result of a second handheld device of the set of one or more handheld devices causing another change in state of the set of one or more controllable appliances. Also, at least one second handheld device of the one or more other handheld devices may be connected to the remote control system by a local communication network; and the one or more actions include transmission of a signal over the local communication network to the second handheld device. In an embodiment, taking one or more actions that cause the one or more other handheld devices to synchronize corresponding remote control graphical user interfaces is performed as a result of a determination to take the one or more actions.
Other variations considered as being within the scope of the present disclosure include the one or more signals being according to a first communication protocol and the one or more actions including causing transmission of a signal of a second communication protocol different from the first communication protocol. Changing to a new state may include causing at least one controllable appliances of the set of controllable appliances to change a mode of consuming media content. The method may also further comprise transmitting one or more signals to at least a subset of the set of one or more controllable appliances to cause the set of one or more controllable appliances to be in the new state. In other embodiments, this may be performed by another device different from a device (or collection of devices) that performs the method.
Various embodiments of the present disclosure are also directed to computer-readable storage media, which may be non-transitory. In an embodiment, a non-transitory computer-readable storage medium has stored thereon instructions that, when executed by one or more processors of a handheld device, cause the handheld device to update a remote control graphical user interface. The handheld device may, for instance, receive, from a first device, at least one signal corresponding to a change of state of a set of one or more controllable appliances to a new state, the change of state initiated by another handheld device; and update the remote control graphical user interface of the handheld device to enable the graphical user interface to be usable to control at least a subset of the set of one or more controllable appliances according to the new state. The instructions may further include instructions that when executed by the one or more processors, further cause the handheld device to: accept, by the graphical user interface, user input for controlling at least one of the one or more controllable appliances; and take one or more actions that cause the at least one of the one or more controllable appliances to function in accordance with the accepted user input.
As above, numerous variations are considered as being within the scope of the present disclosure. For example, the one or more actions may include transmitting, to the first device, a signal corresponding to the accepted user input. As another example, the instructions may further include instructions that, when executed b the one or more processors, further cause the handheld device to poll the first device to cause the first device to transmit the at least one signal. Receiving the at least one signal may be performed without transmission of the at least one signal from the first device having been initiated by the handheld device. Prior to receipt of the signal, the set of one or more controllable appliances may be in a previous state and, when the set of one or more controllable appliances is in the previous state, the graphical user interface may have a set of one or more selectable remote control functions. Updating the remote control graphical user interface may then include changing the set of one or more selectable remote control functions. Receiving the at least one signal is performed over a local communication network, in various embodiments. Further, receiving the at least one signal may be performed according to a first communication protocol and the state of the set of the one or more controllable appliances may be changeable using at least one other communication protocol different from the first communication protocol.
For a fuller understanding of the nature and advantages of the present invention, reference should be made to the ensuing detailed description and accompanying drawings.
The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the detailed description serve to explain the principles of the invention. No attempt is made to show structural details of the invention in more detail than may be necessary for a fundamental understanding of the invention and various ways in which it may be practiced. In the drawings:
In the following description, various embodiments of the present invention will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiment being described.
It is understood that the invention is not limited to the particular methodology, protocols, etc., described herein, as these may vary as the skilled artisan will recognize. It is also to be understood that the terminology used herein is used for the purpose of describing particular embodiments only, and is not intended to limit the scope of the invention. It also is to be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include the plural reference unless the context clearly dictates otherwise. Thus, for example, a reference to “a flap” is a reference to one or more flaps and equivalents thereof known to those skilled in the art.
Unless defined otherwise, all technical terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the invention pertains. The embodiments of the invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments and examples that are described and/or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale, and features of one embodiment may be employed with other embodiments as the skilled artisan would recognize, even if not explicitly stated herein. Descriptions of well-known components and processing techniques may be omitted so as to not unnecessarily obscure the embodiments of the invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the embodiments of the invention. Accordingly, the examples and embodiments herein should not be construed as limiting the scope of the invention, which is defined solely by the appended claims and applicable law. Moreover, it is noted that like reference numerals reference similar parts throughout the several views of the drawings.
When a user utilizes an environment, such as the environment 100, one or more devices may utilize the content appliance 102 in some manner. To accomplish this, the various devices shown in
As another example of how the content appliance 102 is able to communicate utilizing various protocols, the content appliance 102 includes various ports which may be used to connect with various devices, For example, in an embodiment, the content appliance 102 includes an HDMI OUT port 120 which may be used to provide content through an HDMI cable to another device. For example, as illustrated in
An ethernet port 124 may be provided with the content appliance 102 to enable the content appliance 102 to communicate utilizing an appropriate networking protocol, such as illustrated in
In an embodiment, the content appliance 102 includes one or more universal serial bus (USB) ports 126. The USB ports 126 may be utilized to communicate with various accessories that are configured to communicate utilizing a USB cable. For example, as shown in
Other ports on the content appliance 102 may include RCA ports 130 in order to provide content to devices that are configured to communicate using such ports and an HDMI end port 132 which may be used to accept content from another device, such as from the set top box 114. Generally, the content appliance 102 may have additional ports to those discussed above and, in some embodiments, may include fewer ports than illustrated.
Various devices in communication with the content appliance 102 may be used to control the content appliance and other devices in the environment 100. For example, the remote e control 116 may communicate with the content appliance 102 utilizing radio frequency (RF) communication. As described in more detail below, the remote control 116 may include a touch screen that may be used in accordance with the various embodiments described herein.
A keyboard 118 may also communicate with the content appliance 102 utilizing RF or another method (and possibly one or more other devices, either directly, or through the content appliance 102). The keyboard may be used for various actions, such as navigation on a interface displayed on the television 104, user input by a user typing utilizing the keyboard 118, and general remote control functions. For example, an interface displayed on the television 104 may include options for text entry. The user may type text utilizing keyboard 118. Keystrokes that the user makes on the keyboard 118 may be communicated to the content appliance 102, which in turn generates an appropriate signal to send over an HDMI cable connecting the OUT port 120 to the AV receiver 110. The AV receiver 110 may communicate with the television 104 over HDMI or another suitable connection to enable the television to display text or other content that corresponds to the user input. The keyboard 118 may also include other features as well. For example, the keyboard 118 may include a touchpad, such as described below or generally a touchpad that may allow for user navigation of an interface displayed on a display device. The touchpad may have proximity sensing capabilities to enable use of the keyboard in various embodiments of the present disclosure.
In an embodiment, the mobile device 108 is also able to control the content appliance 102 (and possibly other devices, either directly, or through the content appliance 102). The mobile device may include a remote control application that provides an interface for controlling the content appliance 102. In this particular example from
An application executing on the mobile device 108 may provide a graphical user interface that allows users to use the mobile device 108 as a remote control and generate such codes accordingly. The mobile device 108 (and other devices), as illustrated, may be configured to receive information from the content appliance 102 and reconfigure itself according to the information received. The mobile device 108 may, for example, update a display and/or update any applications executing on the mobile device 108 according to information received by the content appliance 102. It should be noted that, while the present disclosure discusses a mobile device illustrated as a mobile phone, the mobile device may be a different device with at least some similar capabilities. For example, the mobile device may be a portable music player or tablet computing device with a touch screen. Example mobile devices include, but are not limited to, various generations of iPhones, iPods, and IPads available from Apple Inc., mobile phones, tablets, and other devices having Android, Windows Phone, Blackberry, or other operating systems, and the like. The mobile device may be a device with a display and hard buttons (such as physically displaceable buttons) whose functionality may change depending on context and whose currently functionality is displayed on the display. Of course, such devices (and other devices) may be included additionally in a mobile device in the environment illustrated in
In an embodiment, the content appliance 102 is also configured to utilize various services provided over a public communications network, such as the Internet 128. As an example, the content appliance 102 may communicate with a router 134 of a home network. The content appliance 102 and the router 134 may communicate utilizing a wired or wireless connection. The router 134 may be directly or indirectly connected to the Internet 128 in order to access various third-party services. For example, in an embodiment, a code service 136 is provided. The code service in an embodiment provides codes to the content appliance 102 to control various devices to enable the content appliance to translate codes received from another device (such as the remote control 116, the keyboard 118, and/or the mobile device 108). The various devices to control may be identified to the content appliance 102 by user input or through automated means. The content appliance 102 may submit a request through the router 134 to the code service 136 for appropriate codes. The codes may be, for example, IR codes that are used to control the various devices that utilize IR for communication. Thus, for example, if a user presses a button on the remote control 116, keyboard 118, or an interface element of the mobile device 108, a signal corresponding to the selection by the user may be communicated to the content appliance 102. The content appliance 102 may then generate a code based at least in part on information received from the code service 136. As an illustrative example, if the user presses a play button of the remote control 116, a signal corresponding to selection of the play button may be sent to the content appliance 102 which may generate a play IR code, which is then transmitted to the television 104 or to another suitable appliance, such as generally any appliance that is able to play content. As discussed, the signal (or signals) received by the content appliance 102 may be a signal that encodes a specific play command for one or more specific devices, or may be a signal that encodes a generic play command.
Other services that may be accessed by the content appliance 102 over the Internet 128 include various content services 138. The content services may be, for example, any information resource, such as websites, video-streaming services, audio-streaming services and generally any services that provide content over the Internet 128. A content service may also provide programming information for a remote control application interface of a handheld device or other device). An example content service is available from Rovi Corporation, which provides current programming information that may be used to implement various embodiments of the present disclosure.
It should be noted that the environment illustrated in
The router 204 may allow various devices to communicate among themselves as well as with external devices, that is devices outside of the home network, but accessible over another network, such as the Internet 206. The handheld device 202, for example, may communicate with the router 204 to communicate with external devices (such as web or other servers) over the Internet 206. A personal computer 208, for example, may similarly communicate with external devices through the router 204.
In an embodiment, the environment shown in
Communications from the handheld device 202 to the bridge device 210 may correspond to commands selected by a user on an interface provided on the handheld device 202. As an illustrative example, if a user selects a “volume up” command from the interface, a signal corresponding to the command may be sent to the bridge device 210. The “volume up” command may be a general “volume up” command or may be specific to a particular device (e.g. television or audio-video receiver) and the communication from the handheld device. In any event, upon receipt of a communication from the handheld device 202, the bridge device 210 may then send a corresponding command to one or more consumer devices 212. For instance, continuing the “volume up” example, the bridge device 210 may transmit an infrared signal to a television that, when detected by the television, causes the television to increase its volume. It should also be noted that commands may also be more complex and the bridge device 210 may transmit multiple signals, perhaps to multiple devices. For instance, as illustrated in various examples disclosed herein, a user may select an activity on an interface of the handheld device. For example, a user may select a “watch a DVD” activity. A corresponding signal may be sent from the handheld device 202 to the bridge device 210 accordingly. The bridge device 210 may then send multiple signals that put a set of devices in a proper state for watching a DVD. The bridge device 210 may, for example, send a signal that causes a DVD player to be in a powered on state, a signal that causes a television to be in a powered on state, a signal that changes the state of the television to accept input from the DVD player, and possibly other signals required for a user's particular configuration of one or more devices that participate in providing MD content. Alternatively, the handheld device 202 may send a signal for each action that needs to happen to watch a DVD and the bridge device 210 may send corresponding signals as they are received. It is contemplated that, in some embodiments, the selection of some activities may require the bridge device to communicate, directly or using one or more of the connected devices (e.g., by way of a network router), to complete or effect the selected activity, for example when selecting activities that are driven by content. For example, a user may select a “watch ‘XYZ’ movie” activity. Upon transmission of a corresponding signal from the handheld device to the bridge device, the bridge device may, among other actions, query one or more network locations to begin downloading or streaming the selected movie, for example, by requesting the streaming of the movie over the Internet. If an activity is ambiguous, e.g., if the same movie is available from a plurality of sources, the user may be given a choice so as to effect the appropriate sequence of actions taken by the bridge device. In some embodiments, the handheld device itself serves as an endpoint of the execution of the selected activity, e.g., when selecting “watch ‘XYZ’ movie on this smartphone” on a smartphone. Additionally, in accordance with the selection of an activity, certain user interface components may be updated, as discussed below in connection with
To enable the bridge device to send signals corresponding to signals from the handheld device, various techniques may be used. For example, in an embodiment, the bridge device 210 maintains a table that associates codes received by the handheld device 202 with corresponding codes for transmission to other devices 212. Many devices operate according to different codes. For example, the code that causes a volume increase in one television may be different than a code that causes a volume increase in another television. Accordingly, in an embodiment, the bridge device 210 is configured to, upon receipt of a signal from the handheld device 202, transmit a correct signal for a user's particular setup of devices.
In an embodiment, a code service 214, such as the code service discussed above in connection with
By configuring the bridge device 210 to receive communications from the handheld device 202 (and/or other devices) directly through a local network instead of over a public communications network (such as the Internet) is advantageous as communications are able to reach the bridge device 210 with minimal latency, thereby providing an optimal user experience. For example, the handheld device 202 may be able to communicate with the bridge device using Wi-Fi or other technologies (such as those described above) without having to establish a connection with a remote server, waiting for a response from a remote server, and/or otherwise being subject to latencies and unpredictability of a public communications network. At the same time, advantages of a central code database accessible through a remote code service in various embodiments allow for maximum functionality including an efficient system for obtaining codes for devices out of numerous possible devices and efficient updates when, for example, new devices are purchased and/or when new devices are used that did not exist at the time of a previous configuration of the bridge device 210.
Some embodiments may, however, may dynamically access remote information sources, such as a code service. For instance, in an alternate embodiment, the code service 214 may be configured such that the bridge device is able to obtain necessary information on demand. For example, upon receipt of a signal specifying a command from the handheld device 202, the bridge device may submit a request (such as a web service request) to the code service 214 which may respond with information encoding a code for the bridge device to transmit to one or more of the consumer devices 212. The request to the code service 214 may encode information corresponding to the code received by the bridge device 210 and may include an identifier to enable the code service 214 to lookup the identifier to provide a code appropriate for a particular device setup of the user.
Other configurations are also considered as being within the scope of the present disclosure. For example, the bridge device 210 may maintain a large table that associates codes receivable from the handheld device 210 with appropriate codes for multiple devices, including devices not part of a user's configuration. The signals transmitted by the handheld device may correspond to specific devices in the user's configuration. For example, the handheld device may send a signal for a “channel up” command for a television that would be different for other televisions, such as televisions of another manufacturer.
In addition, as discussed, computing logic for controlling devices may be distributed among various devices participating in an environment, such as the environment illustrated in
Various embodiments of the present disclosure may allow for multiple handheld devices to be used to control consumer devices.
As shown in the accompanying illustrative example of a remote control user interface, the interface of the application may change state as the user navigates throughout the various screens of the application (many illustrative examples of which are included herein). For example, if a user selects an option of the interface for watching television, the interface may change to a state where options more relevant to watching television are shown. When multiple handheld devices are used, complexities are introduced. For example, if one multiple handheld device's remote control application changes to a particular state, the application of another handheld device's remote control application may remain in a state is less relevant to a current situation.
In an embodiment, the process 300 includes receiving 302 a code from a handheld device. The code may have been encoded by one or more signals transmitted by the handheld device, such as described above. Once the code is received 302, in an embodiment, one or more corresponding codes are transmitted to one or more consumer devices, such as in a manner described above. A determination may be made 306 whether there are additional handheld devices. The determination may be made in various ways. For example, a device participating in performance of the method 300 may keep track of network connections between the device and handheld devices. If there are more than one open network connections, the determination may be that there are additional handheld devices. As another example, the device participating in performance of the method 300 may keep track of IP addresses of handheld devices that have communicated with the device over a period of time (such as an hour, day, week, month, or other time period). If communications have originated from multiple IP addresses during the time period, the determination may be that there are other devices. Generally, any suitable method of making the determination may be utilized.
If it is determined that there are other handheld devices then, in an embodiment, a user interface (UI) update code is transmitted to the other devices. The UI update code, in an embodiment, is a code that, when received by an application of a handheld device, causes the UI of the handheld device to update accordingly, either immediately or at an appropriate time (such as when the handheld device exits an inactive state). The UI update code may be of any appropriate type, and in some embodiments may differ, e.g. in the programming language or protocol used, from that of the UI of the handheld device. For example, the UI update code may include at least HTML, XML, Javascript, AJAX, Java, C#, C++, Objective C, C, Visual Basic, ASP/ASPX, Java Server Pages (JSP), Java Server Faces (JSF), Ruby on Rails, Perl, PHP, and/or Common Gateway Interface (CGI) code. Transmitting the code may be performed in any suitable manner. For example, if an IP network is utilized, the code may be transmitted to appropriate IP addresses, such as all IP addresses that have communicated with the device participating in performance of the method 300, or all IP addresses that have communicated with the device participating in performance of the method 300 except the IP address from which the received 302 code originated. As another example, the UI update code may be broadcast using a transmission method that handheld devices are able to use. For example, the UI code may be broadcast using radio frequency (RF) methods if the handheld devices are configured to receive RF communications. Generally, the UI update code may be transmitted in any suitable manner. As illustrated, the process 300 may continue if another code is received from the handheld device.
As with any process described herein, variations are considered as being within the scope of the present disclosure. For example, a determination whether there are other handheld devices may not be made, but the process 300 may include simply transmitting the UI update code each time a code is received from a handheld device. As another example, transmitting the corresponding code(s) and transmitting the UI update code(s) may be performed in a different order than illustrated or concurrently. Other variations are also considered as being within the scope of the present disclosure.
As illustrated, if it is determined that the UI is in the correct state, the UI state is updated 406 accordingly. If however, it is determined that the UI is not in the correct state, the process 400 may repeat if another UI update code is received 402 from the bridge device.
In some instances, a user may be presented with a UI screen that does not correspond to a proper state. For example, if the processes 300 and/or 400 are performed and one of the processes is not completed successfully, a handheld device may be left with a UI in an improper state. As another example, a handheld device may be out of communication, in an inactive state, a remote control application may not have been launched yet, and/or the handheld device may have otherwise been unable to realize any effect from performance of the process 300. As such, a user may attempt to interact with the remote control application of the handheld device from a screen that is inapplicable to a current activity being performed. As one example, a remote control application of a handheld device may have been used to put a set of consumer devices in a particular state, such as for watching television. A remote control application of another device may be in a state for watching a DVD, which may include controls for controlling a DVD player. As controls of a DVD player may not be relevant to watching television, the UI screen of the remote control application of the other device may not be relevant to the current activity (watching television). One way of putting the UI screen in the correct state is for the user to navigate to the correct screen. Navigation, however, may require the user to perform multiple steps, which may be time consuming, depending on the configuration of the UI.
In an embodiment, if it is determined 504 that the code does not correspond to a current state, a UI update signal is transmitted 506 to the handheld device that sent the code (and possibly one or more other handheld devices). The UI update signal may indicate to the handheld device to update its UI, such as in a manner described above. If it is determined that the received code does correspond to a current state, one or more corresponding code(s) may be transmitted 508 to one or more appropriate devices, such as in a manner described above.
Various features of the illustrated interface are provided in a manner that enhances the user experience. For example,
Other user interface elements may also be provided based at least in part on recorded user behavior. For example, a user may select to have displayed favorite shows, shows in general, movies, sports, or news. These choices may be ordered based at least in part on recorded user behavior such that choices that a user is most likely to select are provided first, Upon selection of a category of content, specific examples of the content of the category may be presented. For example, if the user selects “favorite shows,” shows that the user has indicated has his favorites (either explicitly or implicitly through behavior) and that are available for viewing may be presented.
As noted above, users have the ability to select various activities and selection of an activity will cause the handheld device to transmit one or more signals that cause one or more appropriate devices to be in a correct state for participating in the activity. For example, as illustrated in
As shown in
As shown in
In addition, the commands shown may be for multiple devices, The shown devices may be those devices participating in a current activity. Other devices not currently participating may also be shown, but less prominently, For example, commands for devices currently not participating in a current activity may be found by scrolling down a list of commands to a portion of the list of commands that is not currently shown in the interface screen.
The description given above and elsewhere in this present disclosure is merely illustrative and is not meant to be an exhaustive list of all possible embodiments, applications or modifications of the invention. Thus, various modifications and variations of the described methods and systems of the invention will be apparent to those skilled in the art without departing from the scope and spirit of the invention. Although the invention has been described in connection with specific embodiments, it should be understood that the invention as claimed should not be unduly limited to such specific embodiments.
As discussed above in, aspects of the present disclosure may be performed in various ways, some of which are described above. Some ways of practicing various aspects of the present disclosure are described in, but not limited to, techniques described in U.S. application Ser. No. 17/993,248 (noted above and incorporated herein by reference) describes various ways of receiving information in one format and re-transmitting corresponding information in another format. The techniques in U.S. application Ser. No. 12/993,248, and variations and adaptations thereof, may be used, for example, to enable use of a handheld device to control one or more consumer devices by causing the handheld device to transmit information to a bridge device, as described above. Some ways of maintaining state information may are described in U.S. application Ser. No. 09/804,718 (noted above and incorporated herein by reference). The techniques of U.S. application Ser. No. 09/804,718, and variations and adaptations thereof, may be used in various embodiments to maintain information regarding the state of one or more devices, such as the state of a UI on one or more handheld devices and the state of one or more consumer devices being controlled using one or more handheld devices.
Other variations are within the spirit of the present invention. Thus, while the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific form or forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention, as defined in the appended claims.
The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. The term “connected” is to be construed as partly or wholly contained within, attached to, or joined together, even if there is something intervening. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate embodiments of the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to -the practice of the invention.
Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
This application claims the benefit of U.S. Provisional Application No. 61/509,082, entitled “Remote Control User Interface for Handheld Device,” filed Jul. 18, 2011 (Attorney Docket No. 89572-814438 (091010US)), which is incorporated herein by reference. This application also incorporates, for all purposes, the entire disclosure of U.S. application Ser. No. 09/804,718 (now U.S. Pat. No. 6,784,805), entitled “State-Based Remote Control System” filed on Mar. 12, 2001 and pending U.S. application Ser. No. 12/993,248 entitled “Apparatus and Method of Operation for a Remote Control System” filed on Nov. 17, 2010.
Number | Date | Country | |
---|---|---|---|
61509082 | Jul 2011 | US |