WO2007136397A1 - System and method for self-adapting user interface based on hardware capability - Google Patents

System and method for self-adapting user interface based on hardware capability Download PDF

Info

Publication number
WO2007136397A1
WO2007136397A1 PCT/US2006/035879 US2006035879W WO2007136397A1 WO 2007136397 A1 WO2007136397 A1 WO 2007136397A1 US 2006035879 W US2006035879 W US 2006035879W WO 2007136397 A1 WO2007136397 A1 WO 2007136397A1
Authority
WO
WIPO (PCT)
Prior art keywords
user interface
user
determining
interface
capability
Prior art date
Application number
PCT/US2006/035879
Other languages
French (fr)
Inventor
Shyan-Ming Perng
Edward C. Drake
Hans E. Wald
Original Assignee
Nokia Siemens Networks Gmbh & Co.Kg
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Siemens Networks Gmbh & Co.Kg filed Critical Nokia Siemens Networks Gmbh & Co.Kg
Priority to EP06814668A priority Critical patent/EP2024821A1/en
Publication of WO2007136397A1 publication Critical patent/WO2007136397A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • This invention relates to interactive television systems. More particularly, the invention relates to systems and methods for a user interface for an interactive, Internet Protocol television system.
  • a distinctive user interface may rely on advanced features such as animation, 3D graphics, etc., which are sensitive to underlying hardware capabilities. It is often desirable to support multiple hardware platforms, e.g., multiple set top boxes which can have disparate user interface capabilities.
  • a method includes determining a hardware capability of a user-interface supporting user device; determining a capability requirement of a user interface; and determining an optimal user interface for the user device based on the hardware capability and the capability requirement.
  • a method includes applying a self-adapting user interface to a declarative user interface framework, the self-adapting user interface including a plurality of user-interface specific markup files; determining a hardware capability of a user-interface supporting user device; determining a capability requirement of a specific user interface; determining an optimal specific user interface for the user device based on the hardware capability and the capability requirement; and downloading to the user device one or more user interface markup files corresponding to the optimal specific user interface
  • a program product stored on one or more computer readable devices includes code executable to cause a determination of a hardware capability of a user- interface supporting user device; code executable to cause a determination of a capability requirement of a user interface; and code executable to cause a determination of an optimal user interface for the user device based on the hardware capability and the capability requirement.
  • FIG. 1 illustrates an exemplary system according to an embodiment of the present invention.
  • FIG. 2 illustrates exemplary hardware optimization for a system in accordance with embodiments of the present invention.
  • FIG. 3 illustrates an exemplary declarative user interface in accordance with an embodiment of the present invention.
  • FIG. 4 is an exemplary system according to embodiments of the present invention.
  • FIG. 5A and FIG. 5B are flowcharts illustrating operation of embodiments of the present invention.
  • FIG. 6A-FIG. 6B illustrate an exemplary media distribution system that may be used in with a layered user interface system according to embodiments of the present invention.
  • FIG. 7A- FIG. 7B is a diagrammatic representation of a device and system that may be used to implement methods according to embodiments of the present invention.
  • FIG. 1 a diagram of a system according to an embodiment of the present invention is shown and generally identified with the reference numeral 100.
  • the system 100 includes an optimization unit 116 coupled to or in communication with a hardware capability API 112, a capability requirement and fallback support unit 114, and a download unit 118. Also included is a declarative user interface framework (DUIF) 106, which can be implemented as a markup language 108 and library of markup files 110a-110n, to process the language. The DUIF 106 may also implement scripting in the markup language 108 and thus have custom extension capability. In some embodiments, the markup files 110a-110n represent various user interface "skins," as will be explained in greater detail below.
  • User devices such as user devices 102a, 102b may be coupled to or in communication with various components of the system 100.
  • the user devices 102a, 102b may be embodied as set top boxes (STB) (not shown), which may be coupled to or in communication with one or more televisions (not shown) for viewing or receiving the content.
  • STB set top boxes
  • the user devices 102a, 102b may include a user interface component 104a, 104b that can provide or modify content being provided to the television associated therewith (e.g., to display a menu of services or to select one or multiple channels from content provided by a third party).
  • the user devices 102a, 102b are connected to or in communication with one or more switched telephone network central offices (not shown) via, e.g., one or more DSL (digital subscriber line) lines.
  • DSL digital subscriber line
  • packet-switched IP data routing is used to provide information about viewer interactions (e.g., content selection, recording control, and other content viewing interactions), such as for viewers that are subscribers of a service providing various types of content and content-related services
  • the hardware capability API 112 may be implemented on one or more of the user devices 102a, 102b and operates to query the device as to its hardware capabilities. This can include, for example, CPU architecture and clock speed, total and available RAM, presence and size of hard disk or flash memory, operating system and version, etc.
  • the capabilities requirement unit 114 supports each user interface feature that can be implemented on the user devices of the system.
  • the capabilities requirement unit 114 thus can maintain a database including hardware requirements, for each feature; and priority and fallback support for each such feature; and directions on implementing features using specific hardware.
  • the hardware capability requirement can be phrased at the application level, e.g., in terms of being able to animate an area of size 200x100 pixels at a rate of 20 frames per second.
  • a fallback for a given animation or feature may be to simply show a blank screen for the feature. This information may be provided, for example, at the factory, or by a system administrator.
  • the optimization unit 116 receives inputs from the hardware capability API 112 and the capability requirement unit 114 implements one or more algorithms to map an application level advanced user interface requirement to the corresponding hardware requirement and evaluate whether a particular hardware configuration can support a given feature.
  • the declarative user interface framework 106 maintains a markup language and a plurality of markup files or skins 110a-110n. As will be explained in greater detail below, embodiments of the present invention allow for determining an optimal set of markup files to download to a particular user device, for use with the user interface.
  • the download unit 118 thus operates to download any user interface components and, in particular, as will be explained in greater detail below, serves to download user interface markup files or skins.
  • the capabilities requirement unit 114, optimization unit 116, download unit 118, and DUIF 106 may be maintained at one or more central servers, as will be explained in greater detail below.
  • FIG. 2 Shown in FIG. 2 is an exemplary (simplified) table 200 showing optimization unit 116 operation. Shown is a listing of available hardware 202. At 204, is a listing of values X, Y that the available hardware can take on, which may be input from the capabilities unit 114. In the case of CPU architecture, for example, such values can identify the CPU (e.g., Pentium, etc.). Shown at 206 and 208 are user interface features A and B, respectively, and their hardware requirements, which may be received via the hardware capability API 112. In the example shown, Feature A requires support level X and Feature B requires support level Y.
  • Feature A can be used at set top boxes implementing X features
  • Feature B can be implemented at set top boxes implementing Y hardware features.
  • the available hardware architectures and features will be relatively more complex.
  • the figure is exemplary only.
  • aspects of the present invention allow for deploying user interfaces without having to deploy the full software stack. This is accomplished through use of the declarative user interface framework (DUIF) 106.
  • the user interface description is separate from the code.
  • multiple versions of the user interface markup files (skin) based on different hardware capabilities may be provided.
  • the appropriate skin or markup file 110a-110n may then be downloaded to the set top box.
  • each platform needs only download and install the relevant skin, thereby minimizing resource usage.
  • one or more of the components of the system 100 may be connected to or in communication with each other via a communication network.
  • a communication network For example, turning now to FIG. 4, a system 150 including the components of the system 100 is illustrated, wherein some or all of the components are in communication via a network 122.
  • the network 122 may be or include the Internet, World Wide Web, a local area network, or some other public or private computer, cable, telephone, client/server, peer-to-peer, or communication network or intranet.
  • the communication network can also include other public and/or private wide area networks, local area networks, wireless networks, data communications networks, or connections, intranets, routers, satellite links, microwave links, cellular or telephone networks, radio links, fiber optic transmission lines, ISDN lines, T1 lines, DSL connections, etc.
  • communications include those enabled by wired or wireless technology.
  • some or all of the network 122 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP), Recommendation H.323, or other protocol.
  • SIP Session Initiation Protocol
  • FIG. 5A illustrates a flowchart of operation of an embodiment of the present invention.
  • the particular arrangement of elements in the flowchart 500 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable.
  • the hardware capability query API 112 queries a particular user device 102a, 102b for its hardware capabilities and provides the information to the optimization unit 116.
  • the capability requirement and fallback support unit 114 information is provided to the optimization unit 116.
  • the optimization unit 116 may receive any input priorities and/or fallbacks. In some embodiments, this information may be included in the information received from the capabilities unit 114.
  • the optimization unit 116 determines the optimal set of user interface features for the device.
  • the appropriate corresponding skins or markup files 110 are downloaded to the device using the download unit 118.
  • the markup files or skins may be downloaded using any suitable download technique, such as multicast or unicast.
  • FIG. 5B illustrates a flowchart of operation of an embodiment of the present invention.
  • the particular arrangement of elements in the flowchart 550 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable.
  • GUI graphical user interface
  • a process step 550 a graphical user interface (GUI) stack is defined, including a declarative user interface framework.
  • one or more DUIF markup file skins are defined. As discussed above, the skins may be provided for a variety of hardware capabilities or a variety of hardware configurations.
  • a GUI stack may be installed on a user device, such as a set top box. This may occur, for example, at the factory or prior to shipping to an end user.
  • the GUI-hardware optimization discussed herein may be performed.
  • the appropriate skin or markup file may be accessed and downloaded to the user device.
  • FIG. 6A depicts a representative environment according to the invention.
  • a network with ATM network backbone 600 This ATM network is capable of fiber data rates of OC3, OC 12, OC46, OC 192 or as is available in the art.
  • a plurality of content providers place information onto ATM network 600.
  • Typical sources of content served include broadcast information 602, Internet information 604, telenetwork 606, broadcast content 606, and video 610.
  • a plurality of ATM switches 612 interface with network 600 to receive and distribute data from the various content sources.
  • the requirements unit 114, optimization unit 116, and download unit 118, as well as the DUIF framework 106, may be implemented at the central plant.
  • DSL modems 614 connect via DSL twisted pair lines 616 to a plurality of modems 616 in various subscribers residences or establishments.
  • From a representative modem 616 there can be attached a telephone 620 and/or a television set which may include and associated set top box 622, and/or a computer 624.
  • the graphical user interface of embodiments of the present invention may thus be operable on or in association with devices such as telephone 620, television with set top box 622, and/or computer 624.
  • the hardware capabilities AP1 112 may be implemented on these devices.
  • FIG. 6B depicts an overview of a digital programming content distribution system according to a particular embodiment of the present invention.
  • One or more central channel server(s) 650 collect(s) information about available programming services distributed from a multiplicity of content providers 660. In a preferable embodiment, this information is multicast by the content providers using the session announcement protocol.
  • Channel server 660 maintains a channel list database 670 which tracks available content channel offerings and a subscriber database 680, which contains subscriber identifications and permitted channels for each subscriber. Subscribers 690 interact with central channel server 650 to obtain programming content information, and with content providers 660 to obtain programs.
  • the channel server 650 and content providers 660 may be co-located on the same machine, or may reside on separate machines.
  • the requirements unit 114, optimization unit 116, and download unit 118, as well as the DUIF framework 106 may be implemented at the central servers 650 and the subscriber 690 may implement the hardware capabilities query API 112. Thus, the subscribers 690 can communicate to receive the appropriate download skins.
  • subscriber database 680 and channel list database 670 may be co-located on the same machine, or may reside on separate machines. Thus, the figure is exemplary only.
  • a control unit 10 includes bus 12, which is shown schematically as a single bus, but can also be a number of buses such as a local bus and one or more expansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), which interconnect subsystems such as a central processor 14, which may be an 80x89, 98xxx, RISC, Pentium family, or other suitable microprocessor family, system memory 19, which may be RAM, ROM, or a combination thereof, input/output (I/O) controller 18, an external device such as a serial port 28, such as a USB port, and parallel port 32, detachable keyboard 30, mouse 29, fixed disk drive 32, which may be a hard disk drive or an optical drive or a CD-ROM
  • Network connections are usually established through a device such as a network adapter 44 attached to one of the buses or a modem on a serial port.
  • Network adapters may include 10 Base T, 100 Base T, optical, ATM, DSL, or other network formats.
  • MPEG decoder 39 and Audio subsystem 42 coupled via bus 12 provide multimedia capability. Many other devices can be connected such as fax 38 connected via serial port 28, touch screen 40 connected directly, infrared peripheral support 34 or printer 20, connected through parallel port 22. Other devices or subsystems (not shown) may be connected in a similar manner. Also, it is not necessary for all of the devices shown in FIG. 7A to be present to practice the invention. The devices and subsystems may be interconnected in different ways from that shown in FIG. 7A without impairing the operation of the system. Source code to implement processing functions in accordance with the present invention may be operably disposed in system memory 16 or stored on storage media such as fixed disk 32 or floppy disk 33.
  • Video interface 33 may be any standard video format, such as S- video.
  • Various forms of user input devices may be used.
  • a touch screen allows a user to point to objects on the screen to select the object and to move the selected object by pointing to a second position on the screen.
  • an infrared or other coupled handheld control unit may be interfaced, allowing the user to interact with the unit, make changes, and indicate preferences.
  • Various buttons and controls may be displayed on the screen for activation by using the mouse, touch screen, or a remote control via infrared IF 34
  • operating system software may be PSOS, DOS, UNIX, WINDOWS95, WINDOWS CE, WINDOWS XP, or other operating systems known in the art.
  • IP Multicast capable TCP/IP software 712 manages the flow of information into and out of the control unit over the network interface 44.
  • a JAVA enabled Internet browser 714 such as Netscape Navigator Microsoft Explorer or their equivalent in the art provide a web-browser user interface to networked resources through TCP/IP software 712.
  • Client control code 719 implements functions specific to the set top box or server operation, such as the processes depicted herein.
  • output to the user's television set is provided by user interface 718 in conjunction with Video Interface Code 720.
  • Other clients 722 such as email, facsimile, video conferencing applications or voice mail may also be supported.
  • the functions of the set top unit are integrated into a television, forming an Internet capable, interactive "Smart Television.”
  • the functions of the set top unit are integrated into a personal computer, forming an Internet- capable, interactive "Workstation Television.”

Abstract

A method includes determining a hardware capability of a user-interface supporting user device (102); determining a capability requirement of a user interface; and determining an optimal user interface for the user device (102) based on the hardware capability and the capability requirement.

Description

SYSTEM AND METHOD FOR SELF-ADAPTING USER INTERFACE BASED ON HARDWARE CAPABILITY
BACKGROUND OF THE INVENTION
Field of the Invention
[1001] This invention relates to interactive television systems. More particularly, the invention relates to systems and methods for a user interface for an interactive, Internet Protocol television system.
Description of the Related Art
[1002] Interactive television service providers regard a user interface as an important service differentiator and an integral part of a satisfactory customer experience. A distinctive user interface may rely on advanced features such as animation, 3D graphics, etc., which are sensitive to underlying hardware capabilities. It is often desirable to support multiple hardware platforms, e.g., multiple set top boxes which can have disparate user interface capabilities.
[1003] One method for supporting multiple set top boxes with multiple user interface capabilities is to provide a separate optimal software stack for each hardware platform. This approach, however, is in most cases too costly and thus not practical.
[1004] Another approach is to provide the same comprehensive stack for every platform and have the user select the optimal settings for his local environment. (This is the approach taken in personal computers). This approach, however, is relatively undesirable, because in the case of television-related customer premises equipment, only minimal administration is desired. Furthermore, some relatively low end set top boxes may not have the capacity to store the full stack; nor should this be required since not all of the stack can necessarily be used. SUMMARY OF THE INVENTION
[1005] A method according to embodiments of the present invention includes determining a hardware capability of a user-interface supporting user device; determining a capability requirement of a user interface; and determining an optimal user interface for the user device based on the hardware capability and the capability requirement.
[1006] A method according to another embodiment of the present invention includes applying a self-adapting user interface to a declarative user interface framework, the self-adapting user interface including a plurality of user-interface specific markup files; determining a hardware capability of a user-interface supporting user device; determining a capability requirement of a specific user interface; determining an optimal specific user interface for the user device based on the hardware capability and the capability requirement; and downloading to the user device one or more user interface markup files corresponding to the optimal specific user interface
[1007] A program product stored on one or more computer readable devices according to an embodiment of the present invention includes code executable to cause a determination of a hardware capability of a user- interface supporting user device; code executable to cause a determination of a capability requirement of a user interface; and code executable to cause a determination of an optimal user interface for the user device based on the hardware capability and the capability requirement..
BRIEF DESCRIPTION OF THE DRAWINGS
[1008] The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference symbols in different drawings indicates similar or identical items.
[1009] FIG. 1 illustrates an exemplary system according to an embodiment of the present invention. [1010] FIG. 2 illustrates exemplary hardware optimization for a system in accordance with embodiments of the present invention.
[1011] FIG. 3 illustrates an exemplary declarative user interface in accordance with an embodiment of the present invention.
[1012] FIG. 4 is an exemplary system according to embodiments of the present invention.
[1013] FIG. 5A and FIG. 5B are flowcharts illustrating operation of embodiments of the present invention.
[1014] FIG. 6A-FIG. 6B illustrate an exemplary media distribution system that may be used in with a layered user interface system according to embodiments of the present invention.
[1015] FIG. 7A- FIG. 7B is a diagrammatic representation of a device and system that may be used to implement methods according to embodiments of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[1016] Turning now to the drawings and, with particular attention to FIG. 1 , a diagram of a system according to an embodiment of the present invention is shown and generally identified with the reference numeral 100.
[1017] The system 100 includes an optimization unit 116 coupled to or in communication with a hardware capability API 112, a capability requirement and fallback support unit 114, and a download unit 118. Also included is a declarative user interface framework (DUIF) 106, which can be implemented as a markup language 108 and library of markup files 110a-110n, to process the language. The DUIF 106 may also implement scripting in the markup language 108 and thus have custom extension capability. In some embodiments, the markup files 110a-110n represent various user interface "skins," as will be explained in greater detail below. [1018] User devices, such as user devices 102a, 102b may be coupled to or in communication with various components of the system 100. The user devices 102a, 102b may be embodied as set top boxes (STB) (not shown), which may be coupled to or in communication with one or more televisions (not shown) for viewing or receiving the content. Thus, the user devices 102a, 102b may include a user interface component 104a, 104b that can provide or modify content being provided to the television associated therewith (e.g., to display a menu of services or to select one or multiple channels from content provided by a third party). In addition, in some embodiments, the user devices 102a, 102b are connected to or in communication with one or more switched telephone network central offices (not shown) via, e.g., one or more DSL (digital subscriber line) lines. In such embodiments, packet-switched IP data routing is used to provide information about viewer interactions (e.g., content selection, recording control, and other content viewing interactions), such as for viewers that are subscribers of a service providing various types of content and content-related services
[1019] The hardware capability API 112 may be implemented on one or more of the user devices 102a, 102b and operates to query the device as to its hardware capabilities. This can include, for example, CPU architecture and clock speed, total and available RAM, presence and size of hard disk or flash memory, operating system and version, etc.
[1020] The capabilities requirement unit 114 supports each user interface feature that can be implemented on the user devices of the system. The capabilities requirement unit 114 thus can maintain a database including hardware requirements, for each feature; and priority and fallback support for each such feature; and directions on implementing features using specific hardware. The hardware capability requirement can be phrased at the application level, e.g., in terms of being able to animate an area of size 200x100 pixels at a rate of 20 frames per second. A fallback for a given animation or feature may be to simply show a blank screen for the feature. This information may be provided, for example, at the factory, or by a system administrator. [1021] The optimization unit 116 receives inputs from the hardware capability API 112 and the capability requirement unit 114 implements one or more algorithms to map an application level advanced user interface requirement to the corresponding hardware requirement and evaluate whether a particular hardware configuration can support a given feature.
[1022] The declarative user interface framework 106 maintains a markup language and a plurality of markup files or skins 110a-110n. As will be explained in greater detail below, embodiments of the present invention allow for determining an optimal set of markup files to download to a particular user device, for use with the user interface. The download unit 118 thus operates to download any user interface components and, in particular, as will be explained in greater detail below, serves to download user interface markup files or skins.
[1023] The capabilities requirement unit 114, optimization unit 116, download unit 118, and DUIF 106 may be maintained at one or more central servers, as will be explained in greater detail below.
[1024] Shown in FIG. 2 is an exemplary (simplified) table 200 showing optimization unit 116 operation. Shown is a listing of available hardware 202. At 204, is a listing of values X, Y that the available hardware can take on, which may be input from the capabilities unit 114. In the case of CPU architecture, for example, such values can identify the CPU (e.g., Pentium, etc.). Shown at 206 and 208 are user interface features A and B, respectively, and their hardware requirements, which may be received via the hardware capability API 112. In the example shown, Feature A requires support level X and Feature B requires support level Y. Thus, Feature A can be used at set top boxes implementing X features, and Feature B can be implemented at set top boxes implementing Y hardware features. In practice, of course, the available hardware architectures and features will be relatively more complex. Thus, the figure is exemplary only.
[1025] Furthermore, it is possible to implement a priority of user interface features. For example, if more than one feature of the same kind can be implemented using a particular hardware architecture, it may be desirable to choose to actually implement the "newest," or "most advanced" or otherwise "best" such feature. Similarly, if a particular feature does not have the required hardware, then a fallback may be provided.
[1026] In addition to providing an optimization unit for matching user interface features to hardware capabilities, aspects of the present invention allow for deploying user interfaces without having to deploy the full software stack. This is accomplished through use of the declarative user interface framework (DUIF) 106. In particular, in the DUIF 106, the user interface description is separate from the code. Thus, multiple versions of the user interface markup files (skin) based on different hardware capabilities may be provided. The appropriate skin or markup file 110a-110n may then be downloaded to the set top box. Thus, each platform needs only download and install the relevant skin, thereby minimizing resource usage.
[1027] This is illustrated with reference to FlG. 3. In particular, shown is DUIF 106, and a plurality of user interface software stacks 301a-301c for a plurality of corresponding user devices. (It is noted that, for different hardware platforms, only the "skin" is different - the rest of the stack can be the same). The skins, or markup files 302a-302c, can be downloaded to the set top boxes as appropriate.
[1028] In certain embodiments of the present invention, one or more of the components of the system 100 may be connected to or in communication with each other via a communication network. For example, turning now to FIG. 4, a system 150 including the components of the system 100 is illustrated, wherein some or all of the components are in communication via a network 122. The network 122 may be or include the Internet, World Wide Web, a local area network, or some other public or private computer, cable, telephone, client/server, peer-to-peer, or communication network or intranet. In some embodiments, the communication network can also include other public and/or private wide area networks, local area networks, wireless networks, data communications networks, or connections, intranets, routers, satellite links, microwave links, cellular or telephone networks, radio links, fiber optic transmission lines, ISDN lines, T1 lines, DSL connections, etc. Moreover, as used herein, communications include those enabled by wired or wireless technology. In some embodiments, some or all of the network 122 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP), Recommendation H.323, or other protocol.
[1029] FIG. 5A illustrates a flowchart of operation of an embodiment of the present invention. The particular arrangement of elements in the flowchart 500 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable.
[1030] In a step 502, the hardware capability query API 112 queries a particular user device 102a, 102b for its hardware capabilities and provides the information to the optimization unit 116. In a process step 504, the capability requirement and fallback support unit 114 information is provided to the optimization unit 116. In a process step 505, the optimization unit 116 may receive any input priorities and/or fallbacks. In some embodiments, this information may be included in the information received from the capabilities unit 114.
[1031] In a process step 506, the optimization unit 116 determines the optimal set of user interface features for the device. In a process step 508, the appropriate corresponding skins or markup files 110 are downloaded to the device using the download unit 118. The markup files or skins may be downloaded using any suitable download technique, such as multicast or unicast.
[1032] FIG. 5B illustrates a flowchart of operation of an embodiment of the present invention. The particular arrangement of elements in the flowchart 550 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable. [1033] In a process step 550, a graphical user interface (GUI) stack is defined, including a declarative user interface framework. In a process step 554, one or more DUIF markup file skins are defined. As discussed above, the skins may be provided for a variety of hardware capabilities or a variety of hardware configurations.
[1034] In a process step 556, a GUI stack may be installed on a user device, such as a set top box. This may occur, for example, at the factory or prior to shipping to an end user. In a process step 558, the GUI-hardware optimization discussed herein may be performed. Finally, in a step 560, the appropriate skin or markup file may be accessed and downloaded to the user device.
[1035] As discussed above, embodiments of the present invention are suited to an internet protocol media distribution system. FIG. 6A depicts a representative environment according to the invention. Central to FIG. 6A is a network with ATM network backbone 600. This ATM network is capable of fiber data rates of OC3, OC 12, OC46, OC 192 or as is available in the art. A plurality of content providers place information onto ATM network 600. Typical sources of content served include broadcast information 602, Internet information 604, telenetwork 606, broadcast content 606, and video 610.
[1036] In a representative central plant, a plurality of ATM switches 612 interface with network 600 to receive and distribute data from the various content sources. The requirements unit 114, optimization unit 116, and download unit 118, as well as the DUIF framework 106, may be implemented at the central plant. Information flows from ATM switches 612 via a plurality of paths 613 to a plurality of DSL modems 614. DSL modems 614 connect via DSL twisted pair lines 616 to a plurality of modems 616 in various subscribers residences or establishments. From a representative modem 616, there can be attached a telephone 620 and/or a television set which may include and associated set top box 622, and/or a computer 624. The graphical user interface of embodiments of the present invention may thus be operable on or in association with devices such as telephone 620, television with set top box 622, and/or computer 624. As shown, the hardware capabilities AP1 112 may be implemented on these devices.
[1037] FIG. 6B depicts an overview of a digital programming content distribution system according to a particular embodiment of the present invention. One or more central channel server(s) 650 collect(s) information about available programming services distributed from a multiplicity of content providers 660. In a preferable embodiment, this information is multicast by the content providers using the session announcement protocol. Channel server 660 maintains a channel list database 670 which tracks available content channel offerings and a subscriber database 680, which contains subscriber identifications and permitted channels for each subscriber. Subscribers 690 interact with central channel server 650 to obtain programming content information, and with content providers 660 to obtain programs. In related embodiments, the channel server 650 and content providers 660 may be co-located on the same machine, or may reside on separate machines.
[1038] As noted above, the requirements unit 114, optimization unit 116, and download unit 118, as well as the DUIF framework 106, may be implemented at the central servers 650 and the subscriber 690 may implement the hardware capabilities query API 112. Thus, the subscribers 690 can communicate to receive the appropriate download skins.
[1039] In related embodiments, subscriber database 680 and channel list database 670 may be co-located on the same machine, or may reside on separate machines. Thus, the figure is exemplary only.
[1040] In a representative embodiment, the invention may be practiced using a control system with the basic subsystems and functions depicted in FIG. 7A to implement a set top box or the central channel server(s). In the representative system of FIG. 7A, a control unit 10 includes bus 12, which is shown schematically as a single bus, but can also be a number of buses such as a local bus and one or more expansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), which interconnect subsystems such as a central processor 14, which may be an 80x89, 98xxx, RISC, Pentium family, or other suitable microprocessor family, system memory 19, which may be RAM, ROM, or a combination thereof, input/output (I/O) controller 18, an external device such as a serial port 28, such as a USB port, and parallel port 32, detachable keyboard 30, mouse 29, fixed disk drive 32, which may be a hard disk drive or an optical drive or a CD-ROM or DVD-ROM drive or other suitable medium; and a floppy disk drive 33 operative to receive a floppy disk.
[1041] Network connections are usually established through a device such as a network adapter 44 attached to one of the buses or a modem on a serial port. Network adapters may include 10 Base T, 100 Base T, optical, ATM, DSL, or other network formats.
[1042] MPEG decoder 39 and Audio subsystem 42 coupled via bus 12 provide multimedia capability. Many other devices can be connected such as fax 38 connected via serial port 28, touch screen 40 connected directly, infrared peripheral support 34 or printer 20, connected through parallel port 22. Other devices or subsystems (not shown) may be connected in a similar manner. Also, it is not necessary for all of the devices shown in FIG. 7A to be present to practice the invention. The devices and subsystems may be interconnected in different ways from that shown in FIG. 7A without impairing the operation of the system. Source code to implement processing functions in accordance with the present invention may be operably disposed in system memory 16 or stored on storage media such as fixed disk 32 or floppy disk 33.
[1043] Video interface 33 may be any standard video format, such as S- video. Various forms of user input devices may be used. For example, a touch screen allows a user to point to objects on the screen to select the object and to move the selected object by pointing to a second position on the screen. Alternatively, an infrared or other coupled handheld control unit may be interfaced, allowing the user to interact with the unit, make changes, and indicate preferences. Various buttons and controls may be displayed on the screen for activation by using the mouse, touch screen, or a remote control via infrared IF 34
[1044] Operatively disposed in memory 19, or resident on fixed disk 32, operating system software may be PSOS, DOS, UNIX, WINDOWS95, WINDOWS CE, WINDOWS XP, or other operating systems known in the art. Executing concurrently and cooperatively with operating system software 710 (FIG. 7B), IP Multicast capable TCP/IP software 712 manages the flow of information into and out of the control unit over the network interface 44. A JAVA enabled Internet browser 714, such as Netscape Navigator Microsoft Explorer or their equivalent in the art provide a web-browser user interface to networked resources through TCP/IP software 712. Client control code 719 implements functions specific to the set top box or server operation, such as the processes depicted herein.
[1045] In set top box implementations, output to the user's television set is provided by user interface 718 in conjunction with Video Interface Code 720. Other clients 722 such as email, facsimile, video conferencing applications or voice mail may also be supported. In a related embodiment, the functions of the set top unit are integrated into a television, forming an Internet capable, interactive "Smart Television." In a related embodiment, the functions of the set top unit are integrated into a personal computer, forming an Internet- capable, interactive "Workstation Television."
[1046] As used herein, whether in the above description or the following claims, the terms "comprising," "including," "carrying," "having," "containing," "involving," and the like are to be understood to be open-ended, that is, to mean including but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of," respectively, shall be considered exclusionary transitional phrases, as set forth, with respect to claims, in the United States Patent Office Manual of Patent Examining Procedures (Eighth Edition, August 2001 as revised October 2005), Section 2111.03.
[1047] Any use of ordinal terms such as "first," "second," "third," etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another, or the temporal order in which acts of a method are performed. Rather, unless specifically stated otherwise, such ordinal terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).
[1048] The above described preferred embodiments are intended to illustrate the principles of the invention, but not to limit the scope of the invention. Various other embodiments and modifications to these preferred embodiments may be made by those skilled in the art without departing from the scope of the present invention.

Claims

What is claimed is:
1. A method, characterized by: determining a hardware capability of a user-interface supporting user device (102); determining a capability requirement of a user interface (104); and determining an optimal user interface for the user device (102) based on the hardware capability and the capability requirement.
2. A method in accordance with claim 1 , further including determining a priority of a plurality of user interfaces for use with the user device, wherein said determining an optimal user interface is based on said priority.
3. A method in accordance with claim 1 , including determining a fallback for a user interface feature.
4. A method in accordance with claim 1 , further including downloading to the user device (102) one or more user interface markup files (110a-110n) based on said determining the optimal user interface.
5. A method, characterized by. applying a self-adapting user interface (104) to a declarative user interface framework (106), the self-adapting user interface including a plurality of user-interface specific markup files (110); determining a hardware capability of a user-interface supporting user device (102); determining a capability requirement of a specific user interface; determining an optimal specific user interface for the user device (102) based on the hardware capability and the capability requirement; and downloading to the user device (102) one or more user interface markup files (110) corresponding to the optimal specific user interface.
6. A program product stored on one or more computer readable devices, the program product including: code executable to cause a determination of a hardware capability of a user-interface supporting user device (102); code executable to cause a determination of a capability requirement of a user interface (104); and code executable to cause a determination of an optimal user interface for the user device (102) based on the hardware capability and the capability requirement.
7. A program product in accordance with claim 6, further including code executable to cause a determination of a priority of a plurality of user interfaces (104) for use with the user device (102), wherein said determining an optimal user interface is based on said priority.
8. A program product in accordance with claim 6, further including code executable to cause a determination of a fallback for a user interface feature.
9. A program product in accordance with claim 6, further including code executable to cause a downloading to the user device (102) one or more user interface markup files (110) based on said determining the optimal user interface.
10. A system, characterized by: a plurality of user devices (102) implementing a plurality of user interfaces (104); and a self-adapting user interface update system (100), the update system including: means for determining a hardware capability (112) of a user- interface supporting user device (102); means for determining a capability requirement (114) of a specific user interface; and means for determining an optimal specific user interface (116) for the user device (102) based on the hardware capability and the capability requirement.
11. A system in accordance with claim 10, wherein the plurality of user interfaces (110) comprise a declarative user interface framework (106) having a markup language and a plurality of markup files (110) associated with a plurality of user interfaces (104).
12. A system in accordance with claim 11 , further including means for downloading to the user device (102) one or more user interface markup files corresponding to the optimal specific user interface.
13. A system in accordance with claim 12, further including means for determining a priority of a plurality of user interfaces for use with the user device (102), wherein said determining an optimal user interface is based on said priority.
14. A system in accordance with claim 13, further including determining a fallback for a user interface feature.
PCT/US2006/035879 2006-05-19 2006-09-14 System and method for self-adapting user interface based on hardware capability WO2007136397A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06814668A EP2024821A1 (en) 2006-05-19 2006-09-14 System and method for self-adapting user interface based on hardware capability

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80171306P 2006-05-19 2006-05-19
US60/801,713 2006-05-19

Publications (1)

Publication Number Publication Date
WO2007136397A1 true WO2007136397A1 (en) 2007-11-29

Family

ID=37651081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/035879 WO2007136397A1 (en) 2006-05-19 2006-09-14 System and method for self-adapting user interface based on hardware capability

Country Status (2)

Country Link
EP (1) EP2024821A1 (en)
WO (1) WO2007136397A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113415A1 (en) * 2012-06-27 2015-04-23 Huawei Technologies Co., Ltd. Method and apparatus for determining user interface

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009429A2 (en) * 2000-07-26 2002-01-31 Eyeball Network Games Inc. System and method for adaptable, scalable multimedia broadcasting over a network
US20020054174A1 (en) * 1998-12-18 2002-05-09 Abbott Kenneth H. Thematic response to a computer user's context, such as by a wearable personal computer
WO2003017077A1 (en) * 2001-08-16 2003-02-27 Nokia Corporation Skins for mobile communication devices
WO2003067427A2 (en) * 2002-02-07 2003-08-14 British Telecommunications Public Limited Company Graphical user interface
US20050172235A1 (en) * 2004-02-02 2005-08-04 International Business Machines Corporation System and method for excluded elements mapping in a user interface
US20050182855A1 (en) * 2004-02-13 2005-08-18 Apostolopoulos John G. Media data transcoding devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054174A1 (en) * 1998-12-18 2002-05-09 Abbott Kenneth H. Thematic response to a computer user's context, such as by a wearable personal computer
WO2002009429A2 (en) * 2000-07-26 2002-01-31 Eyeball Network Games Inc. System and method for adaptable, scalable multimedia broadcasting over a network
WO2003017077A1 (en) * 2001-08-16 2003-02-27 Nokia Corporation Skins for mobile communication devices
WO2003067427A2 (en) * 2002-02-07 2003-08-14 British Telecommunications Public Limited Company Graphical user interface
US20050172235A1 (en) * 2004-02-02 2005-08-04 International Business Machines Corporation System and method for excluded elements mapping in a user interface
US20050182855A1 (en) * 2004-02-13 2005-08-18 Apostolopoulos John G. Media data transcoding devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113415A1 (en) * 2012-06-27 2015-04-23 Huawei Technologies Co., Ltd. Method and apparatus for determining user interface

