US20120204115A1 - Configuration of user interfaces - Google Patents
Configuration of user interfaces Download PDFInfo
- Publication number
- US20120204115A1 US20120204115A1 US13/447,591 US201213447591A US2012204115A1 US 20120204115 A1 US20120204115 A1 US 20120204115A1 US 201213447591 A US201213447591 A US 201213447591A US 2012204115 A1 US2012204115 A1 US 2012204115A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- client
- user interface
- computer
- client device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
Definitions
- the present invention generally relates to the field of user interfaces and in particular to configuration of user interfaces.
- a user of a set-top box may view traditional television programming obtained from a broadcast network for display on a television, as well as pay-per-view movies, video-on-demand (VOD), interactive video games, and so on.
- a user of a wireless phone may place and receive traditional telephone calls, as well as read email, schedule appointments, play digital music, and so on.
- the capabilities provided by clients have also continued to increase to address the ever increasing varieties of content. For example, a user may be able to receive email on a computer as well as a set-top box, a personal digital assistant, and a wireless phone. Even though the capabilities of clients and networks that communicatively couple the clients have improved, a variety of applications are still not implemented due to failure of applications to address the capabilities and limitations of the clients and the networks. In other words, an application that may be configured for use on a particular type of client, such as a client having a particular combination of hardware and/or software capabilities, may have limited utility on another type of client that does not have the particular combination.
- Data-entry intensive applications when implemented in a traditional television environment may be limited due to limitations of input devices available to the user and because of limited resolution of traditional televisions.
- a traditional remote control may have buttons to directly enter television channels, offer four-way navigation, and manipulate power and volume. Functions such as text entry and searching through a large list of options, which may be readily performed when using a keyboard, may become onerous when using the traditional remote control.
- limited resolution that is available on a standard definition television may limit the effective resolution of data that may be displayed to the user at any one particular time.
- limitations in the display of readable text on a traditional National Television Systems Committee (NTSC) television may limit the amount of text that may be displayed on the television at any one time.
- the distance at which the display is to be viewed may limit the effective resolution of the display. For instance, to display an electronic program guide on a standard definition television such that the display may be viewed when the user is positioned at a typical distance from the television, the text of the electronic program guide may be enlarged such that it is readable from the desired distance. Therefore, even if the user is provided with a keyboard, the television experience may not be unable to provide the functionality that is provided when the user interacts with the application using a computer.
- User interfaces are provided by a client to devices for initiation of control functions of the client.
- the user interfaces are executed on the devices to initiate control functions of the client.
- a user interface may be executed on a local device that is communicatively coupled to the client over a local network connection, such as a local area network (LAN).
- the user interface may also be executed on a remote device that is communicatively coupled to the client over a remote network connection, such as a wide area network (WAN).
- the local and remote devices execute the respective user interfaces that are obtained from the client to initiate control functions of the client, such as to record content.
- the user interfaces may be configured based on detected hardware and/or software capabilities of the respective local and remote devices that execute the user interfaces.
- Hardware and software capabilities may include resolution, processing power, memory resources, available applications, and so on. Therefore, the local and remote devices may each be provided with respective user interfaces for initiating control function of the client that address the hardware and/or software resources of the particular device.
- a method includes receiving a query from a device.
- the query is for a user interface (UI) from a client.
- the UI when executed by the device, is configured to form a request for execution of a control function by the client.
- a processing of the request determines whether the execution by the client of the control function is permitted.
- the processing is performed at a head end by using client state data.
- the hardware and/or software capabilities of the device to execute the UI are detected.
- the UI is configured based on the hardware and/or software capabilities of the device.
- FIG. 1 is an illustration of an environment in an exemplary implementation that includes a content provider that is communicatively coupled to a client over a network.
- FIG. 2 is an illustration of an exemplary implementation showing a distribution server, the client, a local device, and a remote device of FIG. 1 in greater detail.
- FIG. 3 is a flow diagram of a procedure in an exemplary implementation in which the client configures a user interface for execution on the local device of FIG. 2 .
- FIG. 4 is an illustration of an exemplary implementation showing a user interface that is configured for output by the client when the user is located close to the display device, such as the display device of FIG. 1 .
- FIG. 5 is an illustration of an exemplary implementation showing a user interface that is configured for output by the client when the user is located at a greater distance from the display device than the user interface of FIG. 4 .
- FIG. 6 is a flow diagram depicting a procedure in an exemplary implementation in which a configured user interface of FIG. 3 is employed by a user to initiate a control function of the client.
- FIG. 7 is a flow diagram depicting a procedure in an exemplary implementation in which a user interface is configured for and executed by the remote device of FIG. 2 to initiate one or more control functions of the client.
- UIs User interfaces
- the UIs may be executed on a variety of devices to initiate control functions of the client.
- the UI may be executed on a local device that is communicatively coupled to the client over a local network connection (local connection).
- the client may be configured as a set-top box that provides for output of broadcast content, such as traditional television programming, and provides for interaction with additional types of content, such as applications that are executed on the client, applications that are executed remotely over a network, and so on.
- the local device may be configured as a personal digital assistant (PDA), e.g.
- PDA personal digital assistant
- the PDA executes a UI that is obtained from the set-top box to initiate control functions of the set-top box, such as to record content.
- the set-top box may configure the UI based on detected hardware and/or software capabilities of the PDA to execute the UI, such as resolution of the PDA, processing power, colors supported, and so on. Therefore, the PDA is provided with a UI that addresses the hardware and/or software resources of the PDA.
- the UI may be executed on a remote device that is communicatively coupled to the client over a remote network connection (remote connection).
- the set-top box provides for the output of content that is received over a network from a head end, such as traditional broadcast television, video-on-demand (VOD), remote application processing, and so on.
- a remote device such as a desktop computer, may also be communicatively coupled to the network.
- the remote device also executes a UI that is obtained from the set-top box to initiate control functions of the set-top box.
- the set-top box configures the UI based on detected hardware and/or software capabilities of the remote device to execute the UI. Therefore, the remote device may also be provided with a UI that addresses the hardware and/or software resources of the remote device. Further discussion of the configuration of UIs may be found in relation to FIGS. 3 and 7 .
- the head end stores client state data to process the requests for control functions received from the UIs.
- the head end may include client state data, such as ratings limits, favorite channels, levels of service, and so on, that is accessible locally by the head end.
- the head end may utilize this client state data to process requests provided by the UIs that are executed locally by the local device or remotely by the remote device. After the requests are processed, the head end may then cause the client to perform the control function.
- the head end provides an authoritative source for processing control functions to be performed by the client.
- FIG. 1 is an illustration of an environment 100 in an exemplary implementation that includes a content provider 102 that is communicatively coupled to a client 104 over a network 106 .
- the network 106 in the following implementations is an example of a wide area network (WAN), such as the Internet, and may also include a variety of other networks, such as a broadcast network, an intranet, a wired or wireless telephone network, and so forth.
- WAN wide area network
- the client 104 may be configured to receive content broadcast from the content provider 102 over the network 106 .
- the content provider 102 includes content 108 ( k ), where k can be any number from 1 to “K”, that is locally stored on the content provider 102 .
- the content 108 ( k ) may include a variety of data, such as television programming, video-on-demand, an electronic program guide (EPG), one or more results of remote application processing, and so on.
- the content provider 102 provides the content 108 ( k ) over a network 110 to a head end 112 .
- the network 110 may be the same as or different from network 106 .
- the content 108 ( k ) may then be stored in a database 114 as content 116 ( n ), where n can be any number from 1 to “N”, on the head end 112 for broadcast over the network 106 to the client 104 .
- the content 116 ( n ) stored in the database 114 may be copies of the content 108 ( k ) received from the content provider 102 .
- the content 116 ( n ) may also include additional data that is broadcast to the client 104 .
- the content 116 ( n ) stored in the database 114 may include EPG data that is broadcast to the client 104 utilizing a carousel file system. The carousel file system repeatedly broadcasts the EPG data over an out-of-band (OOB) channel to the client 104 over the network 106 .
- OOB out-of-band
- the head end 112 may also include a distribution server 118 to format and distribute the content 116 ( n ) over the network 106 . Distribution from the head end 112 to the client 104 may be accomplished in a number of ways, including cable, RF, microwave, and satellite. Although the head end 112 is illustrated as separate from the content provider 102 , the content provider 102 may also include the head end 112 .
- the client 104 may be configured as a computer that is capable of communicating over the network 106 , such as a desktop computer, a mobile station, an entertainment appliance, a set-top box 120 that is communicatively coupled to a display device 122 as illustrated, and so forth.
- the client 104 may also relate to a person and/or entity that operate the client 104 .
- client 104 may describe a logical client that includes a user and/or a machine Although one client 104 is illustrated, a plurality of clients may be communicatively coupled to the network 106 .
- the client 104 may also include a database 124 having locally stored content 126 ( m ), where m can be any number from 1 to “M”.
- the client 104 may be configured as a personal video recorder (PVR) that includes the database 124 stored in hard disk memory. Due to the size of the memory, users are able to record content.
- PVR also offers control functions, such as the ability to pause content that is currently being broadcast and allows viewers to watch the content while still in progress from the point it was paused.
- the PVR plays back the content from disk memory, starting at the pause event, while continuing to record the currently-broadcast content in the disk memory.
- the PVR may support other control functions, such as rewinding, fast forwarding a stored program, slow motion playback, and the like.
- the client 104 is equipped with sufficient processing and storage capabilities to store and run a navigation application 128 .
- the navigation application 128 when executed on the client 104 , provides control functions for interacting with content.
- the control functions may include the PVR control functions as previously discussed, as well as channel selection, EPG navigation, and so on.
- the client 104 also includes a configurable UI 130 and a UI module 132 .
- the configurable UI 130 provides an interface for execution on a device such that a user of the device may initiate one or more control functions of the navigation application 128 .
- the UI module 132 is executed on the client 104 to configure the configurable UI 130 based on detected hardware and/or software resources of a device that is to execute the configurable UI 130 .
- a local device 134 such as a PDA as illustrated, may be communicatively coupled to the client 104 over a local connection 136 .
- the UI module 132 when executed, detects the capabilities of the local device 134 to execute the configurable UI 130 and then configures the configurable UI 130 accordingly.
- the client 104 may also be communicatively coupled to a remote device 138 , e.g. a desktop computer as illustrated, over the network 106 .
- the UI module 132 when executed on the client 104 , may also configured the configurable UI 130 based on the detected hardware and/or software capabilities of the remote device 138 to execute the configurable UI 130 .
- the UI module 132 may be implemented in a variety of ways, such as an HTTP server that provides UIs in an HTML format to the local and remote devices 134 , 138 .
- the client 104 through execution of the UI module 132 , may provide UIs for execution on the local and remote device 134 , 138 based on the capabilities of the respective local and remote device 134 , 138 to execute the UIs.
- the head end 112 includes a database 140 for storage of a plurality of client state data 142 ( j ), where j can be any number from 1 to “J”, to process requests that were initiated by UIs that are executed on the local and remote device 134 , 138 .
- the distribution server 118 may include a remoting module 144 that is executed on the distribution server 118 to process requests to cause the navigation application 128 of the client 104 to perform one or more control functions.
- the remoting module 144 when executed, processes the requests using the client state data 142 ( j ) that corresponds to the client 104 that is to perform the control function.
- the distribution server 118 causes the client 104 , and specifically the navigation application 128 , to perform the control function. In this way, the head end 112 provides an authoritative source for client state data 142 ( j ) in the environment 100 .
- the set-top box 120 is shown separately from the display device 122 , the set-top box 120 may be built into the display device 122 to form an integral unit.
- the client 104 may be embodied as other computers capable of executing the navigation application 128 and UI module 132 , such as a broadcast-enabled computer, an information appliance, a laptop computer, a personal video recorder (PVR), or the like.
- FIG. 2 is an illustration of an exemplary implementation 200 showing the distribution server 118 , the client 104 , the local device 134 and the remote device 138 of FIG. 1 in greater detail.
- the client 104 includes a processor 202 and memory 204 .
- the UI module 132 and the navigation application 128 are illustrated as being executed on the processor 202 and are storable in memory 204 .
- the configurable UI 130 is illustrated as being stored in the memory 204 .
- the client 104 may include a remote network interface (remote interface) 206 that may be utilized to receive the content 116 ( n ) of FIG. 1 that is broadcast over the network 106 .
- the remote interface 206 may be configured as a tuner that receives broadcast content from over the network 106 , may be configured as a transmitter/receiver (transceiver) that is suitable for two-way communication over the network 106 , and so on.
- the content 116 ( n ) may be stored in the database 124 for later output by the client 104 and/or provide for immediate output of the content 116 ( n ).
- the database 124 is illustrated as being included in the memory 204 , but may also be included in a separate storage device.
- the storage device for the database 124 may be configured as a hard disk drive and the memory 204 may be configured as RAM, both the memory 204 and the storage device may be configured as RAM, both the memory 204 and the storage device may be configured as removable memory, and so forth.
- the client 104 executes the navigation application 128 to retrieve the content 126 ( m ) of FIG. 1 from the database 124 and output the content 126 ( m ) through an output interface 208 for rendering on the display device 122 .
- the client 104 is capable of operating as a PVR that stores and plays back the content 126 ( m ) of FIG. 1 in a manner akin to a video cassette recorder.
- the client 104 may be controlled by a user via inputs provided by an input device 210 .
- the inputs are received by the client 104 from an input interface 212 over a local connection 214 .
- the local connection 214 may be the same as or different from the local connection 136 that communicatively couples the local device 134 with the local interface 222 .
- the input interface 212 , local connection 214 and input device 210 may be configured in a variety of ways.
- the input interface 212 may be configured as a wireless port, such as an infrared (IR) or Bluetooth wireless port, for receiving wireless communications from input device 210 , such as a remote control device, a handheld input device, or any other wireless device, such as a wireless keyboard.
- the input interface 212 may use an RF communication link or other mode of transmission to communicate with client 104 , such as a wired connection which may include a universal serial bus (USB) connection, and so on.
- IR infrared
- USB universal serial bus
- the navigation application 128 When output of content is requested, the navigation application 128 is executed on the processor 202 to obtain content, such as from content that is streamed from the distribution server 118 over the network, content 126 ( m ) that is stored locally on the database 124 , and so on.
- the navigation application 128 may also restore the content to the original encoded format as provided by the content provider 102 of FIG. 1 .
- content 116 ( n ) of FIG. 1 may be compressed and then streamed from the distribution server 118 to the client 104 . Therefore, when the navigation application 128 receives the content, the content may be decompressed for rendering by the display device 122 .
- the client 104 may also be controlled through use of a UI that is executed by a device.
- the local device 134 may include a processor 216 and memory 218 .
- the local device 134 includes a UI 220 that was provided by the client 104 through execution of the UI module 132 and the configurable UI 130 .
- the UI 220 When executed on the processor 216 , the UI 220 enables a user to initiate one or more control functions of the navigation application 128 on the client 104 .
- the local device 134 is communicatively coupled over the local connection 136 to the client using a local interface 222 .
- the local device 134 may also include a navigation application 224 to provide for content interaction on the local device 134 itself.
- the navigation application 224 for instance, may be configured as a browser, a media player, and so on.
- the remote device 138 may also include a processor 226 and memory 228 . Like the local device 134 , the remote device 138 includes a UI 230 that is illustrated as being executed on the processor 226 and is storable in memory 228 . The remote device 138 may also include a navigation application 232 that may be similar to or different from the navigation applications 128 , 224 of the client 104 and/or local device 134 . When executed on the processor 226 , the UI 230 enables a user to initiate one or more control functions of the navigation application 128 on the client 104 . By interacting with the UI 230 on the remote device 138 , the user of the remote device 138 is able to initiate control functions of the client 104 from over the network 106 . Communication between the remote device 138 and the client 104 may also be provided using the remote interface 206 .
- control functions include recordation of content 116 ( n ) of FIG. 1 that is streamed over the network 106 to the client 104 , navigation through content, such as to fast forward, rewind or pause the output of the content, and so on.
- the control functions may provide non-linear playback of the content (i.e., time shift the playback of the content) such as pause, rewind, fast forward, slow motion playback, and the like. For instance, during a pause, the client 104 may continue to record the content in the database 124 .
- the client 104 may then playback the content 126 ( m ) of FIG. 1 from the database 124 , starting at the point in time the content 126 ( m ) was paused, while continuing to record the currently-broadcast content 126 ( m ) in the database 124 .
- the distribution server 118 included in the head end 112 of FIG. 1 also includes a processor 234 and memory 236 .
- the remoting module 144 is illustrated as being executed on the processor 234 and is storable in memory 236 .
- Client state data 142 ( j ) is illustrated as being stored in memory 236 .
- the database 114 is illustrated as included in the memory 236 , but may also be included in a separate storage device.
- the storage device for the database 114 like the database 124 of the client 104 , may be configured as a hard disk drive and the memory 236 may be configured as RAM, both the memory 236 and the storage device may be configured as RAM, both the memory 236 and the storage device may be configured as removable memory, and so forth.
- the distribution server 118 may locally access the client state data 142 ( j ).
- the distribution server 118 executes the remoting module 144 on the processor 234 to process requests to initiate control functions of the navigation application 128 on the client 104 .
- the requests may originate from the UIs 220 , 230 that are executed on the respective local and remote devices 134 , 138 .
- the remoting module 144 when executed on the processor 234 , processes the requests according to client state data 142 ( j ) that is stored in the memory 236 .
- client state data 142 ( j ) may be stored in the memory 236 that corresponds to a plurality of clients that receive content from the head end 112 of FIG. 1 .
- Each collection of client state data 142 ( j ) for a particular client may include general operations data utilized by the particular client, such as rating limits, favorite channels, level of service provisioned, and so on.
- the network 106 connecting the head end 112 to the client 104 and the remote device 138 may have sufficient bandwidth and reliability such that the head end 112 is the authoritative source for this information.
- the head end 112 may be considered the primary source for the client state data 142 ( j ) for a particular client, even over the client 104 itself
- a user may switch set-top boxes without transferring client state data between the set-top boxes.
- low resource clients may be utilized to output content yet high-resource functionality may still be provided to devices which execute the UI to control the client 104 .
- a low resource client such as a client having limited hardware and/or software resources, may be configured to decrypt and output content for rending on a display device.
- the low resource client may also provide local storage of content, such as on a hard disk drive.
- a feature-rich remote device such as a desktop computer having significant processing resources, may execute a UI that would not be able to be executed on the low resource client.
- the UI for instance, may have a higher resolution (e.g.
- the UI may provide additional functionality to a user of the client. Examples of UIs configured for output by devices having different capabilities may be found in relation to FIGS. 4 and 5 .
- FIG. 3 is a flow diagram of a procedure 300 in an exemplary implementation in which the client 104 configures a UI for execution on the local device 134 of FIG. 2 .
- a local connection is initiated between the local device 134 and the client 104 .
- a variety of local connections may be initiated, such as wired and wireless connections.
- An example of a wired connection is an Ethernet connection, which may be utilized to connect a plurality of devices to each other locally over an Ethernet network.
- wireless connections are also contemplated, such as wireless connections that are compliant with the Infrared Data Association (IrDA) standard, the Shared Wireless Access Protocol (SWAP) standard developed by the HomeRF Working Group, IEEE 802.11b and 802.11g developed by the Wireless Ethernet Compatibility Alliance (WECA), Bluetooth, and so on.
- IrDA Infrared Data Association
- SWAP Shared Wireless Access Protocol
- WECA Wireless Ethernet Compatibility Alliance
- the client 104 detects the hardware and/or software capabilities of the local device 134 through execution of the UI module 132 .
- the client 104 may detect hardware capabilities such as processor speed, data bus bandwidth, data throughput speed of one or more buses of the local device 134 , amount of memory space available on the local device 134 , supported resolutions and color palettes of an included display device, fonts supported, availability of input devices (e.g., touch screens, cursor control devices, buttons, keyboards, and so on), availability of audio input/output devices, and so forth.
- the client 104 may also detect software capabilities of the local device 134 , such as computer languages supported, availability of applications on the local device 134 , (e.g., browsers, media players, and so on), drivers implemented on the local device 134 , and so forth.
- software capabilities of the local device 134 such as computer languages supported, availability of applications on the local device 134 , (e.g., browsers, media players, and so on), drivers implemented on the local device 134 , and so forth.
- the client 104 configures a configurable UI for communication to the local device 134 based on the detection.
- the client 104 may execute the UI module 132 to configure the configurable UI 130 of FIG. 2 based on the detected capabilities of the local device 134 .
- a variety of configurations may be provided, such as through different arrangements of functions and display characteristics of the UI. Further description of configuration of UIs may be found in relation to FIGS. 4 and 5 .
- the client 104 may then communicate the configured UI 308 to the local device 134 over the local connection 136 .
- the local device 134 executes the configured UI 308 to initiate control functions of the client 104 .
- the user may utilize an input device, such as a touch screen of a PDA, to initiate a control function by “pressing” a button of the configured UI 308 .
- the configured UI 308 may then form a request that indicates the desired control function and communicate the request directly to the client 104 over the local connection 136 .
- the control function may be provided directly to the client 104 without communicating the request over the network 106 . Additional discussion of processing requests may be found in relation to FIG. 6 .
- the UI may be configured in a variety of ways.
- the configurable UI 130 of FIG. 2 is implemented as a self-contained configurable UI that includes software to configure the presentation and implementation of the UI when received and/or executed on a device.
- the configurable UI 130 of FIG. 2 may be received by the local device 134 , and when executed on the local device, detects hardware and/or software capabilities of the local device 134 to execute the UI.
- the UI is configured by a distribution server, an example of which is described in relation to FIG. 7 .
- FIG. 4 is an illustration of an exemplary implementation showing a UI 300 that is configured for output by the client when the user is located close to the display device, such as the display device 122 of FIG. 1 .
- UIs may be configured to address the different capabilities and distances. For example, a user located close to a display device may be able to perceive a greater amount of detail than if the user is located at a further distance from the display device.
- a local device may be configured for pen-based navigation
- a remote device having a mouse and keyboard may be configured for data-intensive input and navigation. Therefore, different UIs may be provided which are configured for the different respective functionality of the input devices.
- the UI 400 is configured for use when the user is located close to the display device.
- the UI 400 includes a channel guide 402 that lists a plurality of channels 404 ( 1 )- 404 ( 6 ) that is available from a broadcast.
- the UI 400 also includes a detailed description 406 of one of the plurality of programs that may provide information related to the program, such as actor, short description of the plot of the program, and so on.
- the UI 400 also includes a menu bar 408 to enable a user to navigate between functionality utilizing a cursor control device, such as a mouse.
- the illustrated menu bar 408 has functionality including current program title 410 , audio functionality 412 such as closed captioning and stereo, recent channels 414 , favorite channels 416 , and tools 418 , such as options for arrangement, font selection, and so on.
- FIG. 5 is an illustration of an exemplary implementation showing a UI 500 that is configured for output by the client when the user is located at a greater distance from the display device than the UI 400 of FIG. 4 .
- the UI 500 may include a portion of the functionality provided in the UI 500 of FIG. 5 .
- the UI 500 may also include a channel guide 502 that lists a plurality of channels 404 ( 1 )- 404 ( 4 ) that is available from a broadcast.
- the channel guide 502 is configured to be viewed from a greater distance than the channel guide 402 of FIG. 4 and to be output by a display device having a lower resolution than the display device for outputting the UI 400 of FIG. 4 . Therefore, the channel guide 502 includes fewer channels and programs in an enlarged format than the channel guide 402 of FIG. 4 .
- UI 500 may be different from the UI 400 of FIG. 4 .
- UI 500 may also include the detailed description 406 but have the detailed description 406 arranged below the channel guide 502 , as opposed to above the channel guide 402 in the UI 400 of FIG. 4 .
- the UI 500 does not include the menu bar 408 of the UI 400 of FIG. 4 .
- the UI 500 may be provided at a lower resolution, i.e. fewer dots-per-inch, than the UI 400 of FIG. 4 so that the UI 500 is viewable from a greater distance. Therefore, although the UI 400 of FIG. 4 includes functionality that is not included in the UI 500 of FIG.
- the UI 500 is viewable from a greater distance.
- arrangement of functions, display of functions and resolution have been described as differences between the UIs 400 , 500 of FIGS. 4 and 5 , respectively, a variety of other differences are also contemplated.
- the color scheme of the UI 500 may be selected such that the UI 500 is viewable from a greater distance, such as through selection of colors having greater contrast than those utilized in the UI 400 of FIG. 4 .
- the visibility and typeface of the functions may also be altered for each UI to provide an optimized viewing experience.
- the display device for outputting the UI 400 of FIG. 4 may support a greater number of colors than the display device for outputting the UI 500 of FIG. 5 .
- FIG. 6 is a flow diagram depicting a procedure 600 in an exemplary implementation in which the configured UI 308 of FIG. 3 is employed by a user to initiate a control function of the client 104 .
- the local device 134 forms and communicates a request 604 to initiate a control function of the client 104 .
- the configured UI 308 when executed on the local device 134 , may provide one or more techniques for initiating the control function.
- a wireless phone for instance, may execute the configured UI 308 that includes a voice menu to enable a user to navigate through a listing of available control functions, and initiate one or more of the control functions.
- a request is then formed for initiation of the desired control function and communicated to the client 104 , such as over the local connection 136 .
- the client 104 communicates the request 604 to the distribution server 118 .
- the client 104 executes the UI module 132 of FIG. 2 to package the request 604 for forwarding over the network 106 to the distribution server 118 .
- the request 604 is formatted for routing to the distribution server 118 by the local device 134 without packaging by the client 104 .
- the distribution server 118 processes the request using the client state data 142 ( j ).
- the remoting module 144 may be executed on the distribution server 118 to process the request 604 according to client state data 142 ( j ) that is locally available to the distribution server 118 , such as stored in a hard drive, RAID array, and so forth.
- the request 604 is processed according to client state data 142 ( j ) that is specific to the client 104 .
- the request 604 may include a unique client identifier such that the remoting module 144 may locate client state data 142 ( j ) that corresponds to the particular client 104 . Once the client state data 142 ( j ) is located, the remoting module 144 , when executed, determines whether performance of the control function is permissible on the client 104 .
- the request 604 may be configured to initiate a control function on the client 104 to record content, e.g. a television program, and the distribution server 118 , through examination of the client state data 142 ( j ), may determine whether the client 104 is permitted to record the content.
- the request 604 is configured to tune the client 104 to a desired television channel, and the distribution server 118 may then determine whether the client 104 has a subscription to that particular television channel.
- the distribution server 118 forms and communicates a command 612 to perform the control function to the client 104 .
- the remoting module 144 when executed, may determine that the client 104 is permitted to perform the control function and therefore form the command 612 for communication to the client 104 . If the client 104 is not permitted to perform the control function, the remoting module 144 may form a response for communication to the local device 134 to indicate that the control function is not permitted.
- an extra interface may be designed on the client 104 to “listen” to the head end for updates.
- the UI module 132 when executed on the client 104 , may periodically log onto the network 106 to receive and/or request commands provided by the head end 112 to perform one or more control functions.
- the client 104 performs the control function.
- the client 104 may receive the command 612 from the distribution sever 118 .
- the command may be encrypted utilizing a variety of encryption techniques to protect the command from being impersonated by an attacker.
- the navigation application 128 and/or the UI module 132 when executed, may decrypt the command 612 to determine which control function is to be performed.
- the navigation application 128 may then perform the control function indicated.
- the navigation application 128 may record a particular television program at a particular time, may change which broadcast channel is output by the client 104 to the display device 122 of FIG. 2 , tune to a favorite channel, and so on.
- the remote device 138 may also provide similar functionality, as is described in greater detail in the following implementation.
- FIG. 7 is a flow diagram depicting a procedure 700 in an exemplary implementation in which a UI is configured for and executed by the remote device 138 of FIG. 2 to initiate one or more control functions of the client 104 .
- a remote device initiates a remote connection with the distribution server.
- the remote device 138 of FIG. 2 may initiate a remote connection over the network 106 with the distribution server 188 of FIG. 2 .
- the network 106 may assume a variety of configurations, such as a wide area network (WAN), e.g. the Internet, and so forth.
- a WAN may be considered as a geographically dispersed network, which includes a broader telecommunication structure than a local area network (LAN).
- a WAN for instance, may be privately owned, leased or rented, but in most instances includes at least a portion of a public (e.g., shared user) network.
- the remote device forms a query for a UI from the distribution server that is suitable for initiating control functions of a client.
- the remote device may form the query for communication over the network which identifies a desired client.
- the query includes the network address of the client.
- the distribution server includes a locally stored listing of client locations.
- the distribution server queries the network 106 of FIG. 2 to locate the client.
- the remoting module 144 when executed on the distribution server 118 , may act as a browser for locating desired network resources, which in this instance includes the client 104 of FIG. 2 .
- the distribution server obtains the configurable UI from the client. For example, the distribution server may form an additional query that is communicated to the client over a network. The distribution server may then receive a response to the query that includes the configurable UI.
- the distribution server detects the hardware and/or software capabilities of the remote device over the remote connection. Like the client as previously described, the distribution server may detect processing speeds, available software, and so on, of the remote device 138 which indicate the capabilities of the remote device to execute the UI.
- the distribution server configures the configurable UI based on the detect capabilities to form a UI that is configured for the remote device.
- the distribution server may arrange functions of the configurable UI, select functions based on available input devices, and so on.
- the UI may be configured based on a likely distance at which the user is positioned from the remote device when viewing the UI.
- device may be configured to be viewed at different distances, such as a television in a living room as opposed to a PDA that is held in the hand of the user.
- the configured UI may be optimized for viewing by the user.
- the distribution server stores client state data that includes an indication of the remote device and the client affiliation.
- the distribution server may store data that includes an identifier of the remote device that received the configured UI and a corresponding indication of client affiliation for that particular UI. Therefore, when the distribution server receives a request from the remote device, the distribution server may readily identify a destination for the request, i.e. a particular client.
- configuration of the configurable UI is described in this implementation as being performed by the distribution server, the configurable UI may be configured in a variety of ways. For example, the configurable UI may be configured by the client as described in relation to FIG. 3 , configured automatically by the configurable UI itself, and so on.
- the remote device receives and executes the configured UI, such as by executing the UI 230 on the processor 226 of FIG. 2 .
- a user selects a control function by interacting with the UI.
- a user may utilize an input device of the remote device, such as a keyboard, mouse, microphone to receive a voice command, and so forth, to select one of a plurality of control functions for initiation.
- the UI forms and communicates a request for the control function to the distribution server. Therefore, in this implementation, a request initiated by a remote device 138 is communicated directly to the distribution server 118 over the network 106 without first being communicated through the client 104 .
- the distribution server translates the request to form a command for communication to the client to perform the control function.
- the request for initiating the control function that was formed by the remote device may not be compatible with the client. Therefore, the distribution server may translate the request into a command that causes the client to perform the corresponding control function. Therefore, at block 726 , the client may receive the command and perform the control function as indicated in the command.
- the head end is configured to be the authoritative source for client state data in the environment as previously described.
- the head end may have the capacity to recognize capabilities of devices, such as a Web browser accessible over the Internet, a set-top box communicatively coupled to a standard definition television, a set-top box communicatively coupled to a high-definition television, a wireless phone, a PDA, and so on, both by client affiliation and by the hardware and/or software capabilities.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- External Artificial Organs (AREA)
Abstract
Configuration of user interfaces is described. In an implementation, a method includes receiving a query from a device. The query is for a user interface (UI) from a client. The UI, when executed by the device, is configured to form a request for execution of a control function by the client. A processing of the request determines whether the execution by the client of the control function is permitted. The processing is performed at a head end by using client state data. The hardware and/or software capabilities of the device to execute the UI are detected. The UI is configured based on the hardware and/or software capabilities of the device.
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 10/751,694, filed Jan. 5, 2004, entitled “Configuration of User Interfaces”, the disclosure of which is incorporated in its entirety by reference herein.
- The present invention generally relates to the field of user interfaces and in particular to configuration of user interfaces.
- Users of clients, such a set-top boxes, wireless phones, computers, and so on, are continually exposed to an ever increasing variety of content. A user of a set-top box, for instance, may view traditional television programming obtained from a broadcast network for display on a television, as well as pay-per-view movies, video-on-demand (VOD), interactive video games, and so on. Likewise, a user of a wireless phone may place and receive traditional telephone calls, as well as read email, schedule appointments, play digital music, and so on.
- As shown in the previous examples, the capabilities provided by clients have also continued to increase to address the ever increasing varieties of content. For example, a user may be able to receive email on a computer as well as a set-top box, a personal digital assistant, and a wireless phone. Even though the capabilities of clients and networks that communicatively couple the clients have improved, a variety of applications are still not implemented due to failure of applications to address the capabilities and limitations of the clients and the networks. In other words, an application that may be configured for use on a particular type of client, such as a client having a particular combination of hardware and/or software capabilities, may have limited utility on another type of client that does not have the particular combination. Data-entry intensive applications, for instance, when implemented in a traditional television environment may be limited due to limitations of input devices available to the user and because of limited resolution of traditional televisions. For example, a traditional remote control may have buttons to directly enter television channels, offer four-way navigation, and manipulate power and volume. Functions such as text entry and searching through a large list of options, which may be readily performed when using a keyboard, may become onerous when using the traditional remote control.
- In addition, limited resolution that is available on a standard definition television may limit the effective resolution of data that may be displayed to the user at any one particular time. For example, limitations in the display of readable text on a traditional National Television Systems Committee (NTSC) television may limit the amount of text that may be displayed on the television at any one time. Additionally, the distance at which the display is to be viewed may limit the effective resolution of the display. For instance, to display an electronic program guide on a standard definition television such that the display may be viewed when the user is positioned at a typical distance from the television, the text of the electronic program guide may be enlarged such that it is readable from the desired distance. Therefore, even if the user is provided with a keyboard, the television experience may not be unable to provide the functionality that is provided when the user interacts with the application using a computer.
- Accordingly, there is a continuing need for user interfaces that address device capabilities and limitations to improve user interaction.
- Configuration of user interfaces is described. User interfaces are provided by a client to devices for initiation of control functions of the client. The user interfaces, for instance, are executed on the devices to initiate control functions of the client. For example, a user interface may be executed on a local device that is communicatively coupled to the client over a local network connection, such as a local area network (LAN). The user interface may also be executed on a remote device that is communicatively coupled to the client over a remote network connection, such as a wide area network (WAN). The local and remote devices execute the respective user interfaces that are obtained from the client to initiate control functions of the client, such as to record content. The user interfaces may be configured based on detected hardware and/or software capabilities of the respective local and remote devices that execute the user interfaces. Hardware and software capabilities may include resolution, processing power, memory resources, available applications, and so on. Therefore, the local and remote devices may each be provided with respective user interfaces for initiating control function of the client that address the hardware and/or software resources of the particular device.
- In an implementation, a method includes receiving a query from a device. The query is for a user interface (UI) from a client. The UI, when executed by the device, is configured to form a request for execution of a control function by the client. A processing of the request determines whether the execution by the client of the control function is permitted. The processing is performed at a head end by using client state data. The hardware and/or software capabilities of the device to execute the UI are detected. The UI is configured based on the hardware and/or software capabilities of the device.
-
FIG. 1 is an illustration of an environment in an exemplary implementation that includes a content provider that is communicatively coupled to a client over a network. -
FIG. 2 is an illustration of an exemplary implementation showing a distribution server, the client, a local device, and a remote device ofFIG. 1 in greater detail. -
FIG. 3 is a flow diagram of a procedure in an exemplary implementation in which the client configures a user interface for execution on the local device ofFIG. 2 . -
FIG. 4 is an illustration of an exemplary implementation showing a user interface that is configured for output by the client when the user is located close to the display device, such as the display device ofFIG. 1 . -
FIG. 5 is an illustration of an exemplary implementation showing a user interface that is configured for output by the client when the user is located at a greater distance from the display device than the user interface ofFIG. 4 . -
FIG. 6 is a flow diagram depicting a procedure in an exemplary implementation in which a configured user interface ofFIG. 3 is employed by a user to initiate a control function of the client. -
FIG. 7 is a flow diagram depicting a procedure in an exemplary implementation in which a user interface is configured for and executed by the remote device ofFIG. 2 to initiate one or more control functions of the client. - The same reference numbers are utilized in instances in the discussion to reference like structures and components.
- Overview
- Configuration of user interfaces (UIs) is described. UIs are provided by a client for initiation of control functions of the client. The UIs may be executed on a variety of devices to initiate control functions of the client. In an implementation, the UI may be executed on a local device that is communicatively coupled to the client over a local network connection (local connection). For example, the client may be configured as a set-top box that provides for output of broadcast content, such as traditional television programming, and provides for interaction with additional types of content, such as applications that are executed on the client, applications that are executed remotely over a network, and so on. The local device may be configured as a personal digital assistant (PDA), e.g. a “pocket” PC, which is communicatively coupled to the set-top box over a local radio frequency (RF) connection. The PDA executes a UI that is obtained from the set-top box to initiate control functions of the set-top box, such as to record content. The set-top box may configure the UI based on detected hardware and/or software capabilities of the PDA to execute the UI, such as resolution of the PDA, processing power, colors supported, and so on. Therefore, the PDA is provided with a UI that addresses the hardware and/or software resources of the PDA.
- In another implementation, the UI may be executed on a remote device that is communicatively coupled to the client over a remote network connection (remote connection). Continuing with the previous example, the set-top box provides for the output of content that is received over a network from a head end, such as traditional broadcast television, video-on-demand (VOD), remote application processing, and so on. A remote device, such as a desktop computer, may also be communicatively coupled to the network. The remote device also executes a UI that is obtained from the set-top box to initiate control functions of the set-top box. The set-top box configures the UI based on detected hardware and/or software capabilities of the remote device to execute the UI. Therefore, the remote device may also be provided with a UI that addresses the hardware and/or software resources of the remote device. Further discussion of the configuration of UIs may be found in relation to
FIGS. 3 and 7 . - In a further implementation, the head end stores client state data to process the requests for control functions received from the UIs. For example, the head end may include client state data, such as ratings limits, favorite channels, levels of service, and so on, that is accessible locally by the head end. The head end may utilize this client state data to process requests provided by the UIs that are executed locally by the local device or remotely by the remote device. After the requests are processed, the head end may then cause the client to perform the control function. By processing the requests at the head end, the head end provides an authoritative source for processing control functions to be performed by the client. This may result in a variety of increased functionality that is available to the user, such as an ability to change from an old client to a new client without manually updating client state data from the old client to the new client and remote initiation of control functions without obtaining a connection with the client. Further discussion of the use of client state data by a head end may be found in relation of
FIGS. 6 and 7 . - Exemplary Systems
-
FIG. 1 is an illustration of anenvironment 100 in an exemplary implementation that includes acontent provider 102 that is communicatively coupled to aclient 104 over anetwork 106. Thenetwork 106 in the following implementations is an example of a wide area network (WAN), such as the Internet, and may also include a variety of other networks, such as a broadcast network, an intranet, a wired or wireless telephone network, and so forth. - The
client 104 may be configured to receive content broadcast from thecontent provider 102 over thenetwork 106. Thecontent provider 102 includes content 108(k), where k can be any number from 1 to “K”, that is locally stored on thecontent provider 102. The content 108(k) may include a variety of data, such as television programming, video-on-demand, an electronic program guide (EPG), one or more results of remote application processing, and so on. Thecontent provider 102 provides the content 108(k) over anetwork 110 to ahead end 112. Thenetwork 110 may be the same as or different fromnetwork 106. The content 108(k) may then be stored in adatabase 114 as content 116(n), where n can be any number from 1 to “N”, on thehead end 112 for broadcast over thenetwork 106 to theclient 104. In other words, the content 116(n) stored in thedatabase 114 may be copies of the content 108(k) received from thecontent provider 102. The content 116(n) may also include additional data that is broadcast to theclient 104. For example, the content 116(n) stored in thedatabase 114 may include EPG data that is broadcast to theclient 104 utilizing a carousel file system. The carousel file system repeatedly broadcasts the EPG data over an out-of-band (OOB) channel to theclient 104 over thenetwork 106. - The
head end 112 may also include adistribution server 118 to format and distribute the content 116(n) over thenetwork 106. Distribution from thehead end 112 to theclient 104 may be accomplished in a number of ways, including cable, RF, microwave, and satellite. Although thehead end 112 is illustrated as separate from thecontent provider 102, thecontent provider 102 may also include thehead end 112. - The
client 104 may be configured as a computer that is capable of communicating over thenetwork 106, such as a desktop computer, a mobile station, an entertainment appliance, a set-top box 120 that is communicatively coupled to adisplay device 122 as illustrated, and so forth. Theclient 104 may also relate to a person and/or entity that operate theclient 104. In other words,client 104 may describe a logical client that includes a user and/or a machine Although oneclient 104 is illustrated, a plurality of clients may be communicatively coupled to thenetwork 106. - The
client 104 may also include adatabase 124 having locally stored content 126(m), where m can be any number from 1 to “M”. For example, theclient 104 may be configured as a personal video recorder (PVR) that includes thedatabase 124 stored in hard disk memory. Due to the size of the memory, users are able to record content. The PVR also offers control functions, such as the ability to pause content that is currently being broadcast and allows viewers to watch the content while still in progress from the point it was paused. The PVR plays back the content from disk memory, starting at the pause event, while continuing to record the currently-broadcast content in the disk memory. Additionally, the PVR may support other control functions, such as rewinding, fast forwarding a stored program, slow motion playback, and the like. - The
client 104 is equipped with sufficient processing and storage capabilities to store and run anavigation application 128. Thenavigation application 128, when executed on theclient 104, provides control functions for interacting with content. For example, the control functions may include the PVR control functions as previously discussed, as well as channel selection, EPG navigation, and so on. - The
client 104 also includes a configurable UI 130 and aUI module 132. The configurable UI 130 provides an interface for execution on a device such that a user of the device may initiate one or more control functions of thenavigation application 128. TheUI module 132 is executed on theclient 104 to configure the configurable UI 130 based on detected hardware and/or software resources of a device that is to execute the configurable UI 130. For example, alocal device 134, such as a PDA as illustrated, may be communicatively coupled to theclient 104 over alocal connection 136. TheUI module 132, when executed, detects the capabilities of thelocal device 134 to execute the configurable UI 130 and then configures the configurable UI 130 accordingly. Theclient 104 may also be communicatively coupled to aremote device 138, e.g. a desktop computer as illustrated, over thenetwork 106. TheUI module 132, when executed on theclient 104, may also configured the configurable UI 130 based on the detected hardware and/or software capabilities of theremote device 138 to execute the configurable UI 130. TheUI module 132 may be implemented in a variety of ways, such as an HTTP server that provides UIs in an HTML format to the local andremote devices client 104, through execution of theUI module 132, may provide UIs for execution on the local andremote device remote device - The
head end 112 includes adatabase 140 for storage of a plurality of client state data 142(j), where j can be any number from 1 to “J”, to process requests that were initiated by UIs that are executed on the local andremote device distribution server 118 may include aremoting module 144 that is executed on thedistribution server 118 to process requests to cause thenavigation application 128 of theclient 104 to perform one or more control functions. Theremoting module 144, when executed, processes the requests using the client state data 142(j) that corresponds to theclient 104 that is to perform the control function. If theclient 104 is permitted to perform the control function, thedistribution server 118 causes theclient 104, and specifically thenavigation application 128, to perform the control function. In this way, thehead end 112 provides an authoritative source for client state data 142(j) in theenvironment 100. - Although the set-
top box 120 is shown separately from thedisplay device 122, the set-top box 120 may be built into thedisplay device 122 to form an integral unit. Furthermore, in other implementations, theclient 104 may be embodied as other computers capable of executing thenavigation application 128 andUI module 132, such as a broadcast-enabled computer, an information appliance, a laptop computer, a personal video recorder (PVR), or the like. -
FIG. 2 is an illustration of anexemplary implementation 200 showing thedistribution server 118, theclient 104, thelocal device 134 and theremote device 138 ofFIG. 1 in greater detail. Theclient 104 includes aprocessor 202 andmemory 204. TheUI module 132 and thenavigation application 128 are illustrated as being executed on theprocessor 202 and are storable inmemory 204. The configurable UI 130 is illustrated as being stored in thememory 204. - The
client 104 may include a remote network interface (remote interface) 206 that may be utilized to receive the content 116(n) ofFIG. 1 that is broadcast over thenetwork 106. For example, theremote interface 206 may be configured as a tuner that receives broadcast content from over thenetwork 106, may be configured as a transmitter/receiver (transceiver) that is suitable for two-way communication over thenetwork 106, and so on. The content 116(n) may be stored in thedatabase 124 for later output by theclient 104 and/or provide for immediate output of the content 116(n). Thedatabase 124 is illustrated as being included in thememory 204, but may also be included in a separate storage device. For example, the storage device for thedatabase 124 may be configured as a hard disk drive and thememory 204 may be configured as RAM, both thememory 204 and the storage device may be configured as RAM, both thememory 204 and the storage device may be configured as removable memory, and so forth. Theclient 104 executes thenavigation application 128 to retrieve the content 126(m) ofFIG. 1 from thedatabase 124 and output the content 126(m) through anoutput interface 208 for rendering on thedisplay device 122. Thus, in this implementation, theclient 104 is capable of operating as a PVR that stores and plays back the content 126(m) ofFIG. 1 in a manner akin to a video cassette recorder. - The
client 104 may be controlled by a user via inputs provided by aninput device 210. The inputs are received by theclient 104 from aninput interface 212 over alocal connection 214. Thelocal connection 214 may be the same as or different from thelocal connection 136 that communicatively couples thelocal device 134 with thelocal interface 222. Theinput interface 212,local connection 214 andinput device 210 may be configured in a variety of ways. For example, theinput interface 212 may be configured as a wireless port, such as an infrared (IR) or Bluetooth wireless port, for receiving wireless communications frominput device 210, such as a remote control device, a handheld input device, or any other wireless device, such as a wireless keyboard. In alternate embodiments, theinput interface 212 may use an RF communication link or other mode of transmission to communicate withclient 104, such as a wired connection which may include a universal serial bus (USB) connection, and so on. - When output of content is requested, the
navigation application 128 is executed on theprocessor 202 to obtain content, such as from content that is streamed from thedistribution server 118 over the network, content 126(m) that is stored locally on thedatabase 124, and so on. Thenavigation application 128 may also restore the content to the original encoded format as provided by thecontent provider 102 ofFIG. 1 . For example, content 116(n) ofFIG. 1 may be compressed and then streamed from thedistribution server 118 to theclient 104. Therefore, when thenavigation application 128 receives the content, the content may be decompressed for rendering by thedisplay device 122. - The
client 104 may also be controlled through use of a UI that is executed by a device. For example, thelocal device 134 may include aprocessor 216 andmemory 218. Thelocal device 134 includes aUI 220 that was provided by theclient 104 through execution of theUI module 132 and the configurable UI 130. When executed on theprocessor 216, theUI 220 enables a user to initiate one or more control functions of thenavigation application 128 on theclient 104. Thelocal device 134 is communicatively coupled over thelocal connection 136 to the client using alocal interface 222. Thelocal device 134 may also include a navigation application 224 to provide for content interaction on thelocal device 134 itself. The navigation application 224, for instance, may be configured as a browser, a media player, and so on. - The
remote device 138 may also include aprocessor 226 andmemory 228. Like thelocal device 134, theremote device 138 includes aUI 230 that is illustrated as being executed on theprocessor 226 and is storable inmemory 228. Theremote device 138 may also include a navigation application 232 that may be similar to or different from thenavigation applications 128, 224 of theclient 104 and/orlocal device 134. When executed on theprocessor 226, theUI 230 enables a user to initiate one or more control functions of thenavigation application 128 on theclient 104. By interacting with theUI 230 on theremote device 138, the user of theremote device 138 is able to initiate control functions of theclient 104 from over thenetwork 106. Communication between theremote device 138 and theclient 104 may also be provided using theremote interface 206. - By initiating the control functions by the
UIs FIG. 1 that is streamed over thenetwork 106 to theclient 104, navigation through content, such as to fast forward, rewind or pause the output of the content, and so on. The control functions, for example, may provide non-linear playback of the content (i.e., time shift the playback of the content) such as pause, rewind, fast forward, slow motion playback, and the like. For instance, during a pause, theclient 104 may continue to record the content in thedatabase 124. Theclient 104, through execution of thenavigation application 128, may then playback the content 126(m) ofFIG. 1 from thedatabase 124, starting at the point in time the content 126(m) was paused, while continuing to record the currently-broadcast content 126(m) in thedatabase 124. - The
distribution server 118 included in thehead end 112 ofFIG. 1 also includes aprocessor 234 andmemory 236. Theremoting module 144 is illustrated as being executed on theprocessor 234 and is storable inmemory 236. Client state data 142(j) is illustrated as being stored inmemory 236. Thedatabase 114 is illustrated as included in thememory 236, but may also be included in a separate storage device. For example, the storage device for thedatabase 114, like thedatabase 124 of theclient 104, may be configured as a hard disk drive and thememory 236 may be configured as RAM, both thememory 236 and the storage device may be configured as RAM, both thememory 236 and the storage device may be configured as removable memory, and so forth. Thus, thedistribution server 118 may locally access the client state data 142(j). - The
distribution server 118 executes theremoting module 144 on theprocessor 234 to process requests to initiate control functions of thenavigation application 128 on theclient 104. The requests may originate from theUIs remote devices remoting module 144, when executed on theprocessor 234, processes the requests according to client state data 142(j) that is stored in thememory 236. For example, a plurality of client state data 142(j) may be stored in thememory 236 that corresponds to a plurality of clients that receive content from thehead end 112 ofFIG. 1 . Each collection of client state data 142(j) for a particular client may include general operations data utilized by the particular client, such as rating limits, favorite channels, level of service provisioned, and so on. Thenetwork 106 connecting thehead end 112 to theclient 104 and theremote device 138 may have sufficient bandwidth and reliability such that thehead end 112 is the authoritative source for this information. In other words, thehead end 112 may be considered the primary source for the client state data 142(j) for a particular client, even over theclient 104 itself For example, by storing the client state data 142(j) on thedistribution server 118, a user may switch set-top boxes without transferring client state data between the set-top boxes. - Additionally, by storing client state data 142(j) for local access by the
distribution server 118, low resource clients may be utilized to output content yet high-resource functionality may still be provided to devices which execute the UI to control theclient 104. For example, a low resource client, such as a client having limited hardware and/or software resources, may be configured to decrypt and output content for rending on a display device. The low resource client may also provide local storage of content, such as on a hard disk drive. A feature-rich remote device, such as a desktop computer having significant processing resources, may execute a UI that would not be able to be executed on the low resource client. The UI, for instance, may have a higher resolution (e.g. more dots per inch), support a greater number of colors for output, provide macros to initiate control functions (e.g. recording of all episodes of a particular television program), and so on. In this way, the UI may provide additional functionality to a user of the client. Examples of UIs configured for output by devices having different capabilities may be found in relation toFIGS. 4 and 5 . - Exemplary Procedures
-
FIG. 3 is a flow diagram of aprocedure 300 in an exemplary implementation in which theclient 104 configures a UI for execution on thelocal device 134 ofFIG. 2 . At block 302 a local connection is initiated between thelocal device 134 and theclient 104. A variety of local connections may be initiated, such as wired and wireless connections. An example of a wired connection is an Ethernet connection, which may be utilized to connect a plurality of devices to each other locally over an Ethernet network. A variety of wireless connections are also contemplated, such as wireless connections that are compliant with the Infrared Data Association (IrDA) standard, the Shared Wireless Access Protocol (SWAP) standard developed by the HomeRF Working Group, IEEE 802.11b and 802.11g developed by the Wireless Ethernet Compatibility Alliance (WECA), Bluetooth, and so on. - At
block 304, theclient 104 detects the hardware and/or software capabilities of thelocal device 134 through execution of theUI module 132. For example, theclient 104 may detect hardware capabilities such as processor speed, data bus bandwidth, data throughput speed of one or more buses of thelocal device 134, amount of memory space available on thelocal device 134, supported resolutions and color palettes of an included display device, fonts supported, availability of input devices (e.g., touch screens, cursor control devices, buttons, keyboards, and so on), availability of audio input/output devices, and so forth. Theclient 104 may also detect software capabilities of thelocal device 134, such as computer languages supported, availability of applications on thelocal device 134, (e.g., browsers, media players, and so on), drivers implemented on thelocal device 134, and so forth. - At block 306, the
client 104 configures a configurable UI for communication to thelocal device 134 based on the detection. Theclient 104, for instance, may execute theUI module 132 to configure the configurable UI 130 ofFIG. 2 based on the detected capabilities of thelocal device 134. A variety of configurations may be provided, such as through different arrangements of functions and display characteristics of the UI. Further description of configuration of UIs may be found in relation toFIGS. 4 and 5 . Theclient 104 may then communicate the configuredUI 308 to thelocal device 134 over thelocal connection 136. - At block 310, the
local device 134 executes the configuredUI 308 to initiate control functions of theclient 104. For example, the user may utilize an input device, such as a touch screen of a PDA, to initiate a control function by “pressing” a button of the configuredUI 308. The configuredUI 308 may then form a request that indicates the desired control function and communicate the request directly to theclient 104 over thelocal connection 136. Thus, in this implementation, the control function may be provided directly to theclient 104 without communicating the request over thenetwork 106. Additional discussion of processing requests may be found in relation toFIG. 6 . - Although the implementation of
FIG. 3 described configuration of the UI by theclient 104, the UI may be configured in a variety of ways. In another implementation, the configurable UI 130 ofFIG. 2 is implemented as a self-contained configurable UI that includes software to configure the presentation and implementation of the UI when received and/or executed on a device. For instance, the configurable UI 130 ofFIG. 2 may be received by thelocal device 134, and when executed on the local device, detects hardware and/or software capabilities of thelocal device 134 to execute the UI. In a further implementation, the UI is configured by a distribution server, an example of which is described in relation toFIG. 7 . - Exemplary User Interfaces
- UIs may be configured in a variety of ways based on the capabilities of the device that is to execute the UI.
FIG. 4 is an illustration of an exemplary implementation showing aUI 300 that is configured for output by the client when the user is located close to the display device, such as thedisplay device 122 ofFIG. 1 . As previously stated, because devices utilized to execute the UIs may have different capabilities, and because the distance of a user from a display device may change, UIs may be configured to address the different capabilities and distances. For example, a user located close to a display device may be able to perceive a greater amount of detail than if the user is located at a further distance from the display device. Additionally, input devices of the local andremote devices FIG. 2 may provide different respective functionality. For example, a local device may be configured for pen-based navigation, and a remote device having a mouse and keyboard may be configured for data-intensive input and navigation. Therefore, different UIs may be provided which are configured for the different respective functionality of the input devices. -
UI 400 is configured for use when the user is located close to the display device. TheUI 400 includes achannel guide 402 that lists a plurality of channels 404(1)-404(6) that is available from a broadcast. TheUI 400 also includes adetailed description 406 of one of the plurality of programs that may provide information related to the program, such as actor, short description of the plot of the program, and so on. TheUI 400 also includes amenu bar 408 to enable a user to navigate between functionality utilizing a cursor control device, such as a mouse. The illustratedmenu bar 408 has functionality includingcurrent program title 410,audio functionality 412 such as closed captioning and stereo,recent channels 414, favorite channels 416, andtools 418, such as options for arrangement, font selection, and so on. -
FIG. 5 is an illustration of an exemplary implementation showing aUI 500 that is configured for output by the client when the user is located at a greater distance from the display device than theUI 400 ofFIG. 4 . TheUI 500 may include a portion of the functionality provided in theUI 500 ofFIG. 5 . For example, theUI 500 may also include achannel guide 502 that lists a plurality of channels 404(1)-404(4) that is available from a broadcast. However, thechannel guide 502 is configured to be viewed from a greater distance than thechannel guide 402 ofFIG. 4 and to be output by a display device having a lower resolution than the display device for outputting theUI 400 ofFIG. 4 . Therefore, thechannel guide 502 includes fewer channels and programs in an enlarged format than thechannel guide 402 ofFIG. 4 . - Additionally, the arrangement of functionality of the
UI 500 may be different from theUI 400 ofFIG. 4 .UI 500, for example, may also include thedetailed description 406 but have thedetailed description 406 arranged below thechannel guide 502, as opposed to above thechannel guide 402 in theUI 400 ofFIG. 4 . Further, theUI 500 does not include themenu bar 408 of theUI 400 ofFIG. 4 . For example, theUI 500 may be provided at a lower resolution, i.e. fewer dots-per-inch, than theUI 400 ofFIG. 4 so that theUI 500 is viewable from a greater distance. Therefore, although theUI 400 ofFIG. 4 includes functionality that is not included in theUI 500 ofFIG. 5 , theUI 500 is viewable from a greater distance. Although arrangement of functions, display of functions and resolution have been described as differences between theUIs FIGS. 4 and 5 , respectively, a variety of other differences are also contemplated. For example, the color scheme of theUI 500 may be selected such that theUI 500 is viewable from a greater distance, such as through selection of colors having greater contrast than those utilized in theUI 400 ofFIG. 4 . Further, the visibility and typeface of the functions may also be altered for each UI to provide an optimized viewing experience. For instance, the display device for outputting theUI 400 ofFIG. 4 may support a greater number of colors than the display device for outputting theUI 500 ofFIG. 5 . -
FIG. 6 is a flow diagram depicting aprocedure 600 in an exemplary implementation in which the configuredUI 308 ofFIG. 3 is employed by a user to initiate a control function of theclient 104. Atblock 602, thelocal device 134 forms and communicates arequest 604 to initiate a control function of theclient 104. For example, the configuredUI 308, when executed on thelocal device 134, may provide one or more techniques for initiating the control function. A wireless phone, for instance, may execute the configuredUI 308 that includes a voice menu to enable a user to navigate through a listing of available control functions, and initiate one or more of the control functions. A request is then formed for initiation of the desired control function and communicated to theclient 104, such as over thelocal connection 136. - At
block 606, theclient 104 communicates therequest 604 to thedistribution server 118. In an implementation, theclient 104 executes theUI module 132 ofFIG. 2 to package therequest 604 for forwarding over thenetwork 106 to thedistribution server 118. In another implementation, therequest 604 is formatted for routing to thedistribution server 118 by thelocal device 134 without packaging by theclient 104. - At block 608, the
distribution server 118 processes the request using the client state data 142(j). Theremoting module 144, for instance, may be executed on thedistribution server 118 to process therequest 604 according to client state data 142(j) that is locally available to thedistribution server 118, such as stored in a hard drive, RAID array, and so forth. Therequest 604 is processed according to client state data 142(j) that is specific to theclient 104. - The
request 604 may include a unique client identifier such that theremoting module 144 may locate client state data 142(j) that corresponds to theparticular client 104. Once the client state data 142(j) is located, theremoting module 144, when executed, determines whether performance of the control function is permissible on theclient 104. For example, therequest 604 may be configured to initiate a control function on theclient 104 to record content, e.g. a television program, and thedistribution server 118, through examination of the client state data 142(j), may determine whether theclient 104 is permitted to record the content. In another example, therequest 604 is configured to tune theclient 104 to a desired television channel, and thedistribution server 118 may then determine whether theclient 104 has a subscription to that particular television channel. - At
block 610, thedistribution server 118 forms and communicates acommand 612 to perform the control function to theclient 104. Continuing with the previous example, theremoting module 144, when executed, may determine that theclient 104 is permitted to perform the control function and therefore form thecommand 612 for communication to theclient 104. If theclient 104 is not permitted to perform the control function, theremoting module 144 may form a response for communication to thelocal device 134 to indicate that the control function is not permitted. In another implementation, an extra interface may be designed on theclient 104 to “listen” to the head end for updates. For example, theUI module 132, when executed on theclient 104, may periodically log onto thenetwork 106 to receive and/or request commands provided by thehead end 112 to perform one or more control functions. - At
block 614, theclient 104 performs the control function. For example, theclient 104 may receive thecommand 612 from the distribution sever 118. The command may be encrypted utilizing a variety of encryption techniques to protect the command from being impersonated by an attacker. Thenavigation application 128 and/or theUI module 132, when executed, may decrypt thecommand 612 to determine which control function is to be performed. Thenavigation application 128 may then perform the control function indicated. Thenavigation application 128, for instance, may record a particular television program at a particular time, may change which broadcast channel is output by theclient 104 to thedisplay device 122 ofFIG. 2 , tune to a favorite channel, and so on. Although the implementations discussed in relation toFIGS. 3 and 6 describe the configuration and execution of a UI on alocal device 134, theremote device 138 may also provide similar functionality, as is described in greater detail in the following implementation. -
FIG. 7 is a flow diagram depicting aprocedure 700 in an exemplary implementation in which a UI is configured for and executed by theremote device 138 ofFIG. 2 to initiate one or more control functions of theclient 104. Atblock 702, a remote device initiates a remote connection with the distribution server. For instance, theremote device 138 ofFIG. 2 may initiate a remote connection over thenetwork 106 with the distribution server 188 ofFIG. 2 . Thenetwork 106 may assume a variety of configurations, such as a wide area network (WAN), e.g. the Internet, and so forth. A WAN may be considered as a geographically dispersed network, which includes a broader telecommunication structure than a local area network (LAN). A WAN, for instance, may be privately owned, leased or rented, but in most instances includes at least a portion of a public (e.g., shared user) network. - At
block 704, the remote device forms a query for a UI from the distribution server that is suitable for initiating control functions of a client. The remote device, for instance, may form the query for communication over the network which identifies a desired client. In an implementation, the query includes the network address of the client. In another implementation, the distribution server includes a locally stored listing of client locations. In a further implementation, the distribution server queries thenetwork 106 ofFIG. 2 to locate the client. For instance, theremoting module 144, when executed on thedistribution server 118, may act as a browser for locating desired network resources, which in this instance includes theclient 104 ofFIG. 2 . - At
block 706, the distribution server obtains the configurable UI from the client. For example, the distribution server may form an additional query that is communicated to the client over a network. The distribution server may then receive a response to the query that includes the configurable UI. - At
block 708, the distribution server detects the hardware and/or software capabilities of the remote device over the remote connection. Like the client as previously described, the distribution server may detect processing speeds, available software, and so on, of theremote device 138 which indicate the capabilities of the remote device to execute the UI. Atblock 710, the distribution server configures the configurable UI based on the detect capabilities to form a UI that is configured for the remote device. The distribution server, for instance, may arrange functions of the configurable UI, select functions based on available input devices, and so on. In another implementation, the UI may be configured based on a likely distance at which the user is positioned from the remote device when viewing the UI. For example, as previously described, device may be configured to be viewed at different distances, such as a television in a living room as opposed to a PDA that is held in the hand of the user. By configuring the configurable UI based on the likely distance of the user from the device, the configured UI may be optimized for viewing by the user. - At
block 712, the distribution server stores client state data that includes an indication of the remote device and the client affiliation. The distribution server, for instance, may store data that includes an identifier of the remote device that received the configured UI and a corresponding indication of client affiliation for that particular UI. Therefore, when the distribution server receives a request from the remote device, the distribution server may readily identify a destination for the request, i.e. a particular client. Although configuration of the configurable UI is described in this implementation as being performed by the distribution server, the configurable UI may be configured in a variety of ways. For example, the configurable UI may be configured by the client as described in relation toFIG. 3 , configured automatically by the configurable UI itself, and so on. - At
block 714, the remote device receives and executes the configured UI, such as by executing theUI 230 on theprocessor 226 ofFIG. 2 . Atblock 716, a user selects a control function by interacting with the UI. For example, a user may utilize an input device of the remote device, such as a keyboard, mouse, microphone to receive a voice command, and so forth, to select one of a plurality of control functions for initiation. Atblock 718, the UI forms and communicates a request for the control function to the distribution server. Therefore, in this implementation, a request initiated by aremote device 138 is communicated directly to thedistribution server 118 over thenetwork 106 without first being communicated through theclient 104. - At decision block 720 a determination is made as to whether the client is authorized to perform the requested control function. As previously described, the determination may be made by the distribution server by processing the request utilizing client state data of the client that is to perform the control function. If the client is not authorized to perform the control function, the
procedure 700 ends atblock 722 by sending a failure message to the remote device that indicates that the client is not authorized to perform the requested control function. - If the client is authorized to perform the control function according to the client state data, then at
block 724 the distribution server translates the request to form a command for communication to the client to perform the control function. For example, the request for initiating the control function that was formed by the remote device may not be compatible with the client. Therefore, the distribution server may translate the request into a command that causes the client to perform the corresponding control function. Therefore, atblock 726, the client may receive the command and perform the control function as indicated in the command. - Thus, an environment for configuration and utilization of UI is provided. In an implementation, the head end is configured to be the authoritative source for client state data in the environment as previously described. In addition, the head end may have the capacity to recognize capabilities of devices, such as a Web browser accessible over the Internet, a set-top box communicatively coupled to a standard definition television, a set-top box communicatively coupled to a high-definition television, a wireless phone, a PDA, and so on, both by client affiliation and by the hardware and/or software capabilities.
- Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.
Claims (20)
1. A computer-implemented method comprising:
causing, by a computing device, display of a user interface that is configured based upon one or more hardware capabilities or software capabilities of the computing device;
receiving a request, via the user interface, to execute a control function of a client device; and
communicating the request to the client device to cause the client device to execute the control function.
2. The computer-implemented method of claim 1 , wherein the user interface is configured based at least in part upon a detected input device of the computing device.
3. The computer-implemented method of claim 1 , wherein the user interface is configured for touch-based navigation when the detected input device comprises a touch-screen, and wherein the user interface is configured for data-intensive input and navigation when the detected input device comprises a keyboard.
4. The computer-implemented method of claim 1 , wherein the one or more hardware capabilities include one or more of a processor speed of the computing device, a data bus bandwidth of the computing device, a data throughput speed of the computing device, an amount of memory space of the computing device, a supported resolution or color palette of a display of the computing device, or supported fonts of the computing device.
5. The computer-implemented method of claim 1 , wherein the one or more software capabilities include one or more of computer languages supported, availability of applications on the computing device, or drivers implemented on the computing device
6. The computer-implemented method of claim 1 , wherein communicating the request causes the client device to record content broadcast by one or more distribution servers to the client device locally at the client device.
7. The computer-implemented method of claim 1 , further comprising:
requesting, from the client device, the user interface that is configured based upon one or more hardware capabilities or software capabilities of the computing device; and
receiving the user interface from the client device.
8. The computer-implemented method of claim 1 , wherein the user interface is configured based at least in part on a likely distance at which a user is positioned from the computing device when viewing the user interface.
9. The computer-implemented method of claim 1 , wherein the client device comprises a set-top box.
10. The computer-implemented method of claim 1 , wherein:
the computing device is communicatively coupled to the client device over a local network connection; or
the computing device is communicatively coupled to the client device over a remote network connection.
11. A computer-implemented method comprising:
detecting, by a client device, one or more hardware capabilities or software capabilities of a computing device that is communicatively coupled to the client device;
configuring a user interface for the computing device based on the one or more detected hardware capabilities or software capabilities of the computing device;
communicating the user interface to the computing device to enable the computing device to execute a control function of the client device using the user interface.
12. The computer-implemented method of claim 11 , wherein the configuring comprises configuring the user interface for the computing device based at least in part upon a detected input device of the computing device.
13. The computer-implemented method of claim 12 , wherein the configuring comprises configuring the user interface for touch-based navigation when the detected input device comprises a touch-screen, and configuring the user interface for data-intensive input and navigation when the detected input device comprises a keyboard.
14. The computer-implemented method of claim 11 , wherein the one or more detected hardware capabilities include one or more of a processor speed of the computing device, a data bus bandwidth of the computing device, a data throughput speed of the computing device, an amount of memory space of the computing device, a supported resolution or color palette of a display of the computing device, or supported fonts of the computing device.
15. The computer-implemented method of claim 11 , further comprising:
receiving a request, from the computing device, to execute the control function; and
executing the control function.
16. The computer-implemented method of claim 15 , wherein the control function is to record content broadcast by one or more distribution servers to the client device locally at the client device.
17. The computer-implemented method of claim 1 , wherein the client device comprises a set-top box, and wherein the computing device is communicatively coupled to the client device over a local network connection or a remote network connection.
18. A client device comprising:
a processor; and
one or more computer-readable storage media having computer-executable instructions stored thereon that, when executed by the processor, implement a user interface module to:
configure a user interface for a computing device, that is communicatively coupled to the client device, based on a likely distance at which a user will be positioned from the computing device when viewing the user interface; and
communicate the user interface to the computing device to enable the computing device to execute a control function of the client device using the user interface.
19. The client device of claim 18 , wherein the user interface module is further configured to configure the user interface for the computing device based on a resolution of a display of the computing device.
20. The client device of claim 18 , wherein the client device comprises a set-top box, and wherein the computing device is communicatively coupled to the client device over a local network connection or a remote network connection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/447,591 US20120204115A1 (en) | 2004-01-05 | 2012-04-16 | Configuration of user interfaces |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/751,694 US8196044B2 (en) | 2004-01-05 | 2004-01-05 | Configuration of user interfaces |
US13/447,591 US20120204115A1 (en) | 2004-01-05 | 2012-04-16 | Configuration of user interfaces |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/751,694 Continuation US8196044B2 (en) | 2004-01-05 | 2004-01-05 | Configuration of user interfaces |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120204115A1 true US20120204115A1 (en) | 2012-08-09 |
Family
ID=34574827
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/751,694 Expired - Fee Related US8196044B2 (en) | 2004-01-05 | 2004-01-05 | Configuration of user interfaces |
US13/447,591 Abandoned US20120204115A1 (en) | 2004-01-05 | 2012-04-16 | Configuration of user interfaces |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/751,694 Expired - Fee Related US8196044B2 (en) | 2004-01-05 | 2004-01-05 | Configuration of user interfaces |
Country Status (10)
Country | Link |
---|---|
US (2) | US8196044B2 (en) |
EP (1) | EP1551153B1 (en) |
JP (3) | JP2005202951A (en) |
KR (1) | KR101109264B1 (en) |
CN (1) | CN1649411B (en) |
AT (1) | ATE377322T1 (en) |
BR (1) | BRPI0500008B1 (en) |
CA (1) | CA2491387A1 (en) |
DE (1) | DE602005003030T2 (en) |
MX (1) | MXPA05000333A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299436A1 (en) * | 2009-05-20 | 2010-11-25 | Shafiqul Khalid | Methods and Systems for Using External Display Devices With a Mobile Computing Device |
US20100325203A1 (en) * | 2009-06-19 | 2010-12-23 | Samsung Electrinics Co., Ltd. | Apparatus and method for transmitting and receiving a user interface in a communication system |
US20110157623A1 (en) * | 2009-12-24 | 2011-06-30 | Fuji Xerox Co., Ltd. | Screen image management apparatus, screen image management method, and computer readable medium storing program therefor |
US20150188776A1 (en) * | 2013-12-27 | 2015-07-02 | Kt Corporation | Synchronizing user interface across multiple devices |
US9084020B2 (en) | 2008-04-17 | 2015-07-14 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving user interface |
US9298334B1 (en) * | 2011-02-18 | 2016-03-29 | Marvell International Ltd. | Method and apparatus for providing a user interface having a guided task flow among a plurality of devices |
US9389881B2 (en) | 2008-04-17 | 2016-07-12 | Samsung Electronics Co., Ltd. | Method and apparatus for generating combined user interface from a plurality of servers to enable user device control |
US9424053B2 (en) | 2008-04-17 | 2016-08-23 | Samsung Electronics Co., Ltd. | Method and apparatus for displaying personalized user interface |
US11809217B2 (en) | 2017-06-16 | 2023-11-07 | Microsoft Technology Licensing, Llc | Rules based user interface generation |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444336B2 (en) * | 2002-12-11 | 2008-10-28 | Broadcom Corporation | Portable media processing unit in a media exchange network |
US8782711B2 (en) * | 2004-03-31 | 2014-07-15 | The Directv Group, Inc. | Satellite television network and near real-time method for downloading and verifying a subscriber remote record request |
US20050278766A1 (en) * | 2004-05-27 | 2005-12-15 | Benco David S | Wireless support for TV pay-per-view ordering |
US7937696B2 (en) * | 2004-12-16 | 2011-05-03 | International Business Machines Corporation | Method, system and program product for adapting software applications for client devices |
KR100678951B1 (en) * | 2005-01-11 | 2007-02-06 | 삼성전자주식회사 | Apparatus and method for creating control code for home network appliance according to the resolution of control device |
EP1911263A4 (en) * | 2005-07-22 | 2011-03-30 | Kangaroo Media Inc | System and methods for enhancing the experience of spectators attending a live sporting event |
US7908244B2 (en) * | 2005-08-31 | 2011-03-15 | Ascent Media Group, Llc | Localized media content management |
US8806347B2 (en) * | 2005-12-27 | 2014-08-12 | Panasonic Corporation | Systems and methods for providing distributed user interfaces to configure client devices |
EP1818812B1 (en) * | 2006-01-25 | 2016-01-06 | Brandt Technologies Limited | System and method for effecting simultaneous control of remote computers |
US7965703B2 (en) * | 2006-08-07 | 2011-06-21 | Time Warner Cable, Inc. | System and method for establishing and enforcing service rules in a service provider network |
US20080052026A1 (en) * | 2006-08-23 | 2008-02-28 | Qurio Holdings, Inc. | Configuring a content capture device for one or more service providers |
US7941092B2 (en) * | 2006-11-22 | 2011-05-10 | Bindu Rama Rao | Media distribution server that presents interactive media to a mobile device |
US8478250B2 (en) | 2007-07-30 | 2013-07-02 | Bindu Rama Rao | Interactive media management server |
US8700014B2 (en) | 2006-11-22 | 2014-04-15 | Bindu Rama Rao | Audio guided system for providing guidance to user of mobile device on multi-step activities |
US8380175B2 (en) * | 2006-11-22 | 2013-02-19 | Bindu Rama Rao | System for providing interactive advertisements to user of mobile devices |
US11256386B2 (en) | 2006-11-22 | 2022-02-22 | Qualtrics, Llc | Media management system supporting a plurality of mobile devices |
US10803474B2 (en) | 2006-11-22 | 2020-10-13 | Qualtrics, Llc | System for creating and distributing interactive advertisements to mobile devices |
US8266648B2 (en) * | 2007-04-20 | 2012-09-11 | United Video Properties, Inc. | Systems and methods for determining subscription data |
CN101772895A (en) * | 2007-05-03 | 2010-07-07 | 三维实验室公司 | The method of the user interface of Remote configuration portable set |
US20080289000A1 (en) * | 2007-05-16 | 2008-11-20 | Motorola, Inc. | Method and electronic device for managing applications |
US8884981B2 (en) * | 2007-09-04 | 2014-11-11 | Apple Inc. | Dynamically reconfigurable graphics layer system and method |
US20090073485A1 (en) * | 2007-09-14 | 2009-03-19 | Kabushiki Kaisha Toshiba | Image forming system and control method thereof |
US8433812B2 (en) * | 2008-04-01 | 2013-04-30 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
KR101531165B1 (en) * | 2008-04-17 | 2015-06-25 | 삼성전자주식회사 | Method and apparatus for providing/receiving user interface considering characteristic of client |
US20090284476A1 (en) * | 2008-05-13 | 2009-11-19 | Apple Inc. | Pushing a user interface to a remote device |
US8970647B2 (en) | 2008-05-13 | 2015-03-03 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US9870130B2 (en) | 2008-05-13 | 2018-01-16 | Apple Inc. | Pushing a user interface to a remote device |
US9311115B2 (en) | 2008-05-13 | 2016-04-12 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US20100293462A1 (en) * | 2008-05-13 | 2010-11-18 | Apple Inc. | Pushing a user interface to a remote device |
US8334999B2 (en) * | 2008-07-10 | 2012-12-18 | Sharp Laboratories Of America, Inc. | Method and system for augmenting imaging device with non-native job settings |
KR101531164B1 (en) * | 2008-08-12 | 2015-06-25 | 삼성전자주식회사 | Method and apparatus for providing/receiving user interface using user interface directory |
US9009662B2 (en) * | 2008-12-18 | 2015-04-14 | Adobe Systems Incorporated | Platform sensitive application characteristics |
US9009661B2 (en) | 2008-12-18 | 2015-04-14 | Adobe Systems Incorporated | Platform sensitive application characteristics |
KR100949717B1 (en) * | 2009-08-26 | 2010-03-29 | 주식회사 아이두잇 | Mobile av apparatus |
KR101612845B1 (en) * | 2009-11-12 | 2016-04-15 | 삼성전자주식회사 | Method and apparatus for providing remote UI service |
US20110258555A1 (en) * | 2010-04-15 | 2011-10-20 | Po-Yen Lee | Systems and methods for interface management |
US20110296460A1 (en) * | 2010-05-31 | 2011-12-01 | Samsung Electronics Co., Ltd. | Method and apparatus for providing remote user interface (ui) service |
US20120089923A1 (en) * | 2010-10-08 | 2012-04-12 | Microsoft Corporation | Dynamic companion device user interface |
WO2012050546A1 (en) * | 2010-10-15 | 2012-04-19 | Thomson Licensing | System and method for configuration access via connected devices |
US10445113B2 (en) * | 2011-03-01 | 2019-10-15 | International Business Machines Corporation | Method and system for setting the user interface to suit the display screen of an electronic device |
US8788944B1 (en) * | 2011-03-09 | 2014-07-22 | Amazon Technologies, Inc. | Personalized mobile device application presentation using photograph-based capability detection |
CN102368828B (en) * | 2011-12-01 | 2014-06-25 | 青岛海信宽带多媒体技术有限公司 | Network configuration method and system of internetwork digital television |
US20130227426A1 (en) * | 2012-02-24 | 2013-08-29 | Sony Corporation | Customized user web-page setting techniques |
US9690542B2 (en) * | 2014-12-22 | 2017-06-27 | Microsoft Technology Licensing, Llc | Scaling digital personal assistant agents across devices |
US10756985B2 (en) | 2015-01-27 | 2020-08-25 | Nutanix, Inc. | Architecture for implementing user interfaces for centralized management of a computing environment |
US20160259491A1 (en) * | 2015-03-03 | 2016-09-08 | Olio Devices, Inc. | System and method for automatic third party user interface adjustment |
US10956192B2 (en) | 2016-02-12 | 2021-03-23 | Nutanix, Inc. | Entity database historical data |
US11327729B2 (en) * | 2017-05-31 | 2022-05-10 | Abb Schweiz Ag | Field device interfaces in industrial control systems |
US10586389B2 (en) | 2017-06-28 | 2020-03-10 | Microsoft Technology Licensing, Llc | Device panel capabilities and spatial relationships |
US10700991B2 (en) | 2017-11-27 | 2020-06-30 | Nutanix, Inc. | Multi-cluster resource management |
CN112416209B (en) * | 2020-10-27 | 2022-06-14 | 山东浪潮通软信息科技有限公司 | Filling device based on front-end and back-end separation |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784177A (en) * | 1995-05-30 | 1998-07-21 | Canon Kabushiki Kaisha | Printer/facsimile driver |
US5832298A (en) * | 1995-05-30 | 1998-11-03 | Canon Kabushiki Kaisha | Adaptive graphical user interface for a network peripheral |
US6028585A (en) * | 1995-09-22 | 2000-02-22 | International Business Machines Corporation | Screen display control method and a screen display control apparatus |
US20020004935A1 (en) * | 2000-07-03 | 2002-01-10 | Huotari Allen Joseph | System for remote automated installation and configuration of digital subscriber line modems |
US20020099804A1 (en) * | 2001-01-25 | 2002-07-25 | O'connor Clint H. | Method and system for configuring a computer system via a wireless communication link |
US20020120571A1 (en) * | 2001-02-23 | 2002-08-29 | David Maung | Wireless financial system |
US20020147976A1 (en) * | 1994-08-31 | 2002-10-10 | Yuen Henry C. | Method and apparatus for transmitting, storing, and processing electronic program guide data for on-screen display |
US20030090517A1 (en) * | 2001-11-14 | 2003-05-15 | Gateway, Inc. | Adjustable user interface |
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US6700592B1 (en) * | 2000-06-30 | 2004-03-02 | Sony Corporation | Method and system for dynamically building the graphical user interface of a home AV network device |
US20040046787A1 (en) * | 2001-06-01 | 2004-03-11 | Attachmate Corporation | System and method for screen connector design, configuration, and runtime access |
US20040090464A1 (en) * | 2002-11-01 | 2004-05-13 | Shake Francis David | Method for automatically determining equipment control code sets from a database and presenting information to a user interface |
US20040116140A1 (en) * | 2002-12-20 | 2004-06-17 | Babbar Uppinder S. | Dynamically provisioned mobile station and method therefor |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US20050097458A1 (en) * | 2001-12-19 | 2005-05-05 | Eric Wilson | Document display system and method |
US7200683B1 (en) * | 1999-08-17 | 2007-04-03 | Samsung Electronics, Co., Ltd. | Device communication and control in a home network connected to an external network |
US7716589B2 (en) * | 1998-10-30 | 2010-05-11 | International Business Machines Corporation | Non-computer interface to a database and digital library |
Family Cites Families (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3956745A (en) | 1971-12-16 | 1976-05-11 | The Marconi Company Limited | Programmable keyboard arrangements |
US4535333A (en) | 1982-09-23 | 1985-08-13 | Chamberlain Manufacturing Corporation | Transmitter and receiver for controlling remote elements |
US4626848A (en) | 1984-05-15 | 1986-12-02 | General Electric Company | Programmable functions for reconfigurable remote control |
WO1989003085A1 (en) | 1987-09-28 | 1989-04-06 | Fox James C | Automatic program selector |
US6828993B1 (en) * | 1992-12-09 | 2004-12-07 | Discovery Communications, Inc. | Set top terminal that stores programs locally and generates menus |
US6201536B1 (en) * | 1992-12-09 | 2001-03-13 | Discovery Communications, Inc. | Network manager for cable television system headends |
EP0674824B1 (en) * | 1992-12-09 | 1999-02-17 | Discovery Communications, Inc. | Television program delivery system |
EP0626635B1 (en) * | 1993-05-24 | 2003-03-05 | Sun Microsystems, Inc. | Improved graphical user interface with method for interfacing to remote devices |
US5579055A (en) * | 1993-06-07 | 1996-11-26 | Scientific-Atlanta, Inc. | Electronic program guide and text channel data controller |
EP1091287A3 (en) * | 1994-02-04 | 2001-05-30 | Sun Microsystems, Inc. | A standard interface system between different lcd panels and a common frame buffer output |
US6005561A (en) * | 1994-12-14 | 1999-12-21 | The 3Do Company | Interactive information delivery system |
US6215467B1 (en) * | 1995-04-27 | 2001-04-10 | Canon Kabushiki Kaisha | Display control apparatus and method and display apparatus |
JPH08307793A (en) * | 1995-05-08 | 1996-11-22 | Matsushita Electric Ind Co Ltd | Wide television receiver |
JP3804980B2 (en) * | 1995-07-11 | 2006-08-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Video on demand system |
US6002394A (en) * | 1995-10-02 | 1999-12-14 | Starsight Telecast, Inc. | Systems and methods for linking television viewers with advertisers and broadcasters |
US6473609B1 (en) | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
US6025837A (en) * | 1996-03-29 | 2000-02-15 | Micrsoft Corporation | Electronic program guide with hyperlinks to target resources |
EP0798921B1 (en) * | 1996-03-29 | 2004-12-29 | Matsushita Electric Industrial Co., Ltd. | Broadcast receiving apparatus for television signals and program display method |
US6788709B1 (en) * | 1996-05-16 | 2004-09-07 | Kabushiki Kaisha Infocity | Method for transmitting and displaying information and device for displaying information |
DK0932398T3 (en) * | 1996-06-28 | 2006-09-25 | Ortho Mcneil Pharm Inc | Use of topiramate or derivatives thereof for the manufacture of a medicament for the treatment of manic depressive bipolar disorders |
AU3908297A (en) * | 1996-08-06 | 1998-02-25 | Starsight Telecast Incorporated | Electronic program guide with interactive areas |
US5914713A (en) * | 1996-09-23 | 1999-06-22 | Fmr Corp. | Accessing data fields from a non-terminal client |
US20030066085A1 (en) * | 1996-12-10 | 2003-04-03 | United Video Properties, Inc., A Corporation Of Delaware | Internet television program guide system |
US6130726A (en) * | 1997-03-24 | 2000-10-10 | Evolve Products, Inc. | Program guide on a remote control display |
US8769598B2 (en) * | 1997-03-24 | 2014-07-01 | Logitech Europe S.A. | Program guide on a remote control |
US7503057B2 (en) * | 1997-06-02 | 2009-03-10 | Sony Corporation | Client and server system |
US6072483A (en) * | 1997-06-02 | 2000-06-06 | Sony Corporation | Active frame scroll interface |
US6028600A (en) * | 1997-06-02 | 2000-02-22 | Sony Corporation | Rotary menu wheel interface |
IL121230A (en) * | 1997-07-03 | 2004-05-12 | Nds Ltd | Intelligent electronic program guide |
US6600496B1 (en) * | 1997-09-26 | 2003-07-29 | Sun Microsystems, Inc. | Interactive graphical user interface for television set-top box |
US6337717B1 (en) * | 1997-11-21 | 2002-01-08 | Xsides Corporation | Alternate display content controller |
US6639613B1 (en) * | 1997-11-21 | 2003-10-28 | Xsides Corporation | Alternate display content controller |
US7117440B2 (en) * | 1997-12-03 | 2006-10-03 | Sedna Patent Services, Llc | Method and apparatus for providing a menu structure for an interactive information distribution system |
US6127941A (en) * | 1998-02-03 | 2000-10-03 | Sony Corporation | Remote control device with a graphical user interface |
US6445398B1 (en) * | 1998-02-04 | 2002-09-03 | Corporate Media Partners | Method and system for providing user interface for electronic program guide |
JP3657424B2 (en) * | 1998-03-20 | 2005-06-08 | 松下電器産業株式会社 | Center device and terminal device for broadcasting program information |
US6476825B1 (en) * | 1998-05-13 | 2002-11-05 | Clemens Croy | Hand-held video viewer and remote control device |
US6216237B1 (en) * | 1998-06-19 | 2001-04-10 | Lucent Technologies Inc. | Distributed indirect software instrumentation |
JP3202968B2 (en) * | 1998-06-30 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Display control information generation method and computer |
US6556221B1 (en) * | 1998-07-01 | 2003-04-29 | Sony Corporation | Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit |
US7865832B2 (en) * | 1999-07-26 | 2011-01-04 | Sony Corporation | Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit |
US6442755B1 (en) * | 1998-07-07 | 2002-08-27 | United Video Properties, Inc. | Electronic program guide using markup language |
US6426762B1 (en) * | 1998-07-17 | 2002-07-30 | Xsides Corporation | Secondary user interface |
US6229524B1 (en) * | 1998-07-17 | 2001-05-08 | International Business Machines Corporation | User interface for interaction with video |
AU5228399A (en) * | 1998-07-23 | 2000-02-14 | Diva Systems Corporation | System for generating, distributing and receiving an interactive user interface |
US6754905B2 (en) * | 1998-07-23 | 2004-06-22 | Diva Systems Corporation | Data structure and methods for providing an interactive program guide |
US7831930B2 (en) * | 2001-11-20 | 2010-11-09 | Universal Electronics Inc. | System and method for displaying a user interface for a remote control application |
US6820278B1 (en) * | 1998-07-23 | 2004-11-16 | United Video Properties, Inc. | Cooperative television application system having multiple user television equipment devices |
US6437836B1 (en) * | 1998-09-21 | 2002-08-20 | Navispace, Inc. | Extended functionally remote control system and method therefore |
US6614457B1 (en) * | 1998-10-27 | 2003-09-02 | Matsushita Electric Industrial Co., Ltd. | Focus control device that moves a focus in a GUI screen |
JP3926047B2 (en) * | 1998-11-16 | 2007-06-06 | 三菱電機株式会社 | Information display device |
US6804825B1 (en) * | 1998-11-30 | 2004-10-12 | Microsoft Corporation | Video on demand methods and systems |
US6628302B2 (en) * | 1998-11-30 | 2003-09-30 | Microsoft Corporation | Interactive video programming methods |
US6392664B1 (en) * | 1998-11-30 | 2002-05-21 | Webtv Networks, Inc. | Method and system for presenting television programming and interactive entertainment |
US7111242B1 (en) * | 1999-01-27 | 2006-09-19 | Gateway Inc. | Method and apparatus for automatically generating a device user interface |
AU3244500A (en) * | 1999-02-26 | 2000-09-14 | Sony Electronics Inc. | Blocking system |
US6904610B1 (en) * | 1999-04-15 | 2005-06-07 | Sedna Patent Services, Llc | Server-centric customized interactive program guide in an interactive television environment |
JP2000339277A (en) * | 1999-05-27 | 2000-12-08 | Matsushita Electric Ind Co Ltd | Portable terminal device and data display method therefor |
EP1195059B1 (en) * | 1999-05-28 | 2004-11-10 | Nokia Corporation | Interactive services user interface and server |
CA2376936A1 (en) * | 1999-06-11 | 2000-12-21 | United Video Properties, Inc. | Interactive television application system with hand-held application device |
US6721954B1 (en) * | 1999-06-23 | 2004-04-13 | Gateway, Inc. | Personal preferred viewing using electronic program guide |
JP2001069477A (en) * | 1999-08-31 | 2001-03-16 | Sony Corp | System and method for providing program |
US6897833B1 (en) * | 1999-09-10 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Portable user interface |
US6630943B1 (en) * | 1999-09-21 | 2003-10-07 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
US6292187B1 (en) * | 1999-09-27 | 2001-09-18 | Sony Electronics, Inc. | Method and system for modifying the visual presentation and response to user action of a broadcast application's user interface |
US7134133B1 (en) * | 1999-11-08 | 2006-11-07 | Gateway Inc. | Method, system, and software for creating and utilizing broadcast electronic program guide templates |
DK1427186T3 (en) * | 1999-12-10 | 2016-04-25 | Rovi Guides Inc | Features for use with advanced setup applications in interactive television systems |
US6421067B1 (en) * | 2000-01-16 | 2002-07-16 | Isurftv | Electronic programming guide |
US6750886B1 (en) * | 2000-01-26 | 2004-06-15 | Donald B. Bergstedt | Method and software for displaying information on a display area of a screen of an electronic device |
GB0003306D0 (en) * | 2000-02-15 | 2000-04-05 | Koninkl Philips Electronics Nv | Control of interconnected audio/video devices |
US6677964B1 (en) * | 2000-02-18 | 2004-01-13 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
JP4385269B2 (en) | 2000-02-18 | 2009-12-16 | ソニー株式会社 | Network system and network terminal device |
WO2001069380A2 (en) | 2000-03-14 | 2001-09-20 | Edapta, Inc. | A system and method for enabling dynamically adaptable user interfaces for electronic devices |
US6839903B1 (en) * | 2000-03-24 | 2005-01-04 | Sony Corporation | Method of selecting a portion of a block of data for display based on characteristics of a display device |
GB0007474D0 (en) * | 2000-03-29 | 2000-05-17 | Hewlett Packard Co | Location-Dependent User Interface |
US6587125B1 (en) * | 2000-04-03 | 2003-07-01 | Appswing Ltd | Remote control system |
EP1334427A2 (en) * | 2000-04-19 | 2003-08-13 | Koninklijke Philips Electronics N.V. | Method and apparatus for adapting a graphical user interface |
JP4813638B2 (en) * | 2000-04-20 | 2011-11-09 | ソニー株式会社 | Network program recording reservation system, network program recording reservation method, recording device, and information terminal device |
US20020059586A1 (en) * | 2000-04-24 | 2002-05-16 | John Carney | Method and system for personalization and authorization of interactive television content |
US6941520B1 (en) * | 2000-05-09 | 2005-09-06 | International Business Machines Corporation | Method, system, and program for using a user interface program to generate a user interface for an application program |
JP2001333414A (en) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | Program information distributor and method and terminal and system relating thereto |
US20020053084A1 (en) * | 2000-06-01 | 2002-05-02 | Escobar George D. | Customized electronic program guide |
JP2004531780A (en) | 2000-06-22 | 2004-10-14 | マイクロソフト コーポレーション | Distributed computing service platform |
US6449767B1 (en) * | 2000-06-30 | 2002-09-10 | Keen Personal Media, Inc. | System for displaying an integrated portal screen |
US7349967B2 (en) * | 2000-07-21 | 2008-03-25 | Samsung Electronics Co., Ltd. | Architecture for home network on world wide web with private-public IP address/URL mapping |
US20020069415A1 (en) * | 2000-09-08 | 2002-06-06 | Charles Humbard | User interface and navigator for interactive television |
US7124424B2 (en) * | 2000-11-27 | 2006-10-17 | Sedna Patent Services, Llc | Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces |
US7093003B2 (en) * | 2001-01-29 | 2006-08-15 | Universal Electronics Inc. | System and method for upgrading the remote control functionality of a device |
JP2002238041A (en) | 2001-02-07 | 2002-08-23 | Canon Sales Co Inc | Contents distribution system, device and method, storage means and program |
US7155681B2 (en) * | 2001-02-14 | 2006-12-26 | Sproqit Technologies, Inc. | Platform-independent distributed user interface server architecture |
US20020111995A1 (en) * | 2001-02-14 | 2002-08-15 | Mansour Peter M. | Platform-independent distributed user interface system architecture |
US7089499B2 (en) * | 2001-02-28 | 2006-08-08 | International Business Machines Corporation | Personalizing user interfaces across operating systems |
US7263666B2 (en) * | 2001-04-09 | 2007-08-28 | Triveni Digital, Inc. | Targeted remote GUI for metadata generator |
JP2002328801A (en) * | 2001-05-01 | 2002-11-15 | Matsushita Electric Ind Co Ltd | Display processing device |
US7076734B2 (en) * | 2001-06-22 | 2006-07-11 | Microsoft Corporation | Systems and methods for providing a dynamically controllable user interface that embraces a variety of media |
US7016963B1 (en) * | 2001-06-29 | 2006-03-21 | Glow Designs, Llc | Content management and transformation system for digital content |
US20030043191A1 (en) * | 2001-08-17 | 2003-03-06 | David Tinsley | Systems and methods for displaying a graphical user interface |
US6958759B2 (en) * | 2001-08-28 | 2005-10-25 | General Instrument Corporation | Method and apparatus for preserving, enlarging and supplementing image content displayed in a graphical user interface |
US7234111B2 (en) * | 2001-09-28 | 2007-06-19 | Ntt Docomo, Inc. | Dynamic adaptation of GUI presentations to heterogeneous device platforms |
EP1442367A2 (en) * | 2001-10-04 | 2004-08-04 | Koninklijke Philips Electronics N.V. | Method of styling a user interface and device with adaptive user interface |
US6978424B2 (en) * | 2001-10-15 | 2005-12-20 | General Instrument Corporation | Versatile user interface device and associated system |
US7146407B2 (en) | 2001-10-22 | 2006-12-05 | Pocketthis, Inc. | Data synchronization mechanism for information browsing systems |
JP2003140630A (en) * | 2001-11-02 | 2003-05-16 | Canon Inc | Unit and system for display |
US20040237104A1 (en) * | 2001-11-10 | 2004-11-25 | Cooper Jeffery Allen | System and method for recording and displaying video programs and mobile hand held devices |
US7095456B2 (en) * | 2001-11-21 | 2006-08-22 | Ui Evolution, Inc. | Field extensible controllee sourced universal remote control method and apparatus |
KR100838463B1 (en) | 2001-12-31 | 2008-06-16 | 엘지전자 주식회사 | Web Server, Home Network Device, and Method for User Interface according to Device Characteristics |
US7039938B2 (en) * | 2002-01-02 | 2006-05-02 | Sony Corporation | Selective encryption for video on demand |
JP2003271276A (en) * | 2002-03-15 | 2003-09-26 | Matsushita Electric Ind Co Ltd | Data output indicating device and its program |
US20030192047A1 (en) * | 2002-03-22 | 2003-10-09 | Gaul Michael A. | Exporting data from a digital home communication terminal to a client device |
JP2003288187A (en) * | 2002-03-27 | 2003-10-10 | Brother Ind Ltd | Printer, network server and communication method |
JP2003319360A (en) | 2002-04-18 | 2003-11-07 | Nippon Telegraph & Telephone West Corp | Video distribution system, video contents access method in the same system, authentication access server, web server, and server program |
US7174126B2 (en) * | 2002-05-03 | 2007-02-06 | Time Warner Interactive Video Group Inc. | Technique for effectively accessing programming listing information in an entertainment delivery system |
JP2003348675A (en) * | 2002-05-27 | 2003-12-05 | Canon Inc | Remote control transmitter, remote control sub-system, remote control system, remote controller, and remote control method |
JP2003348674A (en) * | 2002-05-30 | 2003-12-05 | Kyocera Corp | Remote control terminal and remote control system |
US8370744B2 (en) * | 2002-06-19 | 2013-02-05 | Microsoft Corporation | User interface for operating a computer from a distance |
US7176943B2 (en) * | 2002-10-08 | 2007-02-13 | Microsoft Corporation | Intelligent windows bumping method and system |
US20040100490A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Skin button enhancements for remote control |
US20040177370A1 (en) * | 2002-12-10 | 2004-09-09 | Mydtv, Inc. | Storage and use of viewer preference data in a device remote from a set-top box |
US7444336B2 (en) * | 2002-12-11 | 2008-10-28 | Broadcom Corporation | Portable media processing unit in a media exchange network |
US7130623B2 (en) * | 2003-04-17 | 2006-10-31 | Nokia Corporation | Remote broadcast recording |
JP4316295B2 (en) | 2003-05-21 | 2009-08-19 | 株式会社エヌ・ティ・ティ・ドコモ | Thin client system, thin client terminal, relay device, server device, and thin client terminal screen display method |
US7106383B2 (en) * | 2003-06-09 | 2006-09-12 | Matsushita Electric Industrial Co., Ltd. | Method, system, and apparatus for configuring a signal processing device for use with a display device |
-
2004
- 2004-01-05 US US10/751,694 patent/US8196044B2/en not_active Expired - Fee Related
-
2005
- 2005-01-04 DE DE602005003030T patent/DE602005003030T2/en active Active
- 2005-01-04 CA CA002491387A patent/CA2491387A1/en not_active Abandoned
- 2005-01-04 EP EP05000079A patent/EP1551153B1/en not_active Not-in-force
- 2005-01-04 AT AT05000079T patent/ATE377322T1/en not_active IP Right Cessation
- 2005-01-05 BR BRPI0500008-4A patent/BRPI0500008B1/en not_active IP Right Cessation
- 2005-01-05 JP JP2005000783A patent/JP2005202951A/en active Pending
- 2005-01-05 CN CN2005100040832A patent/CN1649411B/en not_active Expired - Fee Related
- 2005-01-05 MX MXPA05000333A patent/MXPA05000333A/en active IP Right Grant
- 2005-01-05 KR KR1020050000724A patent/KR101109264B1/en active IP Right Grant
-
2012
- 2012-01-23 JP JP2012011321A patent/JP5650143B2/en not_active Expired - Fee Related
- 2012-04-16 US US13/447,591 patent/US20120204115A1/en not_active Abandoned
-
2014
- 2014-08-01 JP JP2014157679A patent/JP6306971B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147976A1 (en) * | 1994-08-31 | 2002-10-10 | Yuen Henry C. | Method and apparatus for transmitting, storing, and processing electronic program guide data for on-screen display |
US5784177A (en) * | 1995-05-30 | 1998-07-21 | Canon Kabushiki Kaisha | Printer/facsimile driver |
US5832298A (en) * | 1995-05-30 | 1998-11-03 | Canon Kabushiki Kaisha | Adaptive graphical user interface for a network peripheral |
US6028585A (en) * | 1995-09-22 | 2000-02-22 | International Business Machines Corporation | Screen display control method and a screen display control apparatus |
US7716589B2 (en) * | 1998-10-30 | 2010-05-11 | International Business Machines Corporation | Non-computer interface to a database and digital library |
US7200683B1 (en) * | 1999-08-17 | 2007-04-03 | Samsung Electronics, Co., Ltd. | Device communication and control in a home network connected to an external network |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US6700592B1 (en) * | 2000-06-30 | 2004-03-02 | Sony Corporation | Method and system for dynamically building the graphical user interface of a home AV network device |
US20020004935A1 (en) * | 2000-07-03 | 2002-01-10 | Huotari Allen Joseph | System for remote automated installation and configuration of digital subscriber line modems |
US20020099804A1 (en) * | 2001-01-25 | 2002-07-25 | O'connor Clint H. | Method and system for configuring a computer system via a wireless communication link |
US20020120571A1 (en) * | 2001-02-23 | 2002-08-29 | David Maung | Wireless financial system |
US20040046787A1 (en) * | 2001-06-01 | 2004-03-11 | Attachmate Corporation | System and method for screen connector design, configuration, and runtime access |
US20030090517A1 (en) * | 2001-11-14 | 2003-05-15 | Gateway, Inc. | Adjustable user interface |
US20050097458A1 (en) * | 2001-12-19 | 2005-05-05 | Eric Wilson | Document display system and method |
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20040090464A1 (en) * | 2002-11-01 | 2004-05-13 | Shake Francis David | Method for automatically determining equipment control code sets from a database and presenting information to a user interface |
US20040116140A1 (en) * | 2002-12-20 | 2004-06-17 | Babbar Uppinder S. | Dynamically provisioned mobile station and method therefor |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9084020B2 (en) | 2008-04-17 | 2015-07-14 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving user interface |
US9389881B2 (en) | 2008-04-17 | 2016-07-12 | Samsung Electronics Co., Ltd. | Method and apparatus for generating combined user interface from a plurality of servers to enable user device control |
US9424053B2 (en) | 2008-04-17 | 2016-08-23 | Samsung Electronics Co., Ltd. | Method and apparatus for displaying personalized user interface |
US20100299436A1 (en) * | 2009-05-20 | 2010-11-25 | Shafiqul Khalid | Methods and Systems for Using External Display Devices With a Mobile Computing Device |
US9241062B2 (en) * | 2009-05-20 | 2016-01-19 | Citrix Systems, Inc. | Methods and systems for using external display devices with a mobile computing device |
US20100325203A1 (en) * | 2009-06-19 | 2010-12-23 | Samsung Electrinics Co., Ltd. | Apparatus and method for transmitting and receiving a user interface in a communication system |
US8892633B2 (en) | 2009-06-19 | 2014-11-18 | Samsung Electronics Co., Ltd | Apparatus and method for transmitting and receiving a user interface in a communication system |
US20110157623A1 (en) * | 2009-12-24 | 2011-06-30 | Fuji Xerox Co., Ltd. | Screen image management apparatus, screen image management method, and computer readable medium storing program therefor |
US9298334B1 (en) * | 2011-02-18 | 2016-03-29 | Marvell International Ltd. | Method and apparatus for providing a user interface having a guided task flow among a plurality of devices |
US20150188776A1 (en) * | 2013-12-27 | 2015-07-02 | Kt Corporation | Synchronizing user interface across multiple devices |
US11809217B2 (en) | 2017-06-16 | 2023-11-07 | Microsoft Technology Licensing, Llc | Rules based user interface generation |
Also Published As
Publication number | Publication date |
---|---|
KR101109264B1 (en) | 2012-01-30 |
EP1551153A1 (en) | 2005-07-06 |
KR20050072069A (en) | 2005-07-08 |
JP5650143B2 (en) | 2015-01-07 |
ATE377322T1 (en) | 2007-11-15 |
EP1551153B1 (en) | 2007-10-31 |
MXPA05000333A (en) | 2005-08-19 |
US8196044B2 (en) | 2012-06-05 |
CN1649411A (en) | 2005-08-03 |
US20050149501A1 (en) | 2005-07-07 |
JP6306971B2 (en) | 2018-04-04 |
BRPI0500008A (en) | 2005-09-06 |
JP2014238869A (en) | 2014-12-18 |
BRPI0500008B1 (en) | 2017-06-27 |
JP2012141990A (en) | 2012-07-26 |
DE602005003030D1 (en) | 2007-12-13 |
JP2005202951A (en) | 2005-07-28 |
DE602005003030T2 (en) | 2008-02-28 |
CN1649411B (en) | 2011-04-06 |
CA2491387A1 (en) | 2005-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8196044B2 (en) | Configuration of user interfaces | |
US12010368B2 (en) | Systems and methods for displaying media content and media guidance information | |
US20060041915A1 (en) | Residential gateway system having a handheld controller with a display for displaying video signals | |
US20100064332A1 (en) | Systems and methods for presenting media content obtained from multiple sources | |
WO2010008555A1 (en) | Methods and systems for delivering promotional content for presentation in an interactive media guidance application | |
EP2704397B1 (en) | Presenting media content obtained from multiple sources | |
US11843842B2 (en) | Systems and methods for linking segments of media guidance data for efficient operation of memory constrained devices | |
US11245945B2 (en) | Systems and methods for displaying segments of media guidance data | |
JP4226990B2 (en) | Communication apparatus and computer executable program | |
US8667538B1 (en) | Methods and devices for presenting an interactive media guidance application | |
US11785312B2 (en) | Systems and methods for presenting closed caption and subtitle data during fast-access playback operations | |
KR101689889B1 (en) | Display device and method for selecting of link menu | |
JP4796110B2 (en) | Communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BARRETT, PETER T.;REEL/FRAME:033447/0890 Effective date: 20040105 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |