EP2507699B1 - System and method for configuration of controlling device functionality - Google Patents

System and method for configuration of controlling device functionality Download PDF

Info

Publication number
EP2507699B1
EP2507699B1 EP10835121.4A EP10835121A EP2507699B1 EP 2507699 B1 EP2507699 B1 EP 2507699B1 EP 10835121 A EP10835121 A EP 10835121A EP 2507699 B1 EP2507699 B1 EP 2507699B1
Authority
EP
European Patent Office
Prior art keywords
programming
widget
programming block
hand
held 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.)
Active
Application number
EP10835121.4A
Other languages
German (de)
French (fr)
Other versions
EP2507699A1 (en
EP2507699A4 (en
Inventor
Arsham Hatambeiki
Brian Alex Truong
Han-Sheng Yuh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universal Electronics Inc
Original Assignee
Universal Electronics Inc
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 Universal Electronics Inc filed Critical Universal Electronics Inc
Publication of EP2507699A1 publication Critical patent/EP2507699A1/en
Publication of EP2507699A4 publication Critical patent/EP2507699A4/en
Application granted granted Critical
Publication of EP2507699B1 publication Critical patent/EP2507699B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42208Display device provided on the remote control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42224Touch pad or touch panel provided on the remote control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42226Reprogrammable remote control devices
    • H04N21/42227Reprogrammable remote control devices the keys being reprogrammable, e.g. soft keys
    • H04N21/42228Reprogrammable remote control devices the keys being reprogrammable, e.g. soft keys the reprogrammable keys being displayed on a display screen in order to reduce the number of keys on the remote control device itself
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/20Binding and programming of remote control devices
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/20Binding and programming of remote control devices
    • G08C2201/21Programming remote control devices via third means
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/92Universal remote control

Definitions

  • the following relates generally to controlling devices and, more particularly, to a configurable controlling device having an associated editor program for use in configuring, among other things, the user interface and functionality of the controlling device.
  • U.S. Patent No. 6,211,870 illustrates and describes a controlling device which is programmable from a PC using an advanced, object-oriented user interface. More particularly, multiple user selectable screen objects may be created on the PC and transferred to the controlling device.
  • the screen objects include screen layout and descriptions of soft keys to be displayed on a graphic display of the controlling device, as well as commands associated with the screen object, the soft keys and/or programmable keys on the remote control unit. The user may then select any of the screen objects once they have been transferred to the controlling device to control the operation of various appliances.
  • PCT published application no. WO 00/39772 discloses a universal, programmable remote control device which has programming that enables an end-user to customize the remote control device through editing or programming of the control functionalities of the remote control device.
  • the programming is achieved via a PC.
  • the control configuration created via an editor on the PC can be downloaded into the device.
  • the PC has emulator software to test the configuration before downloading.
  • WO 00/39772 generally discloses the editor for the Philips' "Pronto" brand remote control.
  • programmable controlling devices are utilized in applications which require adaptable functionality, i.e., an ability to dynamically modify the actions performed in response to user input based on variable parameters such as time, existing state of an appliance, previous action performed, etc., especially in environments which include networked and/or interactive appliances. While some known controlling devices and associated editor programs do provide limited methods for supporting such adaptable functionality, such programming of these controlling devices is tedious and error-prone.
  • WO 2008/086306 A1 discloses creating web-clip widgets on a portable multifunction device.
  • US 6,211,870 B1 discloses a computer programmable remote control. Multiple user selectable screen objects may be created from a general purpose computer and transferred to the remote control unit.
  • WO 00/39772 A1 discloses a fully functional remote control editor and emulator.
  • US 2006/050142 A1 discloses a configurable controlling device having an associated editing program.
  • the following generally discloses an editor program for use in configuring a user interface of a controlling device, together with a configurable controlling device such as a hand-held remote control unit.
  • the editor program allows a user to create on a personal computer for downloading to the controlling device a graphical user interface comprised of user interface pages having icons which icons, when activated on the controlling device, cause the controlling device to perform a function or series of functions, such as to transmit a command to an appliance, to change the user interface display, etc.
  • the editor program provides, among other things, for selection and placement of icons onto user interface display pages, assignment of commands to function keys (both iconic and hard keys), assignment of backgrounds to user interface pages or groups of pages, creation of icon-activated, user-defined command sequences, pre-rendering of user interface pages prior to downloading of the user interface to the controlling device, etc.
  • the user interface editor and the operating software of the controlling device may also support the definition and editing of n-state widgets, which are unitary GUI objects comprising one or more touch activated areas together with one or more display graphics (not necessarily in a one-for-one relationship) and which are capable of both initiating parameterized command functions in response to user or system inputs, as well as receiving and acting upon status responses or other data received from target appliances.
  • the editor program may include features to facilitate flexible definition of the exact behavior, appearance, and functionality of such widget objects.
  • Fig. 1 illustrates an exemplary system including controllable appliances, such as a set top box (“STB") 104, a DVD player 106, an audio amplifier/receiver 108, a television 102, a lighting fixture 110 with associated multilevel dimmer 114, and a surveillance camera 112 as well as a controlling device 100.
  • the controlling device 100 is capable of transmitting commands to the appliances, using any convenient IR or RF, point-to-point or networked, protocol to cause the appliances to perform operational functions.
  • the controlling device of Figure 1 may utilize uni- or bi-directional IR signaling 116, proprietary RF signaling 118 (e.g., Zwave), and/or standardized RF network signaling 120 (e.g., WiFi or Bluetooth) to communicate with the various target appliances.
  • uni- or bi-directional IR signaling 116 proprietary RF signaling 118 (e.g., Zwave), and/or standardized RF network signaling 120 (e.g., WiFi or Bluetooth) to communicate with the various target appliances.
  • proprietary RF signaling 118 e.g., Zwave
  • standardized RF network signaling 120 e.g., WiFi or Bluetooth
  • controllable appliances can include, but are not limited to, televisions, VCRs, DVRs, DVD players, cable or satellite converter set-top boxes (STBs), amplifiers, media streaming devices, CD players, game consoles, home lighting, drapery controls, fans, HVAC systems, thermostats, door locks, security systems, personal computers, etc., and, as such, the instant exemplary disclosures are not intended to be limiting as to type or quantity of controllable appliances or equipment.
  • the controlling device 100 of the exemplary system may include, as needed for a particular application, a processor 200 coupled to a physically embodied, non-transient memory device (such as ROM memory 204, RAM memory 202, and/or a non-volatile memory 206), a key matrix 216 (e.g., physical buttons, a touch sensitive display with soft keys, or a combination thereof), an internal clock and timer 222, an IR (and/or RF) transmitter 208 for directly issuing commands to controlled appliances, one or more RF (and/or IR) wireless transmission and reception circuit(s) 210, 212 for issuing commands to controlled appliances via a network and/or transferring data or commands between the controlling device and other networked controlling devices or external computing devices such as a PC, a physical input/output interface 224 (e.g., USB interface) for use in directly transferring data between the controlling device and an external computing devices such as a
  • a physically input/output interface 224 e.g., USB interface
  • the non-volatile read/write memory 206 for example an EEPROM, battery-backed up RAM, Smart Card, memory stick, or the like, may be provided to store setup data and parameters as necessary. It is to be additionally understood that the memory devices may take the form of any type of readable media, such as, for example, ROM, RAM, SRAM, FLASH, EEPROM, Smart Card, memory stick, a chip, a hard disk, a magnetic disk, and/or an optical disk. Still further, it will be appreciated that some or all of the illustrated memory devices 202, 204, and 206 may be physically incorporated within the same IC chip as the microprocessor 200 (a so called "microcontroller") and, as such, they are shown separately in Fig. 2 only for the sake of clarity.
  • the microprocessor 200 a so called "microcontroller”
  • the controlling device 100 is adapted to be responsive to events, such as a sensed user interaction with the key matrix 216, receipt of a data or signal transmission, etc.
  • events such as a sensed user interaction with the key matrix 216, receipt of a data or signal transmission, etc.
  • appropriate instructions within the memory may be executed. For example, when a command key is activated on the controlling device 100, the controlling device 100 may retrieve a command code corresponding to the activated command key from memory 204 or 206 and transmit the command code to a device in a format recognizable by the device.
  • the instructions within the memory can be used not only to cause the transmission of command codes and/or data to the appliances but also to perform local operations.
  • controlling device 100 While not limiting, other local operations that may be performed by the controlling device 100 include execution of pre-programmed macro command sequences, displaying information/data, manipulating the appearance of a graphical user interface presented on a local LCD display 218, etc.
  • the software programming of controlling device 100 may utilize an underlying operating system such as, for example, Microsoft's "Windows CE" or "Windows Mobile” brand operating systems.
  • GUI graphical user interface
  • certain functionalities of controlling device 100 may be defined as a set of interrelated pages for display on the touch screen of an exemplary controlling via the use of a software based editing tool 300, i.e., computer executable instructions stored on a physically embodied, non-transient memory device, which editing tool may be provided as in the form of an application program to be installed on a PC 302 running an operating system, for example, a Microsoft "Windows” brand operating system, as generally illustrated in Figures 3a and 3b and described in further detail hereinafter.
  • a software based editing tool 300 i.e., computer executable instructions stored on a physically embodied, non-transient memory device, which editing tool may be provided as in the form of an application program to be installed on a PC 302 running an operating system, for example, a Microsoft "Windows” brand operating system, as generally illustrated in Figures 3a and 3b and described in further detail hereinafter.
  • Editor application 300 may be offered by the manufacturer of the controlling device 100 on a CD ROM, for download from a Web site, etc., as appropriate for installation on a PC of the user's choice. Once the editor application is installed on the user's PC 302, the controlling device GUI may be created or revised using the editor application, stored locally in device memory as a file 310 on PC 302 and/or caused to be downloaded into controlling device 100 via a hardwired connection 304, a wireless link 306 (e.g., WiFi, Bluetooth, Zigbee, etc.) or any other convenient means.
  • a wireless link 306 e.g., WiFi, Bluetooth, Zigbee, etc.
  • the editor application 300 may also be adapted to access additional data items from remotely located servers via the Internet 308, from appliances linked to the PC 302 via a home network, etc.
  • additional data items may include, without limitation, IR command codes (e.g., to allow for support of new appliances), data which indicates operations supported by an appliance, device model number cross-references (e.g., for entering into the controlling device for set-up purposes as disclosed in, for example, U.S. Patent No. 6,587,067 ), operational software updates for controlling device 100, etc.
  • data may also be uploaded from PC 302 to a centralized repository, e.g., a remotely located, Internet accessible server.
  • uploaded information may include, for example, current user configurations, learned IR code data, etc., and may be comprised of or derived from data stored locally on PC 302 (for example, file 310) and/or data retrieved from controlling device 100 during the times controlling device 100 is coupled to PC 302.
  • all or part of the editor program itself may be resident on a Web server platform, for example in the form of ActiveX, JavaScript, etc. programming and as such the PC-based editor 300 is presented herein by way of example only, without limitation.
  • exemplary controlling device 100 Certain aspects of the operation of exemplary controlling device 100 will now be discussed in conjunction with Figures 4 through 8 .
  • the actual appearance and functionality of all the GUI pages in controlling device 100 represent only one instance of the output of editor application 300. It will thus be understood that the GUIs and associated functionality presented herein are by way of example only and not intended to be limiting in any way.
  • Controlling device 100 may include both a touch activated LCD screen 218 with soft keys (or other form of touch panel) and several groups of hard buttons 414, 416, 418, 420.
  • the hard buttons groups might comprise, for example, a volume control group 416 (e.g., volume up, down, and mute), a channel changing group 418 (e.g., channel up, down, and return), a navigation group embodied in disk 414 (e.g., for menu navigation and selection including up, down, left, right, and enter/select), and/or a row of programmable keys 420 (e.g., keys for supporting macros or other to-be-configured functions).
  • a volume control group 416 e.g., volume up, down, and mute
  • a channel changing group 418 e.g., channel up, down, and return
  • a navigation group embodied in disk 414 e.g., for menu navigation and selection including up, down, left, right, and enter
  • an exemplary Home Page GUI 400 may be presented within the display.
  • the illustrated, exemplary home Page 400 includes five touch-activated buttons.
  • touching icon 402 may be used to initiate the activity of watching cable TV by causing controlling device 100 to transmit the commands required to power on cable STB 104, power on TV 102, select the TV input to which the cable STB is connected, and then cause the controlling device GUI to transition to a page (e.g., display having soft keys, an EPG, or the like) from which cable STB channel selection may be input (for further tuning, retrieving related content information, etc.).
  • a page e.g., display having soft keys, an EPG, or the like
  • Touching icon 404 may be used to similarly cause the controlling device to place the entertainment system into a condition suitable for an activity such as watching a DVD movie, while touching icon 406 may be used to cause the controlling device to place the system into a condition for an activity such as listening to music.
  • Touching icon 408 may be used to cause the controlling device to transition to another page 500 of the GUI (an example of which is shown in Fig.
  • individual appliance control pages may be called up, i.e., navigated to, using icons 502 (e.g., to navigate to a page having cable STB related control icons), 504 (e.g., to navigate to a page having TV related control icons), 506 (e.g., to navigate to a page having DVD player related control icons), and 508 (e.g., to navigate to a page having audio receiver related control icons).
  • icons 502 e.g., to navigate to a page having cable STB related control icons
  • 504 e.g., to navigate to a page having TV related control icons
  • 506 e.g., to navigate to a page having DVD player related control icons
  • 508 e.g., to navigate to a page having audio receiver related control icons.
  • Figure 6 GUI page 600 having soft keys for use in controlling receiver input selection commands
  • Figure 7 GUI page 700 having soft keys for use in controlling DVD transport functions
  • Figure 8 GUI page 800 having soft keys for use in cable STB channel number entry
  • the PC screen display of the editor application may be divided into several windows or panels, each having a specific purpose.
  • the panels may be as follows:
  • an exemplary editing program 300 may further support the configuration of reusable GUI elements which may incorporate all or some of information display, touch activatable control or input, data retrieval and/or manipulation, decision, issuance of commands to appliances, etc., such GUI elements hereafter referred to as "widgets.”
  • GUI elements such GUI elements hereafter referred to as "widgets.”
  • the creation of such widgets by a user of editing program 300 may be facilitated by the provision of various programming blocks, each representing a specific function (hereafter "blocks") which, in a widget definition mode of editor 300, may be dragged onto a graphic workspace and interconnected by mouse clicks in order to define the functionality of a widget. Illustrations of such a workspace and associated editing tools may be found in Figures 11a , 11b and 12 .
  • a listing of available functionalities may be presented in a blocks panel 1102 from which individual blocks may be dragged onto a work surface 1100,1200 and interconnected as necessary to define the series of steps and/or actions to be taken by a controlling device when executing a particular widget, for example a widget 1104 to display a security camera picture or a widget 1204 to adjust a lighting level.
  • Each programming block may be graphically represented as a processing unit with input and output ports. Data may be transferred from block to block via these ports, i.e., according to the connections made from one block's output to the input of another block during widget definition.
  • an exemplary group of such programming blocks may include, without limitation:
  • a system event may comprise, for example, controller wakeup, page load, WiFi on, WiFi off, etc.
  • a system event Block may be triggered when the specified event occurs and its output used to trigger other Blocks.
  • a timer Block may output a value after the specified delay, which output may be used to trigger other Blocks.
  • a timer Block may also be used to generate repetitive trigger outputs at a specified interval.
  • Inputs A trigger value.
  • Outputs ButtonUp or ButtonDown (e.g., integer values "0" our "1").
  • Properties Displays an activatable touch screen button.
  • Programmed parameters may include an image and/or text caption for display, X-Y coordinates for placement on the touch screen, etc.
  • Inputs None Outputs: KeyUp or KeyDown (e.g., integer values "0" or “1"). Properties: Assigned to a physical hard key of the controlling device, for example by selection from a drop-down menu at programming time.
  • Inputs Current position, minimum, maximum.
  • Outputs New position input by user.
  • Properties Displays a slider bar on the controlling device touch screen and allows user input to adjust the current value.
  • Inputs Any trigger.
  • Outputs The value specified at programming time.
  • Properties Outputs a fixed value when triggered.
  • Inputs Set value or get value.
  • Outputs Value established by the most recent set command.
  • Properties A global flag may be accessible from any programming in the controlling device, while a local flag may be accessed only from within the programming corresponding to the current page. Note: In the exemplary embodiment contemplated herein, as a general rule widget programming may not span pages, i.e., a widget is only active while the GUI page with which it has been associated is currently displayed by the controlling device. A global flag may thus be utilized for example to transfer a data value from a widget in one page to a widget in another page.
  • Inputs Integer.
  • Outputs True or false.
  • Properties Logical comparison of the input to a preset value, according to one of the following operators: Equals, Not Equals, Greater, Greater or equals, Less, Less or equals.
  • Inputs Two integer values.
  • Output Result value.
  • Properties Performs one of the following mathematical calculations: Add, Subtract, Multiply, Divide, Modulo.
  • Inputs One or more.
  • Outputs One.
  • Properties Performs a logical AND or OR function. When defined as AND, all inputs must be present to produce an output. When defined as OR, any present input will produce an output.
  • Inputs Integer value.
  • Outputs Successive triggers.
  • Properties The sequence of program blocks following this one will be repeated the number of times specified by the input value.
  • Inputs One value.
  • Outputs One of many.
  • Properties Programmed with a list of values. When an input is received, this is compared to the programmed list and the output corresponding to the matching value is triggered.
  • Inputs Trigger. Outputs: One of many. Properties: Each successive input cycles to the next output in sequence.
  • Inputs Trigger. Outputs: None.
  • Properties This block executes any action(s) that have been assigned to it, for example transmission of an appliance control command, macro, page switch, etc.
  • Inputs Any supported image file, for example .png, .bmp, .jpg, etc.
  • Outputs None.
  • Properties Displays an image on the touch screen, for example album art, camera image, etc.
  • Programmed parameters may include X, Y coordinates and size.
  • Inputs Command string or integer.
  • Outputs Response from addressed appliance.
  • Properties Causes transmission of the input data to the specified target appliance selected from devices panel 912.
  • the transmission medium e.g., WiFi, Zwave, serial I/O, etc., to be used may be determined by the nature of the target appliance selected.
  • a widget 1104 for displaying an image retrieved from security camera 112 may be created by dragging and connecting programming blocks as follows: Initiation of the widget may be defined by blocks 1106, 1108 and 1110. Whenever a page containing widget 1104 is loaded for display by controlling device 100 (resulting from inclusion of block 1106) and every three seconds thereafter for as long as that page continues to be active (resulting from the inclusion of block 1108) the logical "OR" function of block 1110 may issue a trigger 1112 to cause output of a predefined constant ACSII string by block 1114.
  • This constant ASCII string may comprise an image retrieval command to be transmitted via WiFi link 120 to security camera 112 which has been associated with IP device block 1116.
  • IP device block 1116 that is the retrieved camera image (e.g., in the form of a JPEG file), is then passed to image display block 1118 for presentation on the screen of controlling device 100 with size and position as indicated.
  • image display block 1118 for presentation on the screen of controlling device 100 with size and position as indicated.
  • the individual options and parameters associated with each block may be defined for example via selection of item(s) from drop down menus and/or via use of data entry fields which may be initiated by double clicking each block or settable block parameter, for example as illustrated in the case of the establishing of the parameter for system event block 1106 by use of the drop down menu shown on page 1120 of Figure 11b .
  • a widget may be defined which will automatically display a current security camera image whenever a controlling device page containing that widget is loaded.
  • a "door camera" page 1302 may be created and an instance of security camera widget 1104 dragged onto page 1302.
  • the size and location of the display area 1304 within page 1302 may be as defined within programming block 1118 of Figure 11a .
  • a button 1402 may be created on device control page 500 and assigned an action 1404 which may comprise jumping to the newly-created door camera page 1304.
  • the above described programming may enable a user (e.g., upon hearing a doorbell) to activate button 1402 and thereby cause retrieval and display 1304 of an image 1502 captured by security camera 112.
  • initiation of widget 1204 may occur upon loading of a page containing that widget, as illustrated by programming block 1206. This may be used to trigger the issuance of a "get current level" command by block 1208, e.g., to a Z-wave light controller device such as 114 of Figure 1 .
  • the resulting lighting level value may be passed to a progress/slider block 1210 to cause display of a slider bar at the designated touchscreen coordinates. If user touch input is received changing the position of the slider, the new value may comprise an output of block 1210 which in turn may become an input for a level setting command to be issued to device 114 by block 1212. If such a widget were assigned a GUI page 1306 and activation button 1406 in the manner previously described, download and execution by an exemplary controlling device 100 upon activation of button 1406 may result in a GUI display 1504 as illustrated in Figure 15 .
  • the user interfaces described herein need not be limited to controlling devices but can be utilized in connection with any device having input elements wherein it is desired to convey information concerning such input elements.
  • the user interface may be utilized with devices such as calculators, phones, appliances, etc. having input elements having associated information conveying images in the form of alphanumeric and/or symbolic labels.
  • modification, editing, or updating of configuration settings may be performed either by a user or through any automated computing processes as are well known in the art.
  • the particular concepts disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)

Description

    RELATED APPLICATION INFORMATION
  • This application claims the benefit of U.S. Provisional Patent Application No. 61/266,014, filed on December 2, 2009 .
  • This application also claims the benefit of and is a continuation-in-part of U.S. Application No. 12/629,423, filed June 24 2009 , which in turn is a continuation-in-part of U.S. Application 11/357,681, filed February 16, 2006 , which in turn is a continuation-in-part of U.S. Application 11/218,900 (now U.S. Patent 7,266,777), filed on September 2, 2005 , which in turn claims the benefit of U.S. Provisional Patent Application Nos. 60/608,183, filed on September 8, 2004 , and 60/705,926, filed on August 5, 2005 .
  • BACKGROUND
  • The following relates generally to controlling devices and, more particularly, to a configurable controlling device having an associated editor program for use in configuring, among other things, the user interface and functionality of the controlling device.
  • Editor programs for configuring a controlling device, such as a hand held remote control, are known in the art. For example, U.S. Patent No. 6,211,870 illustrates and describes a controlling device which is programmable from a PC using an advanced, object-oriented user interface. More particularly, multiple user selectable screen objects may be created on the PC and transferred to the controlling device. The screen objects include screen layout and descriptions of soft keys to be displayed on a graphic display of the controlling device, as well as commands associated with the screen object, the soft keys and/or programmable keys on the remote control unit. The user may then select any of the screen objects once they have been transferred to the controlling device to control the operation of various appliances.
  • Similarly, PCT published application no. WO 00/39772 discloses a universal, programmable remote control device which has programming that enables an end-user to customize the remote control device through editing or programming of the control functionalities of the remote control device. The programming is achieved via a PC. In this manner, the control configuration created via an editor on the PC can be downloaded into the device. It is additionally disclosed that the PC has emulator software to test the configuration before downloading. It is to be understood that WO 00/39772 generally discloses the editor for the Philips' "Pronto" brand remote control.
  • Increasingly, such programmable controlling devices are utilized in applications which require adaptable functionality, i.e., an ability to dynamically modify the actions performed in response to user input based on variable parameters such as time, existing state of an appliance, previous action performed, etc., especially in environments which include networked and/or interactive appliances. While some known controlling devices and associated editor programs do provide limited methods for supporting such adaptable functionality, such programming of these controlling devices is tedious and error-prone.
  • WO 2008/086306 A1 discloses creating web-clip widgets on a portable multifunction device.
  • US 6,211,870 B1 discloses a computer programmable remote control. Multiple user selectable screen objects may be created from a general purpose computer and transferred to the remote control unit.
  • WO 00/39772 A1 discloses a fully functional remote control editor and emulator.
  • US 2006/050142 A1 discloses a configurable controlling device having an associated editing program.
  • SUMMARY
  • The following generally discloses an editor program for use in configuring a user interface of a controlling device, together with a configurable controlling device such as a hand-held remote control unit. The editor program allows a user to create on a personal computer for downloading to the controlling device a graphical user interface comprised of user interface pages having icons which icons, when activated on the controlling device, cause the controlling device to perform a function or series of functions, such as to transmit a command to an appliance, to change the user interface display, etc. The editor program provides, among other things, for selection and placement of icons onto user interface display pages, assignment of commands to function keys (both iconic and hard keys), assignment of backgrounds to user interface pages or groups of pages, creation of icon-activated, user-defined command sequences, pre-rendering of user interface pages prior to downloading of the user interface to the controlling device, etc. Advantageously, in an exemplary embodiment the user interface editor and the operating software of the controlling device may also support the definition and editing of n-state widgets, which are unitary GUI objects comprising one or more touch activated areas together with one or more display graphics (not necessarily in a one-for-one relationship) and which are capable of both initiating parameterized command functions in response to user or system inputs, as well as receiving and acting upon status responses or other data received from target appliances. The editor program may include features to facilitate flexible definition of the exact behavior, appearance, and functionality of such widget objects.
  • The various advantages, features, properties and relationships of this improved user interface editor and controlling device system will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments which are indicative of the various ways in which the principles thereof may be employed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For use in better understanding the user interface editor and configuration system and related methods described hereinafter reference may be had to the following drawings in which:
    • Figure 1 illustrates an exemplary home entertainment system in which the exemplary controlling devices may be utilized;
    • Figure 2 illustrates a block diagram of components of an exemplary controlling device;
    • Figures 3a and 3b illustrate exemplary editing systems which may be used to configure and download a controlling device configuration, including a user interface, to an exemplary controlling device;
    • Figure 4 illustrates an exemplary home page graphical user interface ("GUI") for a touch screen of a controlling device;
    • Figure 5 illustrates an exemplary device selection page GUI for the touch screen of a controlling device;
    • Figure 6 illustrates an exemplary device control page GUI for the touch screen of a controlling device;
    • Figure 7 illustrates another exemplary device control page GUI for the touch screen of a controlling device;
    • Figure 8 illustrates yet another exemplary device control page GUI for the touch screen of a controlling device;
    • Figure 9 illustrates an exemplary PC-based editor which may be used to create the appearance and functionality of the exemplary GUI of Figure 4;
    • Figure 10 illustrates an exemplary group of programming blocks which may be used in the definition of widgets;
    • Figures 11a and 11b illustrate the use of the programming blocks of Figure 10 in a PC-based editor to create an exemplary widget;
    • Figure 12 illustrates the use of the programming blocks of Figure 10 in a PC-based editor to create a second exemplary widget;
    • Figures 13 and 14 illustrate the placement of the widget of Figures 11a and 11b into an exemplary control page GUI; and
    • Figure 15 illustrates the subsequent execution and appearance of the control pages and widget programming after download into a controlling device.
    DETAILED DESCRIPTION
  • The following discloses a controlling device having a face panel on which is carried a user interface activatable to cause transmission of at least one command to at least one appliance. Turning now to the figures, wherein like reference numerals refer to like elements, Fig. 1 illustrates an exemplary system including controllable appliances, such as a set top box ("STB") 104, a DVD player 106, an audio amplifier/receiver 108, a television 102, a lighting fixture 110 with associated multilevel dimmer 114, and a surveillance camera 112 as well as a controlling device 100. The controlling device 100 is capable of transmitting commands to the appliances, using any convenient IR or RF, point-to-point or networked, protocol to cause the appliances to perform operational functions. By way of illustration without limitation, the controlling device of Figure 1 may utilize uni- or bi-directional IR signaling 116, proprietary RF signaling 118 (e.g., Zwave), and/or standardized RF network signaling 120 (e.g., WiFi or Bluetooth) to communicate with the various target appliances. While illustrated in the context of a STB 104 with DVD player 106, audio system 108, television 102, lighting fixture 110 and camera 112 it is to be understood that controllable appliances can include, but are not limited to, televisions, VCRs, DVRs, DVD players, cable or satellite converter set-top boxes (STBs), amplifiers, media streaming devices, CD players, game consoles, home lighting, drapery controls, fans, HVAC systems, thermostats, door locks, security systems, personal computers, etc., and, as such, the instant exemplary disclosures are not intended to be limiting as to type or quantity of controllable appliances or equipment.
  • Turning now to Figure 2, for use in transmitting command codes to one or more of the appliances, the controlling device 100 of the exemplary system may include, as needed for a particular application, a processor 200 coupled to a physically embodied, non-transient memory device (such as ROM memory 204, RAM memory 202, and/or a non-volatile memory 206), a key matrix 216 (e.g., physical buttons, a touch sensitive display with soft keys, or a combination thereof), an internal clock and timer 222, an IR (and/or RF) transmitter 208 for directly issuing commands to controlled appliances, one or more RF (and/or IR) wireless transmission and reception circuit(s) 210, 212 for issuing commands to controlled appliances via a network and/or transferring data or commands between the controlling device and other networked controlling devices or external computing devices such as a PC, a physical input/output interface 224 (e.g., USB interface) for use in directly transferring data between the controlling device and an external computing devices such as a PC, STB, etc., a means 218 to provide visual feedback to the user (e.g., LCD display or the like, which may underlay all or part of a touch sensitive portion of key matrix 216), a means 220 to provide audio feedback (speaker, buzzer, etc.) and a power supply 214 all as generally illustrated in Fig. 2. As will be understood by those of skill in the art, the memory device(s) may include executable instructions that are intended to be executed by the processor 200 to control the operation of the controlling device 100.
  • The non-volatile read/write memory 206, for example an EEPROM, battery-backed up RAM, Smart Card, memory stick, or the like, may be provided to store setup data and parameters as necessary. It is to be additionally understood that the memory devices may take the form of any type of readable media, such as, for example, ROM, RAM, SRAM, FLASH, EEPROM, Smart Card, memory stick, a chip, a hard disk, a magnetic disk, and/or an optical disk. Still further, it will be appreciated that some or all of the illustrated memory devices 202, 204, and 206 may be physically incorporated within the same IC chip as the microprocessor 200 (a so called "microcontroller") and, as such, they are shown separately in Fig. 2 only for the sake of clarity.
  • To cause the controlling device 100 to perform an action, the controlling device 100 is adapted to be responsive to events, such as a sensed user interaction with the key matrix 216, receipt of a data or signal transmission, etc. In response to an event appropriate instructions within the memory may be executed. For example, when a command key is activated on the controlling device 100, the controlling device 100 may retrieve a command code corresponding to the activated command key from memory 204 or 206 and transmit the command code to a device in a format recognizable by the device. It will be appreciated that the instructions within the memory can be used not only to cause the transmission of command codes and/or data to the appliances but also to perform local operations. While not limiting, other local operations that may be performed by the controlling device 100 include execution of pre-programmed macro command sequences, displaying information/data, manipulating the appearance of a graphical user interface presented on a local LCD display 218, etc. For convenience and economy of development effort, the software programming of controlling device 100 may utilize an underlying operating system such as, for example, Microsoft's "Windows CE" or "Windows Mobile" brand operating systems.
  • As contemplated in the above referenced and related U.S. patent applications 12/629,433 , 11/357,681 and 11/218,900 and provisional applications 61/266,014 , 60/201,021 , 60/608,183 and 60/705,926 , the graphical user interface ("GUI") and certain functionalities of controlling device 100 may be defined as a set of interrelated pages for display on the touch screen of an exemplary controlling via the use of a software based editing tool 300, i.e., computer executable instructions stored on a physically embodied, non-transient memory device, which editing tool may be provided as in the form of an application program to be installed on a PC 302 running an operating system, for example, a Microsoft "Windows" brand operating system, as generally illustrated in Figures 3a and 3b and described in further detail hereinafter. In the illustrative examples that follow, it will be appreciated by those skilled in the art that development tools such as Microsoft's Visual Studio, the C# programming language, and various third party libraries may be used to facilitate creation of the software comprising exemplary editing tool 300 and exemplary controlling device 100 GUI and functionality.
  • Editor application 300 may be offered by the manufacturer of the controlling device 100 on a CD ROM, for download from a Web site, etc., as appropriate for installation on a PC of the user's choice. Once the editor application is installed on the user's PC 302, the controlling device GUI may be created or revised using the editor application, stored locally in device memory as a file 310 on PC 302 and/or caused to be downloaded into controlling device 100 via a hardwired connection 304, a wireless link 306 (e.g., WiFi, Bluetooth, Zigbee, etc.) or any other convenient means. Additionally, it will be appreciated that the editor application 300, although primarily resident on the user's local PC 302, may also be adapted to access additional data items from remotely located servers via the Internet 308, from appliances linked to the PC 302 via a home network, etc. Examples of such items may include, without limitation, IR command codes (e.g., to allow for support of new appliances), data which indicates operations supported by an appliance, device model number cross-references (e.g., for entering into the controlling device for set-up purposes as disclosed in, for example, U.S. Patent No. 6,587,067 ), operational software updates for controlling device 100, etc. It will also be appreciated that in such an environment data may also be uploaded from PC 302 to a centralized repository, e.g., a remotely located, Internet accessible server. Such uploaded information may include, for example, current user configurations, learned IR code data, etc., and may be comprised of or derived from data stored locally on PC 302 (for example, file 310) and/or data retrieved from controlling device 100 during the times controlling device 100 is coupled to PC 302. It will also be appreciated that in alternative embodiments, all or part of the editor program itself may be resident on a Web server platform, for example in the form of ActiveX, JavaScript, etc. programming and as such the PC-based editor 300 is presented herein by way of example only, without limitation.
  • Certain aspects of the operation of exemplary controlling device 100 will now be discussed in conjunction with Figures 4 through 8. In this context, as will be appreciated by those familiar with the relevant art and/or with the previously referenced parent and U.S. provisional applications, the actual appearance and functionality of all the GUI pages in controlling device 100 represent only one instance of the output of editor application 300. It will thus be understood that the GUIs and associated functionality presented herein are by way of example only and not intended to be limiting in any way.
  • Controlling device 100 may include both a touch activated LCD screen 218 with soft keys (or other form of touch panel) and several groups of hard buttons 414, 416, 418, 420. The hard buttons groups might comprise, for example, a volume control group 416 (e.g., volume up, down, and mute), a channel changing group 418 (e.g., channel up, down, and return), a navigation group embodied in disk 414 (e.g., for menu navigation and selection including up, down, left, right, and enter/select), and/or a row of programmable keys 420 (e.g., keys for supporting macros or other to-be-configured functions).
  • Upon start of operation, or any time the "Home" button 422 (e.g., a button located on the side of the device) is activated, an exemplary Home Page GUI 400 may be presented within the display. The illustrated, exemplary home Page 400 includes five touch-activated buttons. By way of example only, touching icon 402 may be used to initiate the activity of watching cable TV by causing controlling device 100 to transmit the commands required to power on cable STB 104, power on TV 102, select the TV input to which the cable STB is connected, and then cause the controlling device GUI to transition to a page (e.g., display having soft keys, an EPG, or the like) from which cable STB channel selection may be input (for further tuning, retrieving related content information, etc.). Touching icon 404 may be used to similarly cause the controlling device to place the entertainment system into a condition suitable for an activity such as watching a DVD movie, while touching icon 406 may be used to cause the controlling device to place the system into a condition for an activity such as listening to music. Touching icon 408 may be used to cause the controlling device to transition to another page 500 of the GUI (an example of which is shown in Fig. 5) from which individual appliance control pages may be called up, i.e., navigated to, using icons 502 (e.g., to navigate to a page having cable STB related control icons), 504 (e.g., to navigate to a page having TV related control icons), 506 (e.g., to navigate to a page having DVD player related control icons), and 508 (e.g., to navigate to a page having audio receiver related control icons). Examples of individual appliance control pages are shown in Figure 6 (GUI page 600 having soft keys for use in controlling receiver input selection commands), Figure 7 (GUI page 700 having soft keys for use in controlling DVD transport functions), and Figure 8 (GUI page 800 having soft keys for use in cable STB channel number entry).
  • In this way it will be understood and appreciated that a plurality of commands and/or actions may be performed both locally on controlling device 100 and remotely on the various appliances under the control of controlling device 100 in response to a single or multiple interaction(s) by a user with the key matrix 216 of controlling device 100.
  • Turning now to Figure 9, the operation of an editing program 300 which may be used to create the above-disclosed, exemplary GUI pages and associated functionality will be described in further detail. For this purpose, the PC screen display of the editor application may be divided into several windows or panels, each having a specific purpose. By way of example, the panels may be as follows:
    • Main project panel 902, used to display the current GUI page being edited (Home Page 400 in this illustration) together with a representation 922, in this example, of the hard keys (keys 414 through 420) available on target controlling device 100;
    • Project View panel 904, used to display all currently defined GUI pages in a tree structure form (which may, as depicted in the exemplary embodiment shown, have collapse [-] and expand [+] functionality including selective expansion of individual nodes and/or a collapse all/expand all feature) where the GUI page to be edited may be selected (e.g., by clicking on a link) from within the tree structure list and wherein the GUI page being displayed in the Main project panel 902 may be indicated by a highlight 918 (the Home Page in the instant illustration);
    • Properties panel 906, used to display a list of (and allow editing of - for example by text entry, selection from drop down menus, etc.) the properties (such as the caption text and font attributes, symbol position, button type, etc.) associated with a presently selected GUI icon or hard key image within Main project panel 902 (GUI icon or soft key 404' with label "DVD Movie" in this illustration, as indicated by the highlight (dotted line) around icon 404' displayed in Main project panel 902);
    • Gallery panel 908, used to display graphic images which may be dragged and dropped onto the GUI pages being edited in window 902 wherein the Gallery choices may include sets of icons for use as buttons, page backgrounds, symbols for labeling buttons, key groups (to allow a group of related key icons, e.g. a numeric pad, to be dragged into place in a single operation), to allow pre-defined themes to be applied to single pages or groups of pages, or in an exemplary embodiment to allow home control interface items such as n-state widgets to be dragged and dropped onto GUI pages being edited, and wherein the Gallery in use (when multiple, organized Galleries are provided) is selected via tabs 914 according to the exemplary embodiment shown;
    • Actions panel 910, used to display a list of (and allow editing of - for example by dragging and dropping to change the order, by deleting selected items, etc.) the actions to be performed by controlling device 100 when the currently selected icon (in the Main panel 902) is activated by a user when the user interface is provided to the controlling device (e.g., in the example presented, it can be seen that activating the "DVD Movie" icon 404' will: (1) transmit a "Power On" command to DVD player 106, (2) transmit a "Power On" command to TV set 102, (3) wait one second for the devices to stabilize, then (4) transmit a "Component 2" input selection command to TV 102, (5) transmit "DVD" input selection command to Audio Receiver 108, and finally (6) jump to GUI page 700 corresponding to the DVD transport controls (illustrated in Fig. 7); and
    • Devices panel 912 which is preferably used to display a listing of all remote control commands available for each of the appliances setup to be controlled by controlling device 100 wherein the list of commandable functions for a given appliance to be displayed may be selected from a drop down list 916 (which in the illustrative example would comprise a TV 102, a cable STB 104, a DVD player 106, an audio receiver 108, a security camera 112, and a lamp dimmer 114) and wherein the commandable functions so displayed may be assigned to any icon displayed in main project panel 902 by simply clicking and dragging a commandable function icon to, for example, a desired location with a listing of functions displayed in the Actions panel 910 and/or over an icon displayed in the Main panel (where it would be added, for example, to the top or bottom of the listing of commands within the Action panel display).
  • In certain embodiments, an exemplary editing program 300 may further support the configuration of reusable GUI elements which may incorporate all or some of information display, touch activatable control or input, data retrieval and/or manipulation, decision, issuance of commands to appliances, etc., such GUI elements hereafter referred to as "widgets." Advantageously, the creation of such widgets by a user of editing program 300 may be facilitated by the provision of various programming blocks, each representing a specific function (hereafter "blocks") which, in a widget definition mode of editor 300, may be dragged onto a graphic workspace and interconnected by mouse clicks in order to define the functionality of a widget. Illustrations of such a workspace and associated editing tools may be found in Figures 11a, 11b and 12. As illustrated, a listing of available functionalities may be presented in a blocks panel 1102 from which individual blocks may be dragged onto a work surface 1100,1200 and interconnected as necessary to define the series of steps and/or actions to be taken by a controlling device when executing a particular widget, for example a widget 1104 to display a security camera picture or a widget 1204 to adjust a lighting level.
  • Each programming block may be graphically represented as a processing unit with input and output ports. Data may be transferred from block to block via these ports, i.e., according to the connections made from one block's output to the input of another block during widget definition. Turning for the moment to Figure 10, an exemplary group of such programming blocks may include, without limitation:
  • System Event 1002.
  • Inputs: None. Outputs: Trigger value. Properties: A system event may comprise, for example, controller wakeup, page load, WiFi on, WiFi off, etc. A system event Block may be triggered when the specified event occurs and its output used to trigger other Blocks.
  • Timer 1004:
  • Inputs: None. Outputs: Integer value. Properties: A timer Block may output a value after the specified delay, which output may be used to trigger other Blocks. Optionally, a timer Block may also be used to generate repetitive trigger outputs at a specified interval.
  • Button 1028:
  • Inputs: A trigger value. Outputs: ButtonUp or ButtonDown (e.g., integer values "0" our "1"). Properties: Displays an activatable touch screen button. Programmed parameters may include an image and/or text caption for display, X-Y coordinates for placement on the touch screen, etc.
  • Hard Button 1008:
  • Inputs: None Outputs: KeyUp or KeyDown (e.g., integer values "0" or "1"). Properties: Assigned to a physical hard key of the controlling device, for example by selection from a drop-down menu at programming time.
  • Slider 1026:
  • Inputs: Current position, minimum, maximum. Outputs: New position input by user. Properties: Displays a slider bar on the controlling device touch screen and allows user input to adjust the current value.
  • Constant 1006:
  • Inputs: Any trigger. Outputs: The value specified at programming time. Properties: Outputs a fixed value when triggered.
  • Flag (Global or Local) 1010:
  • Inputs: Set value or get value. Outputs: Value established by the most recent set command. Properties: A global flag may be accessible from any programming in the controlling device, while a local flag may be accessed only from within the programming corresponding to the current page. Note: In the exemplary embodiment contemplated herein, as a general rule widget programming may not span pages, i.e., a widget is only active while the GUI page with which it has been associated is currently displayed by the controlling device. A global flag may thus be utilized for example to transfer a data value from a widget in one page to a widget in another page.
  • If/Then 1012:
  • Inputs: Integer. Outputs: True or false. Properties: Logical comparison of the input to a preset value, according to one of the following operators: Equals, Not Equals, Greater, Greater or equals, Less, Less or equals.
  • Math 1014:
  • Inputs: Two integer values. Output: Result value. Properties: Performs one of the following mathematical calculations: Add, Subtract, Multiply, Divide, Modulo.
  • Multiplexer 1016:
  • Inputs: One or more. Outputs: One. Properties: Performs a logical AND or OR function. When defined as AND, all inputs must be present to produce an output. When defined as OR, any present input will produce an output.
  • Repeater 1018:
  • Inputs: Integer value. Outputs: Successive triggers. Properties: The sequence of program blocks following this one will be repeated the number of times specified by the input value.
  • Switch 1020:
  • Inputs: One value. Outputs: One of many. Properties: Programmed with a list of values. When an input is received, this is compared to the programmed list and the output corresponding to the matching value is triggered.
  • Toggle/Stepper 1022:
  • Inputs: Trigger. Outputs: One of many. Properties: Each successive input cycles to the next output in sequence.
  • Action 1024:
  • Inputs: Trigger. Outputs: None. Properties: This block executes any action(s) that have been assigned to it, for example transmission of an appliance control command, macro, page switch, etc.
  • Image 1030:
  • Inputs: Any supported image file, for example .png, .bmp, .jpg, etc. Outputs: None. Properties: Displays an image on the touch screen, for example album art, camera image, etc. Programmed parameters may include X, Y coordinates and size.
  • Serial, Z-Wave or IP Device 1032, 1034:
  • Inputs: Command string or integer. Outputs: Response from addressed appliance. Properties: Causes transmission of the input data to the specified target appliance selected from devices panel 912. The transmission medium, e.g., WiFi, Zwave, serial I/O, etc., to be used may be determined by the nature of the target appliance selected.
  • Returning now to Figure 11, a widget 1104 for displaying an image retrieved from security camera 112 may be created by dragging and connecting programming blocks as follows: Initiation of the widget may be defined by blocks 1106, 1108 and 1110. Whenever a page containing widget 1104 is loaded for display by controlling device 100 (resulting from inclusion of block 1106) and every three seconds thereafter for as long as that page continues to be active (resulting from the inclusion of block 1108) the logical "OR" function of block 1110 may issue a trigger 1112 to cause output of a predefined constant ACSII string by block 1114. This constant ASCII string may comprise an image retrieval command to be transmitted via WiFi link 120 to security camera 112 which has been associated with IP device block 1116. The output of IP device block 1116, that is the retrieved camera image (e.g., in the form of a JPEG file), is then passed to image display block 1118 for presentation on the screen of controlling device 100 with size and position as indicated. As will be appreciated, the individual options and parameters associated with each block may be defined for example via selection of item(s) from drop down menus and/or via use of data entry fields which may be initiated by double clicking each block or settable block parameter, for example as illustrated in the case of the establishing of the parameter for system event block 1106 by use of the drop down menu shown on page 1120 of Figure 11b.
  • In this manner a widget may be defined which will automatically display a current security camera image whenever a controlling device page containing that widget is loaded. Turning now to Figure 13, once an exemplary security camera display widget 1104 has been defined it may then be available for use as an object in controlling device GUI pages. For example, a "door camera" page 1302 may be created and an instance of security camera widget 1104 dragged onto page 1302. The size and location of the display area 1304 within page 1302 may be as defined within programming block 1118 of Figure 11a. With reference to Figure 14, once door camera page 1304 has been defined in this manner, a button 1402 may be created on device control page 500 and assigned an action 1404 which may comprise jumping to the newly-created door camera page 1304. When downloaded and executed by an exemplary controlling device 100 as illustrated in Figure 15, the above described programming may enable a user (e.g., upon hearing a doorbell) to activate button 1402 and thereby cause retrieval and display 1304 of an image 1502 captured by security camera 112.
  • By way of further example, the programming of an exemplary lighting level control widget 1204 will now be discussed in conjunction with Figure 12. Once again, initiation of widget 1204 may occur upon loading of a page containing that widget, as illustrated by programming block 1206. This may be used to trigger the issuance of a "get current level" command by block 1208, e.g., to a Z-wave light controller device such as 114 of Figure 1. The resulting lighting level value may be passed to a progress/slider block 1210 to cause display of a slider bar at the designated touchscreen coordinates. If user touch input is received changing the position of the slider, the new value may comprise an output of block 1210 which in turn may become an input for a level setting command to be issued to device 114 by block 1212. If such a widget were assigned a GUI page 1306 and activation button 1406 in the manner previously described, download and execution by an exemplary controlling device 100 upon activation of button 1406 may result in a GUI display 1504 as illustrated in Figure 15.
  • While various concepts have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those concepts could be developed in light of the overall teachings of the disclosure. For example, while the embodiments presented above are described in the context of universal remote controls (i.e., controlling devices capable of commanding the operation of multiple classes of appliances devices from multiple manufacturers) as being most broadly representative of controlling devices in general, it will be appreciated that the teachings of this disclosure may be equally well applied to other controlling devices of narrower capability, and also to any general or specific purpose device requiring a visual interface (i.e., display screens, signage devices, teleprompters, etc.) without departing from the scope of the present invention. Still further, it will be appreciated that the user interfaces described herein need not be limited to controlling devices but can be utilized in connection with any device having input elements wherein it is desired to convey information concerning such input elements. For example, the user interface may be utilized with devices such as calculators, phones, appliances, etc. having input elements having associated information conveying images in the form of alphanumeric and/or symbolic labels. It will also be understood that modification, editing, or updating of configuration settings may be performed either by a user or through any automated computing processes as are well known in the art. As such, the particular concepts disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.

Claims (14)

  1. A computer-readable media embodied on a physical, non-transient memory device having instructions for creating a user interface for provision to a hand-held device (100) adapted to control functional operations of one or more appliances (102, 104, 106, 108, 110, 112, 114), the instructions performing steps comprising:
    receiving input to create a widget (1104) which is activatable via the user interface of the hand-held device (100) to cause the hand-held device (100) to perform at least one action wherein activation of the created widget will cause a transmission of a control command to one or more of the appliances in communication with the hand-held device, the widget (1104) comprising a plurality ofpre-defmed, user selected programming blocks (1106-1118) each graphically represented as a processing unit with at least one of an input and an output of which user selected ones of the inputs and outputs of the pre-defined, user selected programming blocks (1106-1118) are graphically interconnected via user interaction to define the at least one action to be performed upon activation of the widget (1104); and
    receiving input to add the created widget (1104) to a user interface to be provided to the hand-held device (100).
  2. The computer-readable media as recited in claim 1, wherein the input to create the widget (1104) further comprises input used to define one or parameters associated with one or more of the pre-defmed, user selected programming blocks (1106-1118).
  3. The computer-readable media as recited in claim 1, wherein the widget (1104) is associated with a page of the user interface and wherein the widget is activated in response to a user selection made to cause a display of the page in a touch-screen display of the hand-held device (100).
  4. The computer-readable media as recited in claim 1, wherein the widget (1104) is associated with a hard key of the hand-held device (100) and wherein the widget is activated in response to a user selection of the hard key.
  5. The computer-readable media as recited in claim 1, wherein activation of the widget causes a retrieval of data from one or more appliances in communication with the hand-held device (100).
  6. The computer-readable media as recited in claim 1, wherein the pre-defined, user selected programming blocks (1106-1118) are selected from a library (1102) of pre-defined programming blocks including one or more of a system event programming block (1106), a timer programming block (1108), a button programming block, a hard button programming block, a slider programming block, a constant programming block (1114), a flag programming block, an if/then programming block, a math programming block, a multiplexer programming block (1110), a repeater programming block, a switch programming block, a toggle programming block, an action programming block, an image programming block (1118), and an appliance response receiving programming block.
  7. The computer-readable media as recited in claim 1, wherein the pre-defined, user selected programming blocks are selected from a library (1102) of pre-defmed programming blocks including logic performing blocks and input and/or output performing blocks.
  8. A method for creating a user interface for provision to a hand-held device (100) adapted to control functional operations of one or more appliances (102, 104, 106, 108, 110, 112, 114), comprising:
    creating at a development system a widget (1104) which is activatable via the user interface of the hand-held device (100) to cause the hand-held device (100) to perform at least one action wherein activation of the created widget will cause a transmission of a control command to one or more of the appliances in communication with the hand-held device, the created widget (1104) comprising a plurality of pre-defined, user selected programming blocks (1102) each graphically represented as a processing unit with at least one of an input and an output of which user selected ones of the inputs and outputs of the pre-defmed, user selected programming blocks (1106-1118) are graphically interconnected via user interaction to define the at least one action to be performed upon activation of the widget (1104);
    adding the created widget to a user interface to be provided to the hand-held device (100); and
    causing the user interface to be provided from the development system to the hand-held device (100).
  9. The method as recited in claim 8, wherein creating the widget (1104) further comprises defining one or parameters associated with one or more of the pre-defmed, user selected programming blocks (1106-1118).
  10. The method as recited in claim 8, comprising associating the widget (1102) with a page of the user interface whereby the widget will be activated in response to a user selection made to cause a display of the page in a touch-screen display of the hand-held device (100).
  11. The method as recited in claim 8, comprising associating the widget with a hard key of the hand-held device (100) whereby the widget will be activated in response to a user selection of the hard key.
  12. The method as recited in claim 8, wherein activation of the created widget will cause a retrieval of data from one or more appliances in communication with the hand-held device (100).
  13. The method as recited in claim 8, wherein the pre-defmed, user selected programming blocks (1106-1118) are selected during the step of creating the widget (1104) from a library (1102) of pre-defmed programming blocks including one or more of a system event programming block (1106), a timer programming block (1108), a button programming block, a hard button programming block, a slider programming block, a constant programming block (1114), a flag programming block, an if/then programming block, a math programming block, a multiplexer programming block (1110), a repeater programming block, a switch programming block, a toggle programming block, an action programming block, an image programming block (1118), and an appliance response receiving programming block.
  14. The method as recited in claim 8, wherein the pre-defmed, user selected programming blocks (1106-1118) are selected during the step of creating the widget (1104) from a library (1102) of pre-defmed programming blocks including logic performing blocks and input and/or output performing blocks.
EP10835121.4A 2009-12-02 2010-12-02 System and method for configuration of controlling device functionality Active EP2507699B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26601409P 2009-12-02 2009-12-02
US12/956,154 US20110093799A1 (en) 2004-09-08 2010-11-30 System and method for configuration of controlling device functionality
PCT/US2010/058725 WO2011068966A1 (en) 2009-12-02 2010-12-02 System and method for configuration of controlling device functionality

Publications (3)

Publication Number Publication Date
EP2507699A1 EP2507699A1 (en) 2012-10-10
EP2507699A4 EP2507699A4 (en) 2014-04-30
EP2507699B1 true EP2507699B1 (en) 2017-09-27

Family

ID=44115288

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10835121.4A Active EP2507699B1 (en) 2009-12-02 2010-12-02 System and method for configuration of controlling device functionality

Country Status (3)

Country Link
US (1) US20110093799A1 (en)
EP (1) EP2507699B1 (en)
WO (1) WO2011068966A1 (en)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
WO2005091218A2 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc Premises management system
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) * 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
WO2011143273A1 (en) 2010-05-10 2011-11-17 Icontrol Networks, Inc Control system user interface
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
CN102956095B (en) * 2011-08-19 2017-07-21 富泰华工业(深圳)有限公司 Remote control thereof and remote control equipment
CN103891305B (en) * 2012-03-12 2017-05-17 株式会社Ntt都科摩 Remote control system, remote control method and communication device
US20140210989A1 (en) * 2012-06-01 2014-07-31 Mark S. Olsson Systems and methods involving a smart cable storage drum and network node for transmission of data
CN105247876A (en) * 2013-05-20 2016-01-13 汤姆逊许可公司 Remote control programming using images
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US9703517B2 (en) * 2014-09-02 2017-07-11 Adobe Systems Incorporated External device screen targeting
WO2016051360A1 (en) * 2014-09-30 2016-04-07 Tekoia Ltd. Universal remote control
CN104407592B (en) * 2014-11-27 2018-11-23 小米科技有限责任公司 A kind of method and device adjusting smart home device operating status
JP6693066B2 (en) * 2015-08-18 2020-05-13 ヤマハ株式会社 Control device
US20170364239A1 (en) * 2016-06-19 2017-12-21 iDevices, LLC Application icon customization
USD830387S1 (en) * 2016-10-07 2018-10-09 General Electric Company Display screen with graphical user interface for a healthcare command center computing system
USD830388S1 (en) * 2016-10-07 2018-10-09 General Electric Company Display screen with animated graphical user interface for a healthcare command center computing system
USD962953S1 (en) 2018-08-03 2022-09-06 Kilpatrick Townsend & Stockton Llp Display screen or portion thereof having an icon
USD928800S1 (en) * 2018-08-03 2021-08-24 Kilpatrick Townsend & Stockton Llp Display screen or portion thereof having an icon
USD917536S1 (en) * 2019-07-26 2021-04-27 Samuel Hackwell Display screen or portion thereof with graphical user interface
US20210358294A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Holographic device control
USD1038955S1 (en) * 2020-09-18 2024-08-13 Benjamin Dose Display screen or portion thereof with graphical user interface for recipe visualization
EP4046896B1 (en) * 2021-02-18 2023-12-27 Volvo Truck Corporation System and method for adjusting an air deflector
USD1021928S1 (en) * 2021-09-26 2024-04-09 Siemens Ltd., China Display screen with graphical user interface
CN113934490B (en) * 2021-09-27 2024-05-24 青岛海尔科技有限公司 Method and device for opening equipment control page, storage medium and electronic device
CN115509138A (en) * 2022-02-13 2022-12-23 上海点沃智能科技有限公司 User-defined interaction controller and method

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5551041A (en) * 1990-06-13 1996-08-27 Hewlett-Packard Company Wait for service request in an iconic programming system
EP0626635B1 (en) * 1993-05-24 2003-03-05 Sun Microsystems, Inc. Improved graphical user interface with method for interfacing to remote devices
US5742848A (en) * 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
CA2295759C (en) * 1997-06-25 2002-11-19 Samsung Electronics Co., Ltd. Method and apparatus for creating home network macros
US6211870B1 (en) * 1997-07-07 2001-04-03 Combi/Mote Corp. Computer programmable remote control
CN1169047C (en) * 1998-12-28 2004-09-29 皇家菲利浦电子有限公司 Fully functional remote control editor and emulator
US6496927B1 (en) * 1999-06-09 2002-12-17 Amx Corporation Method and configuring a user interface for controlling a controlled device based upon a device class
US20020078255A1 (en) * 2000-10-17 2002-06-20 Shankar Narayan Pluggable instantiable distributed objects
US6931288B1 (en) * 2001-04-16 2005-08-16 Rockwell Automation Technologies, Inc. User interface and system for creating function block diagrams
US7627860B2 (en) * 2001-08-14 2009-12-01 National Instruments Corporation Graphically deployment of a program with automatic conversion of program type
US20030073411A1 (en) * 2001-10-16 2003-04-17 Meade William K. System and method for automatically applying a user preference from a mobile computing device to an appliance
US7546543B2 (en) * 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7266777B2 (en) * 2004-09-08 2007-09-04 Universal Electronics Inc. Configurable controlling device having an associated editing program
US7979849B2 (en) * 2004-10-15 2011-07-12 Cisco Technology, Inc. Automatic model-based testing
US9766953B2 (en) * 2004-12-16 2017-09-19 Openspan, Inc. System and method for non-programmatically constructing software solutions
US8365086B2 (en) * 2005-05-03 2013-01-29 The Mathworks, Inc. System and method for building graphical instrument panels
US7680939B2 (en) * 2006-12-20 2010-03-16 Yahoo! Inc. Graphical user interface to manipulate syndication data feeds
US8788954B2 (en) * 2007-01-07 2014-07-22 Apple Inc. Web-clip widgets on a portable multifunction device
US20090138907A1 (en) * 2007-11-02 2009-05-28 Wiser Philip R Remote control unit for a personalized video programming system
US8578330B2 (en) * 2007-06-11 2013-11-05 Sap Ag Enhanced widget composition platform
US20090031281A1 (en) * 2007-07-27 2009-01-29 Honeywell International Inc. Method and System for Creating Visual Programs
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
US20110093799A1 (en) 2011-04-21
WO2011068966A1 (en) 2011-06-09
EP2507699A1 (en) 2012-10-10
EP2507699A4 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
EP2507699B1 (en) System and method for configuration of controlling device functionality
US11656743B2 (en) System and method for flexible configuration of a controlling device
US11237536B2 (en) System and method for configuration of macro commands in a controlling device
US7266777B2 (en) Configurable controlling device having an associated editing program
EP2035975B1 (en) Configurable controlling device and associated configuration upload and download system and method
US7941786B2 (en) Configurable controlling device and associated configuration distribution system and method
US8176432B2 (en) Hand held remote control device having an improved user interface
US12008223B2 (en) System and method for flexible configuration of a controlling device
EP3386192B1 (en) System and method for rapid configuration of a universal controlling device
US10922959B2 (en) System and method for simplified activity based setup of a controlling device
CN101112083A (en) Method for user controlling a device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120516

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20140328

RIC1 Information provided on ipc code assigned before grant

Ipc: G08C 23/04 20060101ALI20140324BHEP

Ipc: G08C 17/02 20060101ALI20140324BHEP

Ipc: G06F 3/048 20130101AFI20140324BHEP

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20170515

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 932557

Country of ref document: AT

Kind code of ref document: T

Effective date: 20171015

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602010045632

Country of ref document: DE

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20171227

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20170927

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 932557

Country of ref document: AT

Kind code of ref document: T

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20171228

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20171227

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20180127

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602010045632

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

26N No opposition filed

Effective date: 20180628

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171202

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171202

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20171231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171202

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171231

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171231

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171231

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20101202

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 602010045632

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170927

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230530

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20231227

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20231227

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20231229

Year of fee payment: 14