EP2507699B1 - System and method for configuration of controlling device functionality - Google Patents
System and method for configuration of controlling device functionality Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000009471 action Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000011161 development Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 230000001052 transient effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims 4
- 230000006870 function Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 229940018489 pronto Drugs 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42208—Display device provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42224—Touch pad or touch panel provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42226—Reprogrammable remote control devices
- H04N21/42227—Reprogrammable remote control devices the keys being reprogrammable, e.g. soft keys
- H04N21/42228—Reprogrammable 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
- G08C2201/21—Programming remote control devices via third means
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/30—User interface
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/92—Universal 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
- 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 U.S. Application 11/357,681, filed February 16, 2006U.S. Application 11/218,900U.S. Patent 7,266,777), filed on September 2, 2005 , which in turn claims the benefit ofU.S. Provisional Patent Application Nos. 60/608,183, filed on September 8, 2004 60/705,926, filed on August 5, 2005 - 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 WO 00/39772 - 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 -
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. 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.
- 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 ofFigure 4 ; -
Figure 10 illustrates an exemplary group of programming blocks which may be used in the definition of widgets; -
Figures 11a and11b illustrate the use of the programming blocks ofFigure 10 in a PC-based editor to create an exemplary widget; -
Figure 12 illustrates the use of the programming blocks ofFigure 10 in a PC-based editor to create a second exemplary widget; -
Figures 13 and14 illustrate the placement of the widget ofFigures 11a and11b 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. - 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, aDVD player 106, an audio amplifier/receiver 108, atelevision 102, alighting fixture 110 with associatedmultilevel dimmer 114, and asurveillance camera 112 as well as a controllingdevice 100. The controllingdevice 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 ofFigure 1 may utilize uni- orbi-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 withDVD player 106,audio system 108,television 102,lighting fixture 110 andcamera 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 controllingdevice 100 of the exemplary system may include, as needed for a particular application, aprocessor 200 coupled to a physically embodied, non-transient memory device (such asROM 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 andtimer 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., ameans 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), ameans 220 to provide audio feedback (speaker, buzzer, etc.) and apower supply 214 all as generally illustrated inFig. 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 theprocessor 200 to control the operation of the controllingdevice 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 illustratedmemory devices Fig. 2 only for the sake of clarity. - To cause the controlling
device 100 to perform an action, the controllingdevice 100 is adapted to be responsive to events, such as a sensed user interaction with thekey 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 controllingdevice 100, the controllingdevice 100 may retrieve a command code corresponding to the activated command key frommemory device 100 include execution of pre-programmed macro command sequences, displaying information/data, manipulating the appearance of a graphical user interface presented on alocal LCD display 218, etc. For convenience and economy of development effort, the software programming of controllingdevice 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 11/218,900 61/266,014 60/201,021 60/608,183 60/705,926 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 basedediting 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 inFigures 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 comprisingexemplary editing tool 300 and exemplary controllingdevice 100 GUI and functionality. -
Editor application 300 may be offered by the manufacturer of thecontrolling 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'sPC 302, the controlling device GUI may be created or revised using the editor application, stored locally in device memory as afile 310 onPC 302 and/or caused to be downloaded into controllingdevice 100 via ahardwired connection 304, a wireless link 306 (e.g., WiFi, Bluetooth, Zigbee, etc.) or any other convenient means. Additionally, it will be appreciated that theeditor application 300, although primarily resident on the user'slocal PC 302, may also be adapted to access additional data items from remotely located servers via theInternet 308, from appliances linked to thePC 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 controllingdevice 100, etc. It will also be appreciated that in such an environment data may also be uploaded fromPC 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 controllingdevice 100 during thetimes controlling device 100 is coupled toPC 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-basededitor 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 withFigures 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 controllingdevice 100 represent only one instance of the output ofeditor 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 activatedLCD screen 218 with soft keys (or other form of touch panel) and several groups ofhard buttons - 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, touchingicon 402 may be used to initiate the activity of watching cable TV by causing controllingdevice 100 to transmit the commands required to power oncable STB 104, power onTV 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.). Touchingicon 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 touchingicon 406 may be used to cause the controlling device to place the system into a condition for an activity such as listening to music. Touchingicon 408 may be used to cause the controlling device to transition to anotherpage 500 of the GUI (an example of which is shown inFig. 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 inFigure 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), andFigure 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 controllingdevice 100 in response to a single or multiple interaction(s) by a user with thekey matrix 216 of controllingdevice 100. - Turning now to
Figure 9 , the operation of anediting 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 arepresentation 922, in this example, of the hard keys (keys 414 through 420) available ontarget 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 theMain 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 inwindow 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 viatabs 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 controllingdevice 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 toDVD player 106, (2) transmit a "Power On" command toTV set 102, (3) wait one second for the devices to stabilize, then (4) transmit a "Component 2" input selection command toTV 102, (5) transmit "DVD" input selection command toAudio Receiver 108, and finally (6) jump toGUI page 700 corresponding to the DVD transport controls (illustrated inFig. 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 controllingdevice 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 aTV 102, acable STB 104, aDVD player 106, anaudio receiver 108, asecurity camera 112, and a lamp dimmer 114) and wherein the commandable functions so displayed may be assigned to any icon displayed inmain 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 theActions 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 ofediting 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 ofeditor 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 inFigures 11a ,11b and12 . As illustrated, a listing of available functionalities may be presented in ablocks panel 1102 from which individual blocks may be dragged onto awork 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 awidget 1104 to display a security camera picture or awidget 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: - 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.
- 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.
- 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. - Returning now to
Figure 11 , awidget 1104 for displaying an image retrieved fromsecurity camera 112 may be created by dragging and connecting programming blocks as follows: Initiation of the widget may be defined byblocks 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 ofblock 1110 may issue atrigger 1112 to cause output of a predefined constant ACSII string byblock 1114. This constant ASCII string may comprise an image retrieval command to be transmitted viaWiFi link 120 tosecurity camera 112 which has been associated withIP device block 1116. The output ofIP device block 1116, that is the retrieved camera image (e.g., in the form of a JPEG file), is then passed to imagedisplay block 1118 for presentation on the screen of controllingdevice 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 forsystem event block 1106 by use of the drop down menu shown onpage 1120 ofFigure 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 securitycamera 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 ofsecurity camera widget 1104 dragged ontopage 1302. The size and location of thedisplay area 1304 withinpage 1302 may be as defined withinprogramming block 1118 ofFigure 11a . With reference toFigure 14 , oncedoor camera page 1304 has been defined in this manner, abutton 1402 may be created ondevice control page 500 and assigned anaction 1404 which may comprise jumping to the newly-createddoor camera page 1304. When downloaded and executed by anexemplary controlling device 100 as illustrated inFigure 15 , the above described programming may enable a user (e.g., upon hearing a doorbell) to activatebutton 1402 and thereby cause retrieval anddisplay 1304 of animage 1502 captured bysecurity camera 112. - By way of further example, the programming of an exemplary lighting
level control widget 1204 will now be discussed in conjunction withFigure 12 . Once again, initiation ofwidget 1204 may occur upon loading of a page containing that widget, as illustrated byprogramming block 1206. This may be used to trigger the issuance of a "get current level" command byblock 1208, e.g., to a Z-wave light controller device such as 114 ofFigure 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 ofblock 1210 which in turn may become an input for a level setting command to be issued todevice 114 byblock 1212. If such a widget were assigned aGUI page 1306 andactivation button 1406 in the manner previously described, download and execution by anexemplary controlling device 100 upon activation ofbutton 1406 may result in aGUI display 1504 as illustrated inFigure 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)
- 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); andreceiving input to add the created widget (1104) to a user interface to be provided to the hand-held device (100).
- 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).
- 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).
- 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.
- 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).
- 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.
- 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.
- 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); andcausing the user interface to be provided from the development system to the hand-held device (100).
- 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).
- 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).
- 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.
- 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).
- 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.
- 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.
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)
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)
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 |
-
2010
- 2010-11-30 US US12/956,154 patent/US20110093799A1/en not_active Abandoned
- 2010-12-02 WO PCT/US2010/058725 patent/WO2011068966A1/en active Application Filing
- 2010-12-02 EP EP10835121.4A patent/EP2507699B1/en active Active
Non-Patent Citations (1)
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 |