Also Published As

Publication number Publication date
EP2024821A1 (en) 2009-02-18

Similar Documents

Publication Publication Date Title
US7933970B2 (en) Methods, systems, and products for managing access to applications
US9350950B2 (en) System and method for providing update information
US20070271532A1 (en) Method and apparatus for displaying layered user interface
US20080168487A1 (en) Software-based conditional access to IPTV content
US7725552B2 (en) Content and service delivery in telecommunication networks
US20080040767A1 (en) System and method of providing a set-top box application
US8626733B2 (en) System and associated methods for remotely enabling features
US7856646B1 (en) Preparation and utilization of customer profile data in a cable services network
AU2009240495B2 (en) System and method of managed content distrubution
CN101371570B (en) A method and apparatus for providing a picture in picture service
JP2005500626A (en) Content delivery model
CN1609780A (en) Systems and methods for projecting content from computing devices
US20080049767A1 (en) Method for controlling multiple network services based on a user profile
JP2002529857A (en) Upgrading the collaborative aspect of the home network
EP1993288B1 (en) A system and method for generating electronic program guides
US20050038869A1 (en) Business portal API
US20020099790A1 (en) Method and system for providing convergent network services
KR20080075043A (en) System for providing content data to a user, providing a customized program schedule to a remote user location, and generating a program schedule, and method of scheduling content data
WO2007136397A1 (en) System and method for self-adapting user interface based on hardware capability
US20110238724A1 (en) Method and system for providing content service using multiple devices
US8806338B2 (en) System and method for interactive internet protocol television help
US20100122289A1 (en) Portable Client-Side Settings for a Multimedia Content Distribution Network
EP2071506A1 (en) Method and system for providing a personalized entertainment service to a guest at a lodging facility
EP1126371A2 (en) Service providing apparatus transmitting apparatus, receiving apparatus, and receiving method
WO2007139571A1 (en) Hybrid client and network based personal video recorder

Legal Events

Date Code Title Description
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06814668

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2006814668

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE