US20230009536A1 - Software safety-locked controls to prevent inadvertent selection of user interface elements - Google Patents

Software safety-locked controls to prevent inadvertent selection of user interface elements Download PDF

Info

Publication number
US20230009536A1
US20230009536A1 US17/368,679 US202117368679A US2023009536A1 US 20230009536 A1 US20230009536 A1 US 20230009536A1 US 202117368679 A US202117368679 A US 202117368679A US 2023009536 A1 US2023009536 A1 US 2023009536A1
Authority
US
United States
Prior art keywords
user interface
shield
interface elements
region
user input
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.)
Granted
Application number
US17/368,679
Other versions
US11550445B1 (en
Inventor
Richard K. Steinberg
Angelos Erilus
Brian Scarpiniti
Laura Strater
Rimantas T. Meckauskas
Garrett Zabala
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Raytheon Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Raytheon Co filed Critical Raytheon Co
Priority to US17/368,679 priority Critical patent/US11550445B1/en
Application granted granted Critical
Publication of US11550445B1 publication Critical patent/US11550445B1/en
Publication of US20230009536A1 publication Critical patent/US20230009536A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows

Definitions

  • This disclosure generally relates to human-machine user interfaces. More specifically, this disclosure relates to software safety-locked controls to prevent inadvertent selection of user interface elements.
  • humans may suffer from confirmation fatigue. For example, humans often ignore dialog confirmations when using user interfaces to perform various functions. According to research, people fail to read dialog confirmations over 50% of the time. As a result, a human who is interacting with an on-screen button or other user interface element may inadvertently select the user interface element and confirm the inadvertent selection by failing to read or ignoring an associated dialog confirmation.
  • Legacy hardware buttons provide tactile feedback. For example, in a manual transmission vehicle, a driver cannot physically put a gear shifter into reverse gear while a vehicle is in forward motion. Unfortunately, the conversion of hardware buttons into software buttons creates human interaction problems since software buttons provide little or no tactile feedback compared to hardware buttons.
  • This disclosure provides software safety-locked controls to prevent inadvertent selection of user interface elements.
  • a method in a first embodiment, includes displaying a user interface that includes a first region having one or more user interface elements. The method also includes determining whether a shield is in a locked state or an unlocked state. The shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state. The method further includes, in response to determining that the shield is in the locked state, displaying the shield covering the first region and disabling the one or more user interface elements from receiving user input. The method also includes, in response to receiving user input on the shield while the shield is in the locked state, changing the shield to the unlocked state. In addition, the method includes, in response to determining that the shield is in the unlocked state, displaying the first region such that the one or more user interface elements are not covered by the shield and enabling the one or more user interface elements to receive user input.
  • an apparatus in a second embodiment, includes at least one processor configured to initiate display of a user interface that includes a first region having one or more user interface elements.
  • the at least one processor is also configured to determine whether a shield is in a locked state or an unlocked state.
  • the shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state.
  • the at least one processor is further configured, in response to determining that the shield is in the locked state, to initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input.
  • the at least one processor is also configured, in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state.
  • the at least one processor is configured, in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • a non-transitory computer readable medium embodies computer readable program code that when executed causes at least one processor to initiate display of a user interface that includes a first region having one or more user interface elements.
  • the computer readable program code when executed also causes the at least one processor to determine whether a shield is in a locked state or an unlocked state.
  • the shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state.
  • the computer readable program code when executed further causes the at least one processor, in response to determining that the shield is in the locked state, to initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input.
  • the computer readable program code when executed also causes the at least one processor, in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state.
  • the computer readable program code when executed causes the at least one processor, in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • FIG. 1 illustrates an example device supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements according to this disclosure
  • FIGS. 2 A through 3 F illustrate a first example user interface supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure
  • FIGS. 4 A through 4 C illustrate a second example user interface supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure
  • FIGS. 5 A and 5 B illustrate an example process for presenting a user interface element with a software safety-locked control according to this disclosure
  • FIG. 6 illustrates an example sub-process for displaying at least two confirmation buttons associated with a user interface element according to this disclosure.
  • FIG. 7 illustrates example sub-processes for performing a confirmation procedure and executing a function associated with a user interface element according to this disclosure.
  • FIGS. 1 through 7 described below, and the various embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of this disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any type of suitably arranged device or system.
  • buttons provide tactile feedback. For example, in a manual transmission vehicle, a driver cannot physically put a gear shifter into reverse gear while a vehicle is in forward motion.
  • FIG. 1 illustrates an example device 100 supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements according to this disclosure.
  • the device 100 denotes a computing device or system that includes at least one processing device 102 , at least one storage device 104 , at least one communications unit 106 , and at least one input/output (I/O) unit 108 .
  • the processing device 102 may execute instructions that can be loaded into a memory 110 .
  • the processing device 102 includes any suitable number(s) and type(s) of processors or other processing devices in any suitable arrangement.
  • Example types of processing devices 102 include one or more microprocessors, microcontrollers, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or discrete circuitry.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • the memory 110 and a persistent storage 112 are examples of storage devices 104 , which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis).
  • the memory 110 may represent a random access memory or any other suitable volatile or non-volatile storage device(s).
  • the persistent storage 112 may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
  • the communications unit 106 supports communications with other systems or devices.
  • the communications unit 106 can include a network interface card or a wireless transceiver facilitating communications over a wired or wireless network.
  • the communications unit 106 may support communications through any suitable physical or wireless communication link(s).
  • the I/O unit 108 allows for input and output of data.
  • the I/O unit 108 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device.
  • the I/O unit 108 may also send output to a display, printer, or other suitable output device.
  • the I/O unit 108 is coupled to a display 114 , which in some cases may represent a touchscreen.
  • the instructions executed by the processing device 102 include instructions supporting the use of software safety-locked controls, which can be used to prevent inadvertent selection of user interface elements on the display 114 .
  • the instructions may cause the processing device 102 to initiate the display of a user interface on the display 114 , where the user interface includes a specified region having one or more user interface elements (such as buttons).
  • the instructions may also cause the processing device 102 to determine whether a shield is in a locked state or an unlocked state, where the shield may cover the specified region when in the locked state and uncover at least part of the specified region when in the unlocked state.
  • the instructions may further cause the processing device 102 , in response to determining that the shield is in the locked state, to initiate the display of the shield covering the first region and to disable the one or more user interface elements from receiving user input.
  • the instructions may also cause the processing device 102 , in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state.
  • the instructions may cause the processing device 102 , in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • FIG. 1 illustrates one example of a device 100 supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements
  • computing and communication devices and systems come in a wide variety of configurations, and FIG. 1 does not limit this disclosure to any particular computing or communication device or system.
  • the display 114 may be integrated into the device 100 .
  • FIGS. 2 A through 3 F illustrate a first example user interface 200 supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure.
  • the user interface 200 may be described as being generated by the device 100 and presented on the display 114 in FIG. 1 .
  • the user interface 200 may be used with any other suitable device and in any other suitable system.
  • the user interface 200 includes a region 202 with a shield 204 that covers the region 202 .
  • the shield 204 is in a locked state, so the shield 204 covers most or all of the region 202 .
  • the shield 204 includes a lock icon 206 , which is displayed as a locked padlock in FIG. 2 A to represent the locked state of the shield 204 .
  • the region 202 also includes one or more high-consequence user interface elements 208 and 210 .
  • the user interface elements 208 and 210 here represent buttons that can be used to determine whether a machine operates in manual or automatic mode. Note that these examples for the user interface elements 208 and 210 are for illustration only.
  • the region 202 may include any number of user interface elements (including a single user interface element), and each user interface element may be associated with any suitable feature or function.
  • the user interface elements 208 and 210 here are referred to as “high-consequence” since selection of the wrong user interface element 208 or 210 may be problematic, such as when selection of the wrong user interface element may result in, for example, injury, death and/or damage to property or valuable/critical assets. Note, however, that this is for illustration only and does not limit this disclosure to use with any particular types of user interface elements.
  • the shield 204 While the shield 204 is in the locked state, the high-consequence user interface elements 208 and 210 are disabled, meaning the user interface elements 208 and 210 are unable to respond to user input. For example, while the shield 204 is in the locked state, a user may be unable to select one of the user interface elements 208 and 210 by touching the display 114 . Also, while the shield 204 is in the locked state, one of the user interface elements 208 or 210 may be visually highlighted, such as by being brighter, blinking, or colored a certain way, compared to the other user interface element 210 or 208 . This allows the user to identify the current selection of one of the user interface elements 208 or 210 . In FIG. 2 A , for example, the user interface element 210 may represent the current operating mode for a machine. In some embodiments, the shield 204 is translucent so that the user interface elements 208 and 210 are at least partially visible beneath the shield 204 .
  • the shield 204 is in the locked state, and a cursor 212 (which here takes the form of a hand) is shown contacting the lock icon 206 .
  • the cursor 212 represents a location where a user may touch the display 114 with his or her finger or a stylus.
  • the cursor 212 may also represent a mouse pointer or other pointing device's current location on the display 114 .
  • the cursor 212 here represents some form a user input on the lock icon 206 , such as a tap on the lock icon 206 or a swipe of the lock icon 206 . Note, however, that some embodiments may allow a user input at other locations of the shield 204 .
  • the shield 204 moves upward and the lock icon 206 becomes an unlocked padlock as shown in FIG. 2 B .
  • the shield 204 continues to move upward until it uncovers most or all of the region 202 as shown in FIG. 2 C .
  • the user interface elements 208 and 210 are substantially or completely uncovered, and the user interface elements 208 and 210 can be enabled to receive user input.
  • the device 100 initiates a confirmation procedure, which here includes presenting at least two confirmation buttons (namely an accept confirmation button 214 and a reject confirmation button 216 in this example).
  • the confirmation buttons 214 and 216 can be displayed at respective locations that are within the region 202 . However, the confirmation buttons 214 and 216 can be displayed at locations that do not overlap with the selected user interface element 208 .
  • the two confirmation buttons 214 and 216 are displayed on opposite sides of the selected user interface element 208 , although this is for illustration only. If the user inadvertently provides input separate from one of the confirmation buttons 214 and 216 (such as on a user interface element 208 or 210 ) while the confirmation buttons 214 and 216 are both displayed, the confirmation procedure may remain incomplete, and no inadvertent selection occurs.
  • the device 100 in response to receiving the user input on the user interface element 208 , the device 100 initiates a confirmation procedure by presenting only one confirmation button (e.g., accept confirmation button 214 or reject confirmation button 216 ).
  • only the accept confirmation button 214 is presented as part of the confirmation procedure which disappears after expiration of a predetermined time period (e.g., 5 seconds) within which the user must respond to confirm the action for the confirmation procedure to complete. If the user does not provide an input on the confirmation button 214 within the time period, the confirmation procedure may remain incomplete.
  • the reject confirmation button 216 is presented as part of the confirmation procedure which disappears after expiration of a predetermined time period (e.g., 3 seconds) within which the user must respond to reject the previous selection on the user interface element 208 . If the user does not provide an input on the reject button 216 within the time period, the confirmation procedure may complete based on the earlier user input on the user interface element 208 .
  • a predetermined time period e.g. 3 seconds
  • buttons 214 and 216 are not presented in an overlapping manner with the selected user interface element, which helps to avoid the possibility of a user rapidly touching or otherwise selecting the same location on the display 114 to both select the user interface element and confirm the selection.
  • the lock icon 206 may be initially displayed at a location that does not overlap with the user interface elements 208 and 210 or with the confirmation buttons 214 and 216 . Again, this helps to avoid the possibility of a user rapidly touching or otherwise selecting the same location on the display 114 to both unlock the shield 204 and select and/or confirm the user interface element.
  • the confirmation buttons 214 and 216 do not include any text, which can reduce cognitive load on the user.
  • confirmation buttons 214 and 216 may not be positioned next to each other, which reduces the chances of a user inadvertently clicking on the accept confirmation button 214 while intending to click on the reject confirmation button 216 (or vice versa). This may be particularly useful in various situations, such as when a user (like an emergency medical technician) is physically unsteady on a moving vehicle (like an ambulance) or in high pressure/intense situations such as when a soldier/commander is trying to abort the launch of a missile via a control panel.
  • the confirmation buttons 214 and 216 may be presented by sliding out or popping out from the sides of the selected user interface element 208 . This reveals the confirmation buttons 214 and 216 gradually until they are completely revealed.
  • the confirmation buttons 214 and 216 may be disabled from receiving user input while they are partially revealed and enabled only upon being completely revealed. This may enforce some minimum amount of time between selection of the user interface element 208 and confirmation or rejection of the selection.
  • the confirmation buttons 214 and 216 may be presented instantaneously or using other visual effects.
  • the user is shown as selecting the confirmation button 214 , which confirms the user's selection of the user interface element 208 and completes the confirmation procedure.
  • the device 100 allows the mode of the machine to change or otherwise initiates one or more actions to implement a request from the user.
  • the shield 204 may then be lowered again (such as via sliding) to cover the region 202 of the user interface 200 . This also disables the user interface elements 208 and 210 from receiving additional user input (at least until the shield 204 is unlocked again).
  • the user provides multiple user inputs at multiple locations within the region 202 in order for a particular action to be invoked.
  • the user provides user inputs at two or three locations within the region 202 in order to unlock the shield 204 and initiate an action.
  • a first location such as the lock icon 206 or other area of the shield 204
  • a second location such as a user interface element
  • a third location such as a confirmation button
  • FIGS. 3 A through 3 F illustrate an alternative sequence using the user interface 200 , where the user selects the reject confirmation button 216 instead of the accept confirmation button 214 when attempting to switch modes.
  • the shield 204 lowers without changing the current operating mode in response to the user input on the reject confirmation button 216 .
  • FIGS. 2 A through 3 F illustrate a first example of a user interface 200 supporting a software safety-locked control to prevent inadvertent selection of a user interface element
  • unlocking the shield 204 may involve inputting pre-registered credentials, a password, or other specified input prior to actually unlocking the shield 204 or allowing selection of a user interface element.
  • buttons for manual and automatic mode are shown here, the user interface 200 may include any other suitable user interface element(s), such as one or more radio buttons, checkboxes, or sliders.
  • FIGS. 4 A through 4 C illustrate a second example user interface 400 supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure.
  • the user interface 400 may be described as being generated by the device 100 and presented on the display 114 in FIG. 1 .
  • the user interface 400 may be used with any other suitable device and in any other suitable system.
  • the user interface 400 includes a number of regions 402 and 404 having software safety-locked controls, each of which may be the same as or similar to the region 202 described above.
  • each region 402 includes a single user interface element that identifies a power status of an associated component, and the single user interface element may be selected (when the associated shield is unlocked) to toggle the power status of the associated component.
  • power status is used here, each region 402 may include any number of user interface elements that can be used for any suitable purpose(s).
  • the region 404 may be used to control a function applied to a group of machines (e.g., multiple radars that operate in respective operating states) or to a group of additional user interface elements in a second region 406 , which do not have shields and thus can be changed without raising a shield or other functions described above.
  • the second region 406 which is unshielded, does not overlap any one of the shield-protected regions 402 and 404 .
  • FIG. 4 B Part of the region 402 is shown in enlarged form in FIG. 4 B , which illustrates three regions 402 a - 402 c.
  • selection of a user interface element 407 a (when an associated shield is in an unlocked state) can present the user with two user interface elements 408 and 410 , which allows toggling of the current setting of the user interface element 407 a.
  • Selection of one of the user interface elements 408 and 410 can lead to the presentation of confirmation buttons 414 a and 416 a, which can be used as described above.
  • Each region 402 a - 402 c may have similar functionality.
  • Part of the region 404 is shown in enlarged form in FIG. 4 C , which indicates that putting all components associated with the user interface elements within the second region 406 into a standby mode involves raising of a shield 418 , selection of a user interface element 407 b, and confirmation via one of multiple confirmation buttons 414 b or 416 b.
  • This approach allows a user to control individual components without using a multi-step process, but the user may be prevented from performing at least one function unless the user goes through the multi-step process described above.
  • FIGS. 4 A through 4 C illustrate a second example of a user interface 400 supporting a software safety-locked control to prevent inadvertent selection of a user interface element
  • unlocking a shield may involve inputting pre-registered credentials, a password, or other specified input prior to actually unlocking the shield or allowing selection of a user interface element.
  • buttons and other controls for certain operations are shown here, the user interface 400 may include any other suitable user interface element(s).
  • a user interface may include any number of protected user interface elements and unprotected user interface elements in any suitable configuration. There is also no requirement that a protected user interface element be used in conjunction with an unprotected user interface element.
  • FIGS. 5 A and 5 B illustrate an example process 500 for presenting a user interface element with a software safety-locked control according to this disclosure.
  • the process 500 is described as involving the processing device 102 executing program code (instructions) to present a user interface, such as the user interface 200 or 400 .
  • the process 500 may involve the use of any other suitable device in any other suitable system, and the process 500 may involve any suitable user interface.
  • the processing device 102 displays a user interface that includes a first region.
  • the first region includes one or more high-consequence buttons or other specified user interface elements.
  • the processing device 102 determines whether a shield associated with the first region is in a locked state or an unlocked state.
  • the shield is configured to cover the first region when the shield is in the locked state and to uncover at least some of the first region when the shield is in the unlocked state.
  • the process 500 proceeds to block 506 .
  • the process 500 proceeds to block 514 .
  • the processing device 102 displays the shield covering the first region.
  • the processing device 102 disables the one or more user interface elements from receiving user input.
  • the processing device 102 determines whether user input is received on the shield while the shield is in the locked state. If so, the processing device 102 changes the current state of the shield to the unlocked state.
  • the processing device 102 displays the first region such that the one or more user interface elements are not covered by the shield.
  • the processing device 102 enables the one or more user interface elements to receive user input.
  • enabling the one or more user interface elements to receive user input further includes starting a lockout timer.
  • the processing device 102 determines whether any user input has been received on the one or more enabled user interface elements before a lockout period of time has elapsed, as indicated by expiration of the lockout timer. If no, the processing device 102 changes the current state of the shield to the locked state, as shown at block 532 .
  • the processing device 102 receives user input on a user-selected user interface element from among the one or more enabled user interface elements. In response, at block 520 , the processing device 102 displays a visual indicator of the user-selected user interface element.
  • the processing device 102 initializes a confirmation procedure.
  • Initializing the confirmation procedure may include displaying, at block 524 , at least two confirmation buttons within or near the first region.
  • the processing device 102 performs or continues performance of the confirmation procedure.
  • performing the confirmation procedure may include determining, at block 528 , whether the user has selected one of the confirmation buttons and the confirmation procedure is complete. If so, at block 530 , the processing device 102 executes a function associated with the user-selected user interface element. In certain embodiments, the processing device 102 determines that the confirmation procedure is complete by determining that no user input has been received on the enabled confirmation buttons before a lockout period of time expires.
  • the processing device 102 changes the current state of the shield to the locked state.
  • FIGS. 5 A and 5 B illustrate one example of a process 500 for presenting a user interface element with a software safety-locked control
  • various changes may be made to FIGS. 5 A and 5 B .
  • steps in FIGS. 5 A and 5 B may overlap, occur in parallel, occur in a different order, or occur any number of times.
  • the user may need to select multiple user interface elements in order to invoke a desired function, such as when selection of one user interface element presented additional user interface elements for selection.
  • FIG. 6 illustrates an example sub-process 600 for displaying at least two confirmation buttons associated with a user interface element according to this disclosure.
  • the sub-process 600 may, for example, occur as part of block 524 .
  • the processing device 102 initiates display of at least two confirmation buttons with the first region at block 802 .
  • the confirmation buttons may include an accept conformation button and a reject confirmation button.
  • the processing device 102 displays or continues revealing the at least two confirmation buttons within the first region.
  • the processing device 102 determines whether the display of the at least two confirmation buttons is completed, meaning the confirmation buttons have been completely revealed. If so, the process proceeds to block 702 of FIG. 7 .
  • this gradual revealing of the confirmation buttons may allow for some desired amount of time to elapse after selection of a user interface element and prior to confirmation. In other cases, however, the confirmation buttons may be revealed instantaneously.
  • FIG. 7 illustrates example sub-processes 700 for performing a confirmation procedure and executing a function associated with a user interface element according to this disclosure.
  • the sub-process 700 may, for example, occur as part of blocks 526 - 530 .
  • the processing device 102 enables the at least two confirmation buttons to receive user input.
  • the processing device 102 determines whether the confirmation procedure is complete by receiving, at block 704 , user input on a user-selected confirmation button from among the confirmation buttons.
  • the processing device 102 determines whether user input is received on the enabled accept confirmation button. If so, the process proceeds to blocks 710 and to block 714 (sequentially or in parallel).
  • the processing device 102 determines whether user input is received on the enabled reject confirmation button. If so, the process proceeds to blocks 718 and to block 720 (sequentially or in parallel).
  • the processing device 102 hides the at least two confirmation buttons.
  • hiding of the at least two confirmation buttons may include sliding, at block 712 , the confirmation buttons behind the user-selected user interface element.
  • other techniques for hiding the confirmation buttons such as instantaneous removal of the confirmation buttons, may be used.
  • the processing device 102 executes the function associated with the user-selected user interface element by changing, at block 716 , a state of multiple state holders.
  • the processor stops displaying the visual indicator of the user-selected high-consequence button.
  • the processor ignores the user input on the user-selected user interface element.
  • FIGS. 6 and 7 illustrate example sub-processes used in the process 500 of FIG. 5
  • various changes may be made to FIGS. 6 and 7 .
  • steps in FIGS. 6 and 7 may overlap, occur in parallel, occur in a different order, or occur any number of times.
  • various functions described in this patent document are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium.
  • computer readable program code includes any type of computer code, including source code, object code, and executable code.
  • computer readable medium includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.
  • ROM read only memory
  • RAM random access memory
  • CD compact disc
  • DVD digital video disc
  • a “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals.
  • a non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
  • application and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code).
  • program refers to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code).
  • communicate as well as derivatives thereof, encompasses both direct and indirect communication.
  • the term “or” is inclusive, meaning and/or.
  • phrases “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like.
  • the phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A method includes displaying a user interface having a first region with one or more user interface elements and determining whether a shield is in a locked state or an unlocked state. The shield covers the first region when in the locked state and uncovers at least part of the first region when in the unlocked state. The method includes, in response to determining that the shield is in the locked state, displaying the shield covering the first region and disabling the user interface element(s). The method includes, in response to receiving user input on the shield while the shield is in the locked state, changing the shield to the unlocked state. Additionally, the method includes, in response to determining that the shield is in the unlocked state, displaying the first region such that the user interface element(s) is/are not covered by the shield and enabling the user interface element(s).

Description

    TECHNICAL FIELD
  • This disclosure generally relates to human-machine user interfaces. More specifically, this disclosure relates to software safety-locked controls to prevent inadvertent selection of user interface elements.
  • BACKGROUND
  • In various situations, humans may suffer from confirmation fatigue. For example, humans often ignore dialog confirmations when using user interfaces to perform various functions. According to research, people fail to read dialog confirmations over 50% of the time. As a result, a human who is interacting with an on-screen button or other user interface element may inadvertently select the user interface element and confirm the inadvertent selection by failing to read or ignoring an associated dialog confirmation.
  • Legacy hardware buttons (such as joysticks, push buttons, levers, and wall-switches) provide tactile feedback. For example, in a manual transmission vehicle, a driver cannot physically put a gear shifter into reverse gear while a vehicle is in forward motion. Unfortunately, the conversion of hardware buttons into software buttons creates human interaction problems since software buttons provide little or no tactile feedback compared to hardware buttons.
  • SUMMARY
  • This disclosure provides software safety-locked controls to prevent inadvertent selection of user interface elements.
  • In a first embodiment, a method includes displaying a user interface that includes a first region having one or more user interface elements. The method also includes determining whether a shield is in a locked state or an unlocked state. The shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state. The method further includes, in response to determining that the shield is in the locked state, displaying the shield covering the first region and disabling the one or more user interface elements from receiving user input. The method also includes, in response to receiving user input on the shield while the shield is in the locked state, changing the shield to the unlocked state. In addition, the method includes, in response to determining that the shield is in the unlocked state, displaying the first region such that the one or more user interface elements are not covered by the shield and enabling the one or more user interface elements to receive user input.
  • In a second embodiment, an apparatus includes at least one processor configured to initiate display of a user interface that includes a first region having one or more user interface elements. The at least one processor is also configured to determine whether a shield is in a locked state or an unlocked state. The shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state. The at least one processor is further configured, in response to determining that the shield is in the locked state, to initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input. The at least one processor is also configured, in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state. In addition, the at least one processor is configured, in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • In a third embodiment, a non-transitory computer readable medium embodies computer readable program code that when executed causes at least one processor to initiate display of a user interface that includes a first region having one or more user interface elements. The computer readable program code when executed also causes the at least one processor to determine whether a shield is in a locked state or an unlocked state. The shield is configured to cover the first region when the shield is in the locked state and to uncover at least part of the first region when the shield is in the unlocked state. The computer readable program code when executed further causes the at least one processor, in response to determining that the shield is in the locked state, to initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input. The computer readable program code when executed also causes the at least one processor, in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state. In addition, the computer readable program code when executed causes the at least one processor, in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of this disclosure, reference is made to the following description, taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates an example device supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements according to this disclosure;
  • FIGS. 2A through 3F illustrate a first example user interface supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure;
  • FIGS. 4A through 4C illustrate a second example user interface supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure;
  • FIGS. 5A and 5B illustrate an example process for presenting a user interface element with a software safety-locked control according to this disclosure;
  • FIG. 6 illustrates an example sub-process for displaying at least two confirmation buttons associated with a user interface element according to this disclosure; and
  • FIG. 7 illustrates example sub-processes for performing a confirmation procedure and executing a function associated with a user interface element according to this disclosure.
  • DETAILED DESCRIPTION
  • FIGS. 1 through 7 , described below, and the various embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of this disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any type of suitably arranged device or system.
  • As noted above, in various situations, humans may suffer from confirmation fatigue. For example, humans often ignore dialog confirmations when using user interfaces to perform various functions. According to some research, people fail to read dialog confirmations over 50% of the time. As a result, a human who is interacting with an on-screen button or other user interface element may inadvertently select the user interface element and confirm the inadvertent selection by failing to read or ignoring an associated dialog confirmation. Legacy hardware buttons (such as joysticks, push buttons, levers, and wall-switches) provide tactile feedback. For example, in a manual transmission vehicle, a driver cannot physically put a gear shifter into reverse gear while a vehicle is in forward motion.
  • Unfortunately, the conversion of hardware buttons into software buttons creates human interaction problems since software buttons provide little or no tactile feedback compared to hardware buttons. When combined, these issues raise the strong potential for a user to inadvertently select a software button and then confirm the inadvertent selection since there is no tactile or other feedback. This disclosure provides software safety-locked controls to prevent inadvertent selection of user interface elements.
  • FIG. 1 illustrates an example device 100 supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements according to this disclosure. As shown in FIG. 1 , the device 100 denotes a computing device or system that includes at least one processing device 102, at least one storage device 104, at least one communications unit 106, and at least one input/output (I/O) unit 108. The processing device 102 may execute instructions that can be loaded into a memory 110. The processing device 102 includes any suitable number(s) and type(s) of processors or other processing devices in any suitable arrangement. Example types of processing devices 102 include one or more microprocessors, microcontrollers, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or discrete circuitry.
  • The memory 110 and a persistent storage 112 are examples of storage devices 104, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The memory 110 may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage 112 may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
  • The communications unit 106 supports communications with other systems or devices. For example, the communications unit 106 can include a network interface card or a wireless transceiver facilitating communications over a wired or wireless network. The communications unit 106 may support communications through any suitable physical or wireless communication link(s).
  • The I/O unit 108 allows for input and output of data. For example, the I/O unit 108 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 108 may also send output to a display, printer, or other suitable output device. In this example, the I/O unit 108 is coupled to a display 114, which in some cases may represent a touchscreen.
  • In some embodiments, the instructions executed by the processing device 102 include instructions supporting the use of software safety-locked controls, which can be used to prevent inadvertent selection of user interface elements on the display 114. For example, the instructions may cause the processing device 102 to initiate the display of a user interface on the display 114, where the user interface includes a specified region having one or more user interface elements (such as buttons). The instructions may also cause the processing device 102 to determine whether a shield is in a locked state or an unlocked state, where the shield may cover the specified region when in the locked state and uncover at least part of the specified region when in the unlocked state. The instructions may further cause the processing device 102, in response to determining that the shield is in the locked state, to initiate the display of the shield covering the first region and to disable the one or more user interface elements from receiving user input. The instructions may also cause the processing device 102, in response to receiving user input on the shield while the shield is in the locked state, to change the shield to the unlocked state. In addition, the instructions may cause the processing device 102, in response to determining that the shield is in the unlocked state, to initiate display of the first region such that the one or more user interface elements are not covered by the shield and enable the one or more user interface elements to receive user input.
  • Although FIG. 1 illustrates one example of a device 100 supporting the use of software safety-locked controls to prevent inadvertent selection of user interface elements, various changes may be made to FIG. 1 . For example, computing and communication devices and systems come in a wide variety of configurations, and FIG. 1 does not limit this disclosure to any particular computing or communication device or system. Also, in some cases, the display 114 may be integrated into the device 100.
  • FIGS. 2A through 3F illustrate a first example user interface 200 supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure. For ease of explanation, the user interface 200 may be described as being generated by the device 100 and presented on the display 114 in FIG. 1 . However, the user interface 200 may be used with any other suitable device and in any other suitable system.
  • As shown in FIG. 2A, the user interface 200 includes a region 202 with a shield 204 that covers the region 202. In FIG. 2A, the shield 204 is in a locked state, so the shield 204 covers most or all of the region 202. The shield 204 includes a lock icon 206, which is displayed as a locked padlock in FIG. 2A to represent the locked state of the shield 204. The region 202 also includes one or more high-consequence user interface elements 208 and 210. The user interface elements 208 and 210 here represent buttons that can be used to determine whether a machine operates in manual or automatic mode. Note that these examples for the user interface elements 208 and 210 are for illustration only. The region 202 may include any number of user interface elements (including a single user interface element), and each user interface element may be associated with any suitable feature or function. The user interface elements 208 and 210 here are referred to as “high-consequence” since selection of the wrong user interface element 208 or 210 may be problematic, such as when selection of the wrong user interface element may result in, for example, injury, death and/or damage to property or valuable/critical assets. Note, however, that this is for illustration only and does not limit this disclosure to use with any particular types of user interface elements.
  • While the shield 204 is in the locked state, the high-consequence user interface elements 208 and 210 are disabled, meaning the user interface elements 208 and 210 are unable to respond to user input. For example, while the shield 204 is in the locked state, a user may be unable to select one of the user interface elements 208 and 210 by touching the display 114. Also, while the shield 204 is in the locked state, one of the user interface elements 208 or 210 may be visually highlighted, such as by being brighter, blinking, or colored a certain way, compared to the other user interface element 210 or 208. This allows the user to identify the current selection of one of the user interface elements 208 or 210. In FIG. 2A, for example, the user interface element 210 may represent the current operating mode for a machine. In some embodiments, the shield 204 is translucent so that the user interface elements 208 and 210 are at least partially visible beneath the shield 204.
  • In FIG. 2A, the shield 204 is in the locked state, and a cursor 212 (which here takes the form of a hand) is shown contacting the lock icon 206. The cursor 212 represents a location where a user may touch the display 114 with his or her finger or a stylus. The cursor 212 may also represent a mouse pointer or other pointing device's current location on the display 114. The cursor 212 here represents some form a user input on the lock icon 206, such as a tap on the lock icon 206 or a swipe of the lock icon 206. Note, however, that some embodiments may allow a user input at other locations of the shield 204.
  • In response to receiving this user input on the shield 204 while the shield 204 is in the locked state, the shield 204 moves upward and the lock icon 206 becomes an unlocked padlock as shown in FIG. 2B. The shield 204 continues to move upward until it uncovers most or all of the region 202 as shown in FIG. 2C. At this point, the user interface elements 208 and 210 are substantially or completely uncovered, and the user interface elements 208 and 210 can be enabled to receive user input.
  • In FIG. 2D, it is assumed that the user has selected the user interface element 208, which in this example would change the operating mode from manual to automatic. This causes the selected user interface element 208 to become highlighted or otherwise visually identifiable. In response to receiving this user input on the user interface element 208, the device 100 initiates a confirmation procedure, which here includes presenting at least two confirmation buttons (namely an accept confirmation button 214 and a reject confirmation button 216 in this example). The confirmation buttons 214 and 216 can be displayed at respective locations that are within the region 202. However, the confirmation buttons 214 and 216 can be displayed at locations that do not overlap with the selected user interface element 208. Here, the two confirmation buttons 214 and 216 are displayed on opposite sides of the selected user interface element 208, although this is for illustration only. If the user inadvertently provides input separate from one of the confirmation buttons 214 and 216 (such as on a user interface element 208 or 210) while the confirmation buttons 214 and 216 are both displayed, the confirmation procedure may remain incomplete, and no inadvertent selection occurs.
  • In another embodiment, in response to receiving the user input on the user interface element 208, the device 100 initiates a confirmation procedure by presenting only one confirmation button (e.g., accept confirmation button 214 or reject confirmation button 216). In a first example case, only the accept confirmation button 214 is presented as part of the confirmation procedure which disappears after expiration of a predetermined time period (e.g., 5 seconds) within which the user must respond to confirm the action for the confirmation procedure to complete. If the user does not provide an input on the confirmation button 214 within the time period, the confirmation procedure may remain incomplete. In a second example case, only the reject confirmation button 216 is presented as part of the confirmation procedure which disappears after expiration of a predetermined time period (e.g., 3 seconds) within which the user must respond to reject the previous selection on the user interface element 208. If the user does not provide an input on the reject button 216 within the time period, the confirmation procedure may complete based on the earlier user input on the user interface element 208.
  • One possible advantage of the approach shown here is that the confirmation buttons 214 and 216 are not presented in an overlapping manner with the selected user interface element, which helps to avoid the possibility of a user rapidly touching or otherwise selecting the same location on the display 114 to both select the user interface element and confirm the selection. Similarly, the lock icon 206 may be initially displayed at a location that does not overlap with the user interface elements 208 and 210 or with the confirmation buttons 214 and 216. Again, this helps to avoid the possibility of a user rapidly touching or otherwise selecting the same location on the display 114 to both unlock the shield 204 and select and/or confirm the user interface element. Further, in some cases, the confirmation buttons 214 and 216 do not include any text, which can reduce cognitive load on the user. In addition, the confirmation buttons 214 and 216 may not be positioned next to each other, which reduces the chances of a user inadvertently clicking on the accept confirmation button 214 while intending to click on the reject confirmation button 216 (or vice versa). This may be particularly useful in various situations, such as when a user (like an emergency medical technician) is physically unsteady on a moving vehicle (like an ambulance) or in high pressure/intense situations such as when a soldier/commander is trying to abort the launch of a missile via a control panel.
  • In some embodiments, the confirmation buttons 214 and 216 may be presented by sliding out or popping out from the sides of the selected user interface element 208. This reveals the confirmation buttons 214 and 216 gradually until they are completely revealed. In particular embodiments, the confirmation buttons 214 and 216 may be disabled from receiving user input while they are partially revealed and enabled only upon being completely revealed. This may enforce some minimum amount of time between selection of the user interface element 208 and confirmation or rejection of the selection. In other embodiments, the confirmation buttons 214 and 216 may be presented instantaneously or using other visual effects.
  • In FIG. 2E, the user is shown as selecting the confirmation button 214, which confirms the user's selection of the user interface element 208 and completes the confirmation procedure. At this point, the device 100 allows the mode of the machine to change or otherwise initiates one or more actions to implement a request from the user. As shown in FIGS. 2F and 2G, the shield 204 may then be lowered again (such as via sliding) to cover the region 202 of the user interface 200. This also disables the user interface elements 208 and 210 from receiving additional user input (at least until the shield 204 is unlocked again).
  • As can be seen here, the user provides multiple user inputs at multiple locations within the region 202 in order for a particular action to be invoked. In some embodiments, the user provides user inputs at two or three locations within the region 202 in order to unlock the shield 204 and initiate an action. By having the user move his or her finger, stylus, or cursor from a first location (such as the lock icon 206 or other area of the shield 204) to a second location (such as a user interface element) and then to a third location (such as a confirmation button), the inadvertent selection of a user interface element can be significantly reduced.
  • FIGS. 3A through 3F illustrate an alternative sequence using the user interface 200, where the user selects the reject confirmation button 216 instead of the accept confirmation button 214 when attempting to switch modes. As can be seen here, the shield 204 lowers without changing the current operating mode in response to the user input on the reject confirmation button 216.
  • Although FIGS. 2A through 3F illustrate a first example of a user interface 200 supporting a software safety-locked control to prevent inadvertent selection of a user interface element, various changes may be made to FIGS. 2A through 3F. For example, unlocking the shield 204 may involve inputting pre-registered credentials, a password, or other specified input prior to actually unlocking the shield 204 or allowing selection of a user interface element. Also, while buttons for manual and automatic mode are shown here, the user interface 200 may include any other suitable user interface element(s), such as one or more radio buttons, checkboxes, or sliders.
  • FIGS. 4A through 4C illustrate a second example user interface 400 supporting a software safety-locked control to prevent inadvertent selection of a user interface element according to this disclosure. For ease of explanation, the user interface 400 may be described as being generated by the device 100 and presented on the display 114 in FIG. 1 . However, the user interface 400 may be used with any other suitable device and in any other suitable system.
  • As shown in FIG. 4A, the user interface 400 includes a number of regions 402 and 404 having software safety-locked controls, each of which may be the same as or similar to the region 202 described above. In this example, each region 402 includes a single user interface element that identifies a power status of an associated component, and the single user interface element may be selected (when the associated shield is unlocked) to toggle the power status of the associated component. Note that while power status is used here, each region 402 may include any number of user interface elements that can be used for any suitable purpose(s). The region 404 may be used to control a function applied to a group of machines (e.g., multiple radars that operate in respective operating states) or to a group of additional user interface elements in a second region 406, which do not have shields and thus can be changed without raising a shield or other functions described above. The second region 406, which is unshielded, does not overlap any one of the shield-protected regions 402 and 404.
  • Part of the region 402 is shown in enlarged form in FIG. 4B, which illustrates three regions 402 a-402 c. In this example, selection of a user interface element 407 a (when an associated shield is in an unlocked state) can present the user with two user interface elements 408 and 410, which allows toggling of the current setting of the user interface element 407 a. Selection of one of the user interface elements 408 and 410 can lead to the presentation of confirmation buttons 414 a and 416 a, which can be used as described above. Each region 402 a-402 c may have similar functionality.
  • Part of the region 404 is shown in enlarged form in FIG. 4C, which indicates that putting all components associated with the user interface elements within the second region 406 into a standby mode involves raising of a shield 418, selection of a user interface element 407 b, and confirmation via one of multiple confirmation buttons 414 b or 416 b. This approach allows a user to control individual components without using a multi-step process, but the user may be prevented from performing at least one function unless the user goes through the multi-step process described above.
  • Although FIGS. 4A through 4C illustrate a second example of a user interface 400 supporting a software safety-locked control to prevent inadvertent selection of a user interface element, various changes may be made to FIGS. 4A through 4C. For example, unlocking a shield may involve inputting pre-registered credentials, a password, or other specified input prior to actually unlocking the shield or allowing selection of a user interface element. Also, while buttons and other controls for certain operations are shown here, the user interface 400 may include any other suitable user interface element(s). In addition, a user interface may include any number of protected user interface elements and unprotected user interface elements in any suitable configuration. There is also no requirement that a protected user interface element be used in conjunction with an unprotected user interface element.
  • FIGS. 5A and 5B illustrate an example process 500 for presenting a user interface element with a software safety-locked control according to this disclosure. For ease of explanation, the process 500 is described as involving the processing device 102 executing program code (instructions) to present a user interface, such as the user interface 200 or 400. However, the process 500 may involve the use of any other suitable device in any other suitable system, and the process 500 may involve any suitable user interface.
  • As shown in FIG. 5A, at block 502, the processing device 102 displays a user interface that includes a first region. The first region includes one or more high-consequence buttons or other specified user interface elements. At block 504, the processing device 102 determines whether a shield associated with the first region is in a locked state or an unlocked state. The shield is configured to cover the first region when the shield is in the locked state and to uncover at least some of the first region when the shield is in the unlocked state. In response to determining that the shield is in the locked state, the process 500 proceeds to block 506. In response to determining that the shield is in the unlocked state, the process 500 proceeds to block 514.
  • At block 506, the processing device 102 displays the shield covering the first region. At block 508, the processing device 102 disables the one or more user interface elements from receiving user input. At block 510, the processing device 102 determines whether user input is received on the shield while the shield is in the locked state. If so, the processing device 102 changes the current state of the shield to the unlocked state.
  • At block 514, the processing device 102 displays the first region such that the one or more user interface elements are not covered by the shield. At block 516, the processing device 102 enables the one or more user interface elements to receive user input. In at least one embodiment, enabling the one or more user interface elements to receive user input further includes starting a lockout timer. At block 517, the processing device 102 determines whether any user input has been received on the one or more enabled user interface elements before a lockout period of time has elapsed, as indicated by expiration of the lockout timer. If no, the processing device 102 changes the current state of the shield to the locked state, as shown at block 532. If yes, at block 518, the processing device 102 receives user input on a user-selected user interface element from among the one or more enabled user interface elements. In response, at block 520, the processing device 102 displays a visual indicator of the user-selected user interface element.
  • As shown in FIG. 5B, at block 522, the processing device 102 initializes a confirmation procedure. Initializing the confirmation procedure may include displaying, at block 524, at least two confirmation buttons within or near the first region. At block 526, the processing device 102 performs or continues performance of the confirmation procedure. For example, performing the confirmation procedure may include determining, at block 528, whether the user has selected one of the confirmation buttons and the confirmation procedure is complete. If so, at block 530, the processing device 102 executes a function associated with the user-selected user interface element. In certain embodiments, the processing device 102 determines that the confirmation procedure is complete by determining that no user input has been received on the enabled confirmation buttons before a lockout period of time expires. At block 532, the processing device 102 changes the current state of the shield to the locked state.
  • Although FIGS. 5A and 5B illustrate one example of a process 500 for presenting a user interface element with a software safety-locked control, various changes may be made to FIGS. 5A and 5B. For example, while shown as a series of steps, various steps in FIGS. 5A and 5B may overlap, occur in parallel, occur in a different order, or occur any number of times. Also, the user may need to select multiple user interface elements in order to invoke a desired function, such as when selection of one user interface element presented additional user interface elements for selection.
  • FIG. 6 illustrates an example sub-process 600 for displaying at least two confirmation buttons associated with a user interface element according to this disclosure. The sub-process 600 may, for example, occur as part of block 524. As shown in FIG. 6 , the processing device 102 initiates display of at least two confirmation buttons with the first region at block 802. In some cases, the confirmation buttons may include an accept conformation button and a reject confirmation button. At block 804, the processing device 102 displays or continues revealing the at least two confirmation buttons within the first region. At block 806, the processing device 102 determines whether the display of the at least two confirmation buttons is completed, meaning the confirmation buttons have been completely revealed. If so, the process proceeds to block 702 of FIG. 7 . As noted above, this gradual revealing of the confirmation buttons may allow for some desired amount of time to elapse after selection of a user interface element and prior to confirmation. In other cases, however, the confirmation buttons may be revealed instantaneously.
  • FIG. 7 illustrates example sub-processes 700 for performing a confirmation procedure and executing a function associated with a user interface element according to this disclosure. The sub-process 700 may, for example, occur as part of blocks 526-530. As shown in FIG. 7 , at block 702, the processing device 102 enables the at least two confirmation buttons to receive user input. The processing device 102 determines whether the confirmation procedure is complete by receiving, at block 704, user input on a user-selected confirmation button from among the confirmation buttons. At block 706, the processing device 102 determines whether user input is received on the enabled accept confirmation button. If so, the process proceeds to blocks 710 and to block 714 (sequentially or in parallel). At block 708, the processing device 102 determines whether user input is received on the enabled reject confirmation button. If so, the process proceeds to blocks 718 and to block 720 (sequentially or in parallel).
  • At block 710, the processing device 102 hides the at least two confirmation buttons. For example, hiding of the at least two confirmation buttons may include sliding, at block 712, the confirmation buttons behind the user-selected user interface element. Note that other techniques for hiding the confirmation buttons, such as instantaneous removal of the confirmation buttons, may be used. At block 714, the processing device 102 executes the function associated with the user-selected user interface element by changing, at block 716, a state of multiple state holders. At block 718, the processor stops displaying the visual indicator of the user-selected high-consequence button. At block 720, the processor ignores the user input on the user-selected user interface element.
  • Although FIGS. 6 and 7 illustrate example sub-processes used in the process 500 of FIG. 5 , various changes may be made to FIGS. 6 and 7 . For example, while shown as a series of steps, various steps in FIGS. 6 and 7 may overlap, occur in parallel, occur in a different order, or occur any number of times.
  • In some embodiments, various functions described in this patent document are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
  • It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code). The term “communicate,” as well as derivatives thereof, encompasses both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
  • The description in the present disclosure should not be read as implying that any particular element, step, or function is an essential or critical element that must be included in the claim scope. The scope of patented subject matter is defined only by the allowed claims.
  • Moreover, none of the claims invokes 35 U.S.C. § 112(f) with respect to any of the appended claims or claim elements unless the exact words “means for” or “step for” are explicitly used in the particular claim, followed by a participle phrase identifying a function. Use of terms such as (but not limited to) “mechanism,” “module,” “device,” “unit,” “component,” “element,” “member,” “apparatus,” “machine,” “system,” “processor,” or “controller” within a claim is understood and intended to refer to structures known to those skilled in the relevant art, as further modified or enhanced by the features of the claims themselves, and is not intended to invoke 35 U.S.C. § 112(f).
  • While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.

Claims (20)

1. A method comprising:
displaying a user interface that comprises a first region including one or more user interface elements;
determining whether a shield is in a locked state or an unlocked state, wherein the shield is configured to cover the one or more user interface elements of the first region when the shield is in the locked state and to uncover the one or more user interface elements of the first region when the shield is in the unlocked state;
in response to determining that the shield is in the locked state, displaying the shield covering the first region and disabling the one or more user interface elements from receiving user input;
in response to receiving user input on the shield while the shield is in the locked state, changing the shield to the unlocked state;
in response to determining that the shield is in the unlocked state, displaying the first region with the one or more user interface elements such that the one or more user interface elements are not covered by the shield and enabling the one or more uncovered user interface elements to receive user input;
receiving user input on a specified one of the one or more uncovered user interface elements; and
in response to receiving the user input on the specified user interface element, initializing a confirmation procedure and displaying at least two confirmation user interface elements at respective locations within the first region, the respective locations not including a displayed location of the specified user interface element.
2. The method of claim 1, further comprising:
in response to receiving user input on one of the at least two confirmation user interface elements, determining that the confirmation procedure is complete; and
in response to determining that the confirmation procedure is complete, changing the shield to the locked state.
3. The method of claim 1, wherein the at least two confirmation user interface elements are displayed on different sides of the specified user interface element.
4. The method of claim 1, further comprising:
receiving the user input on the shield, the user input on the shield comprising a user input on a lock icon of the shield.
5. The method of claim 4, wherein the lock icon is displayed at a location that does not overlap with the one or more user interface elements.
6. The method of claim 1, wherein:
the user interface further comprises a second region that includes at least one additional user interface element; and
the first region and the second region do not overlap.
7. The method of claim 1, wherein the shield is translucent and allows the one or more user interface elements to be partially visible beneath the shield when the shield is in the locked state.
8. An apparatus comprising:
at least one processor configured to:
initiate display of a user interface that comprises a first region including one or more user interface elements;
determine whether a shield is in a locked state or an unlocked state, the shield configured to cover the one or more user interface elements of the first region when the shield is in the locked state and to uncover the one or more user interface elements of the first region when the shield is in the unlocked state;
in response to determining that the shield is in the locked state, initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input;
in response to receiving user input on the shield while the shield is in the locked state, change the shield to the unlocked state;
in response to determining that the shield is in the unlocked state, initiate display of the first region with the one or more user interface elements such that the one or more user interface elements are not covered by the shield and enable the one or more uncovered user interface elements to receive user input
receive user input on a specified one of the one or more uncovered user interface elements; and
in response to receiving the user input on the specified user interface element, initialize a confirmation procedure and initiate display of at least two confirmation user interface elements at respective locations within the first region, the respective locations not including a displayed location of the specified user interface element.
9. The apparatus of claim 8, wherein the at least one processor is further configured to:
in response to receiving user input on one of the at least two confirmation user interface elements, determine that the confirmation procedure is complete; and
in response to determining that the confirmation procedure is complete, change the shield to the locked state.
10. The apparatus of claim 8, wherein the at least one processor is configured to initiate display of the at least two confirmation user interface elements on different sides of the specified user interface element.
11. The apparatus of claim 8, wherein the at least one processor is further configured to receive the user input on the shield, the user input on the shield comprising a user input on a lock icon of the shield.
12. The apparatus of claim 11, wherein the at least one processor is further configured to initiate display of the lock icon at a location that does not overlap with the one or more user interface elements.
13. The apparatus of claim 8, wherein:
the user interface further comprises a second region that includes at least one additional user interface element; and
the first region and the second region do not overlap.
14. The apparatus of claim 8, wherein the shield is translucent and allows the one or more user interface elements to be partially visible beneath the shield when the shield is in the locked state.
15. A non-transitory computer readable medium embodying computer readable program code that when executed causes at least one processor to:
initiate display of a user interface that comprises a first region including one or more user interface elements;
determine whether a shield is in a locked state or an unlocked state, the shield configured to cover the one or more user interface elements of the first region when the shield is in the locked state and to uncover the one or more user interface elements of the first region when the shield is in the unlocked state;
in response to determining that the shield is in the locked state, initiate display of the shield covering the first region and disable the one or more user interface elements from receiving user input;
in response to receiving user input on the shield while the shield is in the locked state, change the shield to the unlocked state;
in response to determining that the shield is in the unlocked state, initiate display of the first region with the one or more user interface elements such that the one or more user interface elements are not covered by the shield and enable the one or more uncovered user interface elements to receive user input;
receive user input on a specified one of the one or more uncovered user interface elements; and
in response to receiving the user input on the specified user interface element, initialize a confirmation procedure and initiate display of at least two confirmation user interface elements at respective locations within the first region, the respective locations not including a displayed location of the specified user interface element.
16. The non-transitory computer readable medium of claim 15, further embodying computer readable program code that when executed causes the at least one processor to:
in response to receiving user input on one of the at least two confirmation user interface elements, determine that the confirmation procedure is complete; and
in response to determining that the confirmation procedure is complete, change the shield to the locked state.
17. The non-transitory computer readable medium of claim 15, wherein the computer readable program code when executed causes the at least one processor to initiate display of the at least two confirmation user interface elements on different sides of the specified user interface element.
18. The non-transitory computer readable medium of claim 15, further embodying computer readable program code that when executed causes the at least one processor to receive the user input on the shield, the user input on the shield comprising a user input on a lock icon of the shield.
19. The non-transitory computer readable medium of claim 15, wherein:
the user interface further comprises a second region that includes at least one additional user interface element; and
the first region and the second region do not overlap.
20. The non-transitory computer readable medium of claim 15, wherein the shield is translucent and allows the one or more user interface elements to be partially visible beneath the shield when the shield is in the locked state.
US17/368,679 2021-07-06 2021-07-06 Software safety-locked controls to prevent inadvertent selection of user interface elements Active US11550445B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/368,679 US11550445B1 (en) 2021-07-06 2021-07-06 Software safety-locked controls to prevent inadvertent selection of user interface elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/368,679 US11550445B1 (en) 2021-07-06 2021-07-06 Software safety-locked controls to prevent inadvertent selection of user interface elements

Publications (2)

Publication Number Publication Date
US11550445B1 US11550445B1 (en) 2023-01-10
US20230009536A1 true US20230009536A1 (en) 2023-01-12

Family

ID=84798780

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/368,679 Active US11550445B1 (en) 2021-07-06 2021-07-06 Software safety-locked controls to prevent inadvertent selection of user interface elements

Country Status (1)

Country Link
US (1) US11550445B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060022955A1 (en) * 2004-07-30 2006-02-02 Apple Computer, Inc. Visual expander
US20130102281A1 (en) * 2011-10-25 2013-04-25 Kyocera Corporation Mobile terminal and lock controlling method
US8952987B2 (en) * 2011-05-19 2015-02-10 Qualcomm Incorporated User interface elements augmented with force detection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513744B2 (en) 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US8482534B2 (en) 1995-06-29 2013-07-09 Timothy R. Pryor Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US6985137B2 (en) 2001-08-13 2006-01-10 Nokia Mobile Phones Ltd. Method for preventing unintended touch pad input due to accidental touching
US20060012577A1 (en) 2004-07-16 2006-01-19 Nokia Corporation Active keypad lock for devices equipped with touch screen
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20090174679A1 (en) 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US9141974B2 (en) 2008-01-16 2015-09-22 Martin Kelly Jones Systems and methods for determining mobile thing (MT) identification and/or MT motion activity using sensor data of wireless communication device
US8761751B2 (en) 2008-03-14 2014-06-24 William J. Johnson System and method for targeting data processing system(s) with data
KR101650102B1 (en) 2009-09-22 2016-08-23 삼성전자주식회사 Method of Providing User Interface of Mobile Terminal Equipped with Touch screen and Mobile Terminal thereof
US20110283241A1 (en) 2010-05-14 2011-11-17 Google Inc. Touch Gesture Actions From A Device's Lock Screen
US8972267B2 (en) 2011-04-07 2015-03-03 Sony Corporation Controlling audio video display device (AVDD) tuning using channel name
US9715327B2 (en) 2012-06-07 2017-07-25 Tandem Diabetes Care, Inc. Preventing inadvertent changes in ambulatory medical devices
US20140071060A1 (en) 2012-09-11 2014-03-13 International Business Machines Corporation Prevention of accidental triggers of button events
US20150362959A1 (en) 2013-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Touch Screen with Unintended Input Prevention
WO2014129286A1 (en) * 2013-02-19 2014-08-28 Necカシオモバイルコミュニケーションズ株式会社 Information processing terminal, screen control method, and screen control program
US9678656B2 (en) 2014-12-19 2017-06-13 International Business Machines Corporation Preventing accidental selection events on a touch screen
CN107395877B (en) 2015-08-27 2021-07-30 Oppo广东移动通信有限公司 Terminal false touch prevention method and terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060022955A1 (en) * 2004-07-30 2006-02-02 Apple Computer, Inc. Visual expander
US8952987B2 (en) * 2011-05-19 2015-02-10 Qualcomm Incorporated User interface elements augmented with force detection
US20130102281A1 (en) * 2011-10-25 2013-04-25 Kyocera Corporation Mobile terminal and lock controlling method

Also Published As

Publication number Publication date
US11550445B1 (en) 2023-01-10

Similar Documents

Publication Publication Date Title
US8875048B2 (en) Smart window creation in a graphical user interface
US7757185B2 (en) Enabling and disabling hotkeys
EP1376325A2 (en) Method and system for presenting menu commands for selection
US8760430B2 (en) Electronic apparatus, input control program, and input control method
US9250788B2 (en) Gesture handlers of a gesture engine
US8639295B2 (en) Method for unlocking screen, mobile electronic device using the same and storage medium thereof
US9317132B2 (en) Method and apparatus using on-screen keyboard as input unit
CN112148198B (en) Display method and device of payment interface and electronic equipment
KR20100017302A (en) Selective enabling of multi-input controls
JP2012043180A (en) Information processor, information processing method and computer program
US20110022950A1 (en) Apparatus to create, save and format text documents using gaze control and method associated based on the optimized positioning of cursor
CN102483650A (en) Method and apparatus for using generic software applications by means of ocular control and suitable methods of interaction
CN103376997A (en) Method and device for unlocking touch screen
EP2624111A1 (en) Information processing device, control method for same and program
JP2023542666A (en) Operation method and device
US20170255357A1 (en) Display control device
US20200257431A1 (en) Monitor, display method applied to monitor, display device, and storage medium
US11550445B1 (en) Software safety-locked controls to prevent inadvertent selection of user interface elements
US20120146907A1 (en) Input Mechanism for Multiple Consoles
US20110227830A1 (en) Method and apparatus for safe disconnection of external devices from a computer
US20050165863A1 (en) File recovery under Linux operating system
CN111388992B (en) Interaction control method, device and equipment in game
CN101859112A (en) Medical equipment operation control system and method
US20070018963A1 (en) Tablet hot zones
CN110325955B (en) Operation display panel and operation display method

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE