US20140208333A1 - Initialize a Computing Device to Perform an Action - Google Patents
Initialize a Computing Device to Perform an Action Download PDFInfo
- Publication number
- US20140208333A1 US20140208333A1 US13/746,917 US201313746917A US2014208333A1 US 20140208333 A1 US20140208333 A1 US 20140208333A1 US 201313746917 A US201313746917 A US 201313746917A US 2014208333 A1 US2014208333 A1 US 2014208333A1
- Authority
- US
- United States
- Prior art keywords
- processor
- computing device
- determining
- condition
- indication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- This application generally relates to a computing device, and in particular, to initializing a computing device to perform an action.
- a portable computing device such as a smartphone
- multiple time-consuming steps are required to transition the computing device from an inactive state to an active state capable of performing an action using the device.
- a typical smartphone takes several seconds for a user to remove the smartphone from a pocket or purse, activate a camera application, and take a snapshot using the camera function of the smartphone. Further, additional time may be required for a user to enter an unlock code on the device prior to activating the camera function.
- FIG. 1 is a block diagram illustrating one embodiment of a computing device in accordance with various aspects set forth herein.
- FIG. 2 is a flow chart illustrating one embodiment of a method of initializing a computing device to perform an action with various aspects described herein.
- FIG. 3 is a flow chart illustrating another embodiment of a method of initializing a computing device to perform an action with various aspects described herein.
- FIG. 4 illustrates one embodiment of a method of determining that a first condition has occurred with various aspects described herein.
- FIG. 5 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein.
- FIG. 6 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein.
- FIG. 7 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein.
- FIG. 8 illustrates one embodiment of a front view of a computing device in landscape orientation with various aspects described herein.
- FIG. 9 illustrates one embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- FIG. 10 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- FIG. 11 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- FIG. 12 illustrates another embodiment of a front view of a computing device in portrait orientation with various aspects described herein.
- FIG. 13 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- FIG. 14 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- FIG. 15 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein.
- This disclosure provides example methods and devices for initializing a computing device to perform an action.
- An optional first phase triggered by certain sensors, such as low-power sensors operatively coupled to a low-power processor of the computing device, may be used to initiate a warm-up processing function of a main processor of the computing device.
- a second phase triggered by different sensors such as higher-power sensors, may be used to prepare the computing device for a first action and perform the first action such as launching a camera application.
- a third phase triggered by any available sensors, may be used to perform a second action such as taking a picture using the camera application.
- Configuring a computing device in accordance with various aspects described herein may provide increased usability of the computing device.
- power consumption of the computing device may be decreased because, initially, only low-power sensors are being used.
- perceived reaction time of the computing device may be improved because a warm-up processing function supports quicker performance of the first action relative to the first action being performed without a warm-up phase.
- the use of different sets of sensors reinforces proper computing device-interpretation of intentional actions from the user and rejects interpretations of user actions that may result in a false positive or false negative.
- user interactions with the computing device may be orientation-independent so that the computing device may perform the warm-up and/or the first action while the user is positioning the device.
- a computing device may be referred to as a mobile station (MS), terminal, cellular phone, cellular handset, personal digital assistant (PDA), smartphone, wireless phone, organizer, handheld computer, desktop computer, laptop computer, tablet computer, set-top box, gaming console, television, appliance, medical device, display device, or some other like terminology.
- MS mobile station
- PDA personal digital assistant
- FIG. 1 is a block diagram illustrating one embodiment of a computing device 100 in accordance with various aspects set forth herein.
- the computing device 100 may be configured to include a first processor 101 operatively coupled to a second processor 102 , a memory 103 , an interface port 111 , a clock circuit 115 , a communication subsystem 125 , a display 127 , a power supply 129 , another subsystem 131 , another component, or any combination thereof.
- the first processor 101 may be configured to control and perform various functions associated with the control or operation of the computing device 100 . Further, the first processor 101 may be a primary processor.
- the second processor 102 may also be configured to control and perform various functions associated with the control or operation of the computing device 100 .
- the second processor 102 may be a secondary processor either physically integrated or physically distinct from the first processor.
- the second processor 102 may be a low power processor.
- the second processor 102 may be a low power sensor hub.
- the second processor 102 may be a low power sensor controller.
- the second processor 102 may be in an active mode while the first processor 101 is in an inactive mode. In some circumstances, the second processor 102 may wake-up the first processor 101 .
- a person of ordinary skill will recognize various configurations for multiple processors to optimize, for instance, power consumption, cost, or performance.
- the memory 103 stores instructions for an operating system 105 , a software module 106 , data 107 , a camera application module 108 , a dialer application module 109 , a browser application module 110 , a system program, an application, a utility, or any combination thereof.
- data is information in a form suitable for use by a computer.
- the memory 103 may be configured to include a random access memory (RAM), a static RAM (SRAM), a dynamic RAM (DRAM), a read only memory (ROM), a volatile memory, a non-volatile memory, a cache memory, a hard drive memory, a virtual memory, a smartcard memory such as a subscriber identity module or a removable user identity module (SIM/RUIM), another memory, or any combination thereof.
- RAM random access memory
- SRAM static RAM
- DRAM dynamic RAM
- ROM read only memory
- volatile memory a non-volatile memory
- a cache memory a hard drive memory
- SIM/RUIM removable user identity module
- SIM/RUIM removable user identity module
- the first processor 101 may execute program instructions stored in memory 103 and associated with the operating system 105 , the software module 106 , the camera application module 108 , the dialer application module 109 , the browser application module 110 , a system program, an application, a utility, or any combination thereof. Further, the processor 101 may read or write the data 107 stored in the memory 103 .
- the first processor 101 may be configured to use first output components 113 via the first interface port 111 .
- the first interface port 111 may include a serial port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia (HDMI) port, a video port, an audio port, a Bluetooth transceiver, a near-field communication (NFC) port, another like interface port, or any combination thereof.
- GPIO general purpose input and output
- USB universal serial bus
- HDMI high definition multimedia
- video port a video port
- an audio port a Bluetooth transceiver
- NFC near-field communication
- NFC near-field communication
- an output component may use the same type of interface port as an input component.
- a USB port may provide input to and output from the computing device 100 .
- the first output components 113 may include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, a smartcard, another output component, or any combination thereof.
- the first output components 113 may include an audio loudspeaker, a haptic actuator, and an electronic display portion of a touch screen.
- the first processor 101 may use first input components 114 via the first interface port 111 to allow information to be received by the computing device 100 .
- the first input components 114 may include a mouse, a trackball, a directional pad, a trackpad, a touch-sensitive display, a scroll wheel, a digital camera (still or video), a web camera, a microphone, a sensor, a smartcard, combinations, or the like.
- the sensor may be, for instance, a presence sensor, a motion sensor, a sound sensor, a force sensor, an optical sensor, a photon sensor, another like sensor, or any combination thereof.
- a presence sensor may be, for instance, a touch-sensitive display, a touch sensor based on capacitive, resistive, force-sensing, or surface acoustic wave technology, a proximity sensor based on infrared light technology, a mechanical switch, a stress sensor, a temperature sensor, a conductivity sensor, a visible light-based sensor, a magnetometer, the like, or any combination thereof.
- a sound sensor may be a microphone such as a low-fidelity microphone or a high-fidelity microphone.
- a motion sensor may be, for instance, an accelerometer, a gyroscope, a magnetometer, a tilt sensor, a force sensor, or the like.
- the first input components 114 may include a capacitive touch panel portion of a touch screen, a digital camera, and a microphone.
- the second processor 102 may use second output components 121 via a second interface port 119 .
- the second interface port 119 may include a serial port, a parallel port, a GPIO port, a game port, a USB, a micro-USB port, an HDMI port, a video port, an audio port, a Bluetooth transceiver, an NFC port, another like interface port, or any combination thereof.
- the second output components 121 may include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, a smartcard, another output component, or any combination thereof.
- the second output components 121 consume less power than the first output components 113 and may include a light-emitting diode or a low-power organic light-emitting diode (OLED) display.
- OLED organic light-emitting diode
- the second processor 102 may use second input components 122 via the second interface port 119 to enable information to be received by the computing device 100 .
- the second input components 122 may include a mouse, a trackball, a directional pad, a trackpad, a touch-sensitive display, a scroll wheel, a digital camera (still or video), a web camera, a microphone, a sensor, a smartcard, combinations, or the like.
- the sensor may be, for instance, a presence sensor, a motion sensor, a sound sensor, a force sensor, an optical sensor, a photon sensor, another like sensor, or any combination thereof.
- a presence sensor may be, for instance, a touch-sensitive display, a touch sensor based on capacitive, resistive, force-sensing, or surface acoustic wave technology, a proximity sensor based on infrared light technology, a mechanical switch, a stress sensor, a temperature sensor, a conductivity sensor, a visible light-based sensor, a magnetometer, the like, or any combination thereof.
- a sound sensor may be a microphone such as a low-fidelity microphone or a high-fidelity microphone.
- a motion sensor may be, for instance, an accelerometer, a gyroscope, a magnetometer, a tilt sensor, a force sensor, or the like.
- the second input components 122 consume less power than the first input components 114 and may include an accelerometer, a low-fidelity microphone, and an ambient light sensor.
- the computing device 100 may be configured to communicate with a network 141 using the communication subsystem 125 .
- the communication functions of the communication subsystem 125 may include data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof.
- the communication subsystem 125 includes cellular communication, Wi-Fi communication, Bluetooth communication, and GPS communication.
- the network 141 may encompass wired and wireless communication networks such as a local-area network (LAN), a wide-area network (WAN), a personal-area network (PAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof.
- the network 141 may be a cellular network, a Wi-Fi network, and a near-field network.
- a touch-sensitive display is an electronic visual display that may detect the presence and location of a touch, gesture, or object near its display area.
- the term “near” means on, proximate, or associated with. In another definition, the term “near” is the extended spatial location of.
- the computing device 100 receives power from the power supply 129 .
- the power supply 129 may be, for instance, from a rechargeable battery, an alternating current (AC) source, another power source, or any combination thereof.
- the computing device 100 may also include the clock circuit 115 to provide one or more clock signals to the various components and elements of the computing device 100 .
- FIG. 2 is a flow chart 200 illustrating one embodiment of a method of initializing a computing device, such as the computing device 100 of FIG. 1 , to perform an action with various aspects described herein.
- the method may begin by initializing 201 the first processor 101 to a first state.
- the first state may be a sleep, idle, inactive, or other low-power mode of operation.
- the first state may be associated with reducing the frequency of a system clock, generated by a clock circuit 115 , provided to the first processor 101 .
- the first state may include disconnecting one or more clocks to the processor 101 .
- the first state may involve reducing the power supply voltage to the processor 101 .
- the second processor 102 determines 203 that a first condition has occurred. Several examples of methods for determining that a first condition has occurred will be described with reference to FIGS. 4-7 .
- the computing device 100 initializes 205 the first processor 101 to a second state.
- the second state may be an active mode of operation.
- the first processor 101 in the second state uses an increased system clock frequency, as generated by a clock circuit 115 .
- the second state may include reconnecting one or more clocks to the processor 101 .
- the second state may involve increasing the power supply voltage to the processor 101 .
- the initialization of the first processor 101 to the second state may be associated with waking-up the first processor 101 .
- initializing the first processor 101 may initiate a kernel operation of an operating system, such as operating system 105 of FIG. 1 , and enable the first processor 101 to monitor a sensor, such as a first input component 114 of FIG. 1 .
- the computing device 100 may also activate the display 127 .
- the computing device 100 may start the communication subsystem 125 in preparation for transferring data or commencing a phone call.
- the computing device 100 may activate various sensors associated with the first processor 101 or the second processor 102 .
- the computing device 100 may set 207 a first timer to a first time period.
- the first time period may be sufficient to allow a user to meet a second condition within a reasonable time period after the first condition.
- the first time period may be ten (10) seconds. If the first timer expires 209 prior to the method determining that a second condition has occurred 211 , then the method may again initialize 201 the first processor 101 to the first state. This return to initialization 201 after the first condition occurs, but when the second condition does not occur within the first time period, may return the first processor 101 from a higher-power second state to a lower-power first state. In this situation, the first processor 101 had moved to a second state in anticipation of a second condition, but when the second condition was not fulfilled within the first time period, the first processor 101 returned to the first state.
- the method may set 210 the first timer to a fifth time period.
- the fifth time period may be multiple milliseconds.
- the fifth time period may be one hundred (100) milliseconds. This fifth time period supports an alternate path to determining, by the second processor 102 , if the second condition has occurred 211 prior to an expiration of the first timer. Thus, even when the first condition does not occur prior to the second condition, the second processor 102 and its associated input components 122 may detect the second condition.
- the first processor 101 in response to determining, by the second processor 102 (through branch 205 or 210 ) or the first processor 101 (through branch 205 ), that the second condition has occurred prior to the expiration of the first timer, performs 215 a first action.
- the first action may include securely unlocking the computing device, which allows the computing device to be used for limited purposes such as (a) taking photographs or videos but not viewing or transmitting photographs or videos or accessing other capabilities of the computing device or (b) receiving phone calls but not initiating phone calls or accessing other capabilities of the computing device or (c) opening a browser to perform a search but limiting access to other capabilities of the computing device.
- the first action may include launching a software application such as a camera application, a phone dialer application, or a browser application. If the first processor 101 was previously initialized to the second state per block 205 , the first action may be performed faster than if the first processor 101 was still in the first state per branch 210 when the second condition was detected.
- a software application such as a camera application, a phone dialer application, or a browser application.
- a user may satisfy the first and second conditions, or simply the second condition, to instruct the computing device to perform a first action. If the first condition preceded the second condition within the first time period, the first processor 101 in the second state could perform the first action more quickly than if the first processor 101 was in the first state when the second condition occurred. Still, even if the first condition did not precede the second condition, the first processor 101 can still perform the first action starting from the first state.
- a computing device may seem to anticipate when a user intends to perform a first action and warm up the first processor 101 from a lower-power state to a higher-power state after a first condition is satisfied and prior to the user interacting with the computing device to satisfy the second condition. This has an advantage of decreasing the reaction time of the computing device relative to satisfying the second condition.
- FIG. 3 is a flow chart 300 illustrating another embodiment of a method of initializing a computing device, such as the computing device 100 of FIG. 1 , to perform an action with various aspects described herein.
- the flow chart 300 may begin by initializing 301 the first processor 101 to a first state as previously described with respect to FIG. 2 block 201 . Because the first processor 101 is in the first state, the second processor 102 determines 303 that a first condition has occurred. Several examples of determining that a first condition has occurred will be described with respect to FIGS. 4-7 . In response to determining that the first condition has occurred, the computing device 100 initializes 305 the first processor 101 to a second state as previously described with respect to FIG. 2 block 205 .
- the computing device 100 may set 307 a first timer to a first time period as previously described with respect to FIG. 2 block 207 . If the first timer expires 309 prior to the method determining that a second condition has occurred 311 , then the flow chart 300 may again initialize 301 the first processor 101 to the first state. This return to block 301 after the first condition occurs, but when the second condition does not occur within the first time period, may return the first processor 101 from a higher-power second state to a lower-power first state. In this situation, the first processor 101 had moved to a second state in anticipation of a second condition, but when the second condition was not fulfilled within the first time period, the first processor 101 returned to the first state.
- the method may set 310 the first timer to a fifth time period as previously described with respect to FIG. 2 block 210 .
- the first processor 101 or the second processor 102 may determine 311 that a second condition has occurred prior to an expiration of the first timer. Thus, even when the first condition does not occur prior to the second condition, the second processor 102 and its associated input components 122 may detect the second condition.
- the method in response to determining, by the second processor 102 (through branch 305 or 310 ) or the first processor 101 (through branch 305 ), that the second condition has occurred prior to the expiration of the first timer, the method may provide 313 a notification to the computing device.
- the method may provide a tactile vibration using a haptic output component 113 .
- the method may provide a visual notification by flashing an LED output component 121 or turning on part of an OLED or LCD display.
- the method may provide an audio notification using a speaker output component 113 .
- output components 113 , 121 may be used to provide notifications, and different notifications may be provided in response to different detected second conditions.
- the first processor 101 performs 315 a first action as previously described with reference to FIG. 2 block 215 . If the first processor 101 was previously initialized to the second state per block 305 , the first action may be performed faster than if the first processor 101 was still in the first state per branch 310 when the second condition was detected.
- the method may set 317 a second timer to a second time period.
- the second time period may be sufficient to allow a user to instruct the computing device perform a second action within a reasonable time period after performing the first action.
- the second time period may be thirty (30) seconds. If the second timer expires 319 prior to the flow chart 300 noticing a third condition 321 , then the method may again initialize 301 the first processor 101 to the first state. This may include closing down any software applications launched during the first action and returning the computing device 100 to a fully-locked state.
- the first processor 101 may determine 321 , within the second time period, that a third condition has occurred and perform 325 a second action.
- determining the occurrence of the third condition prior to the expiration of the second timer can be implemented as receiving, from a touch-sensitive display operatively coupled to at least one of the first processor 101 and the second processor 102 , a tap, swipe, or other touch gesture indication.
- the method may determine that the touch gesture indication is substantially similar to a predefined gesture.
- the method may determine 321 , by the first processor 101 and within the second time period, that the third condition has occurred. Otherwise, the method may determine that the third condition has not occurred.
- the first processor 101 performs 325 a second action.
- the second action may include taking a snapshot or starting a video recording using the camera application.
- the second action may include automatically dialing a number using the dialer application.
- the second action may include automatically answering an incoming phone call using the dialer application.
- the second action may include loading a web page using the browser application.
- the first condition, the second condition, and the third condition are segregated to indicate when the first processor 101 should be initialized from the first state to the second state, when the first action should be performed, and when the second action should be performed.
- the computing device may seem to anticipate when a user intends to perform the first action and warm up the first processor 101 from the first state such as a lower-power state to the second state such as a higher-power state after the first condition is satisfied and prior to the user interacting with the computing device to satisfy the second condition or third condition.
- FIGS. 4-7 describe several different embodiments that may be implemented for blocks 203 , 303 .
- the first condition is a multi-part condition involving a different environmental sensor for each part.
- the flow charts 200 , 300 of FIGS. 2-3 may avoid prematurely instructing the first processor 101 to change from the first state to the second state.
- FIG. 4 illustrates one embodiment of a flow chart 400 for determining that a first condition has occurred with various aspects described herein.
- the flow chart 400 may begin by receiving 401 , from a first sensor operatively coupled to the second processor 102 , a first indication.
- the first sensor is a motion sensor such as an accelerometer.
- the method may determine 401 that the first indication is greater than a first threshold.
- the first threshold is associated with moving the computing device 100 from a pocket, holster, or purse to a viewing position in preparation for using the computing device as a camera, a browser, or a phone.
- an accelerometer reading of a second input component 122 must be above a threshold to indicate a gross movement of the computing device 100 .
- the first threshold may be empirically determined through multi-user testing and stored as a static value in the computing device 100 memory 103 along with other thresholds that will be mentioned later.
- the first threshold, and other thresholds may be dynamically determined on an individual basis using a recent history of the device's accelerometer readings and a statistical calculation such that the threshold represents a given number of standard deviations above the mean.
- these two methods of creating a threshold may be combined such that the accelerometer reading must be both above the empirically determined value and above the dynamically determined value.
- the method may receive 403 , from a second sensor operatively coupled to the second processor 102 , a second indication.
- the second sensor may be an optical sensor such as an ambient light sensor capable of sensing the ambient light in the environment around the computing device.
- the method may determine 403 that the second indication is greater than a second threshold.
- the second threshold may be associated with the computing device 100 not being partially or wholly contained within another object such as a pocket, holster, or purse.
- the second threshold may be associated with a user placing the computing device 100 near the user's head or ear.
- the second threshold may be static or dynamic, generally-determined or tailored to the user.
- the second processor 102 determines 409 that the first condition has occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- the second processor 102 determines 411 that the first condition has not occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- FIG. 4 describes two independent indications for determining that the first condition has occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- each indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a gross movement of the computing device when a user takes the device from a holstered position to an active position, and the other is directed toward the ambient light around the computing device when the user takes the device from the holstered position to the active position.
- Additional indications may be added as shown in FIG. 5 to strengthen a determination that a first condition has occurred.
- FIG. 5 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein.
- a flow chart 500 may begin by receiving 501 , from a first sensor operatively coupled to the second processor 102 , a first indication as previously describe with reference to FIG. 4 block 401 .
- the method may receive 503 , from a second sensor operatively coupled to the second processor 102 , a second indication as described with respect to FIG. 4 block 403 .
- the method may receive 505 , from a third sensor operatively coupled to the second processor 102 , a third indication.
- the third sensor may be a presence sensor.
- the third sensor may be a presence sensor positioned near a display of the computing device.
- the third sensor may be an infrared proximity sensor designed to determine when an object such as a head is near a display of the computing device.
- the method may determine 505 that the third indication is greater than a third threshold.
- the third threshold may be associated with a user positioning the computing device to take a picture.
- the third threshold may be associated with a user placing the computing device 100 near the user's head or ear.
- the third threshold may be static or dynamic, generally-determined or tailored to the user.
- the second processor 102 determines 509 that the first condition has occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- the second processor 102 determines 511 that the first condition has not occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- FIG. 5 describes using three independent indications for determining that the first condition has occurred with reference to FIGS. 2 , 3 blocks 203 , 303 . In this FIG.
- each indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a gross movement of the computing device when a user takes the device from a holstered position to an active position, another is directed toward the ambient light around the computing device when a user takes the device from a holstered position to an active position, and a third is directed toward a user proximity to a display of the computing device when a user takes the computing device from a holstered position to an active position.
- additional indications may be added to strengthen a determination that a first condition has occurred, including to reduce false positive or false negative determinations.
- FIGS. 6-7 are examples using different environmental indications to determine that the first condition has occurred.
- the first condition as implemented differs slightly from the example first condition of FIGS. 4-5 .
- the first condition for FIGS. 4-5 can be related to bringing the computing device from a holstered position to an active position, while FIGS. 6-7 are directed toward holding the computing device in a specific active position.
- the indications of FIGS. 6-7 may be wholly or partially concatenated to the indications of FIGS. 4-5 to implement variations of first condition determinations.
- FIG. 6 illustrates another embodiment of a flow chart 600 for determining that a first condition has occurred with various aspects described herein.
- the flow chart 600 may begin when a fourth sensor operatively coupled to the second processor 102 receives 601 a first orientation indication associated with a first orientation of the computing device.
- the fourth sensor may be a motion sensor such as an accelerometer.
- the fourth sensor may be the same as the first sensor of FIGS. 4-5 .
- the method may determine that the first orientation is substantially similar to a first predefined orientation of the computing device prior to starting 603 a third time period.
- the first predefined orientation may be associated with a user positioning the computing device in preparation to view a display of the computing device.
- the first predefined orientation may be associated with a user positioning the computing device in preparation to take a picture.
- the first predefined orientation may be associated with a user positioning the computing device at the user's ear in preparation to conduct a phone call.
- the predefined orientation under consideration in these examples of FIGS. 6-7 may be defined as the user positioning the display 127 substantially parallel to gravity as shown in FIGS. 8 and 12 .
- the method may set 603 a third timer to the third time period.
- the third time period is several milliseconds which is used to determine that the user is intentionally holding the computing device in the first predetermined orientation.
- the third time period is 500 milliseconds.
- the fourth sensor receives 607 one or more second orientation indications associated with secondary orientations of the computing device. Further, the method may determine 607 that the secondary orientations are substantially similar to the first predefined orientation of the computing device prior to the expiration 605 of the third time period.
- the second processor 102 determines 611 that the first condition has occurred.
- the orientation of the computing device has remained substantially the same throughout the third time period so the computing device concludes that the user intended to hold the device at the first predefined orientation and thus the first condition is fulfilled with respect to FIGS. 2 , 3 blocks 203 , 303 .
- the second processor 102 determines 613 that the first condition has not occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- the same sensor may determine whether a first predefined orientation is maintained for a third time period. It is possible for an accelerometer sensor to indicate the same orientation for a period of time even while the computing device has moved, which may be acceptable for a particular use case such as when a user operates the computing device while walking or traveling.
- FIG. 7 illustrates a flow chart 700 which uses a different sensor, such as a gyroscope, to confirm that the computing device has maintained the first predefined orientation without significant movement.
- FIG. 7 illustrates another embodiment of a flow chart 700 for determining that a first condition has occurred with various aspects described herein.
- the flow chart 700 may begin when a fourth sensor operatively coupled to the second processor 102 receives 701 a first orientation indication associated with a first orientation of the computing device as previously described with reference to FIG. 6 block 601 . Further, the method may determine that the first orientation is substantially similar to a first predefined orientation of the computing device prior to starting 703 a third time period as previously described with reference to FIG. 6 block 601 .
- the method may set 703 a third timer to the third time period as previously described with respect to FIG. 6 block 603 .
- the fourth sensor receives 707 one or more second orientation indications associated with secondary orientations of the computing device.
- a fifth sensor operatively coupled to the second processor 102 receives 709 a fourth indication.
- the fifth sensor may be a motion sensor.
- the fifth sensor may be a gyroscope or a magnetometer.
- the fifth sensor may be the same as the first sensor or the fourth sensor.
- the method may determine that the fourth indication 709 is less than a fourth threshold.
- the fourth threshold may be associated with the computing device maintaining essentially the same bearing. As mentioned previously with respect to the first threshold, the fourth threshold may be static or dynamic, generally-determined or tailored to the user.
- the second processor 102 determines 711 that the first condition has occurred.
- the orientation and bearing of the computing device has remained substantially the same throughout the third time period so the computing device concludes that the user intended to hold the device at the first predefined orientation and the same heading and thus the first condition is fulfilled with respect to FIGS. 2 , 3 blocks 203 , 303 .
- the second processor 102 determines 713 that the first condition has not occurred with reference to FIGS. 2 , 3 blocks 203 , 303 .
- FIGS. 4-7 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, the determinations 409 , 411 , 509 , 511 , 611 , 613 , 711 , 713 by the second processor may be an average or accumulation (or weighted average or weighted accumulation) of the probability values with a comparison to a total first condition probability threshold such as 75%.
- a total first condition probability threshold such as 75%.
- FIG. 8 illustrates one embodiment of a front view of a computing device 800 in a landscape orientation with respect to gravity.
- the computing device 800 may include a housing 801 , a touch-sensitive display 803 , a first sensor (not shown), a fourth sensor (not shown), and a plurality of ninth sensors 805 a to 805 h .
- the housing 801 houses the internal components of the computing device 800 such as the first sensor and those described in FIG. 1 and may frame the display 803 for user-interaction with the computing device 800 .
- the plurality of ninth sensors 805 a to 805 h may be used individually or in combination to detect the presence of an input object near a plurality of first regions 807 a to 807 d , respectively.
- the ninth sensors 805 a and 805 b may be used to detect the presence of an input object near the region 807 a .
- the ninth sensor may use infrared proximity technology, capacitive sensing technology, resistive sensing technology, surface acoustic wave technology, or other types of sensing technology.
- the ninth sensor 805 a may be used to detect the presence of an input object near the sensor 805 a .
- An input object may be, for instance, a finger, a thumb, a stylus, or the like. While the plurality of first regions 807 a to 807 d are illustrated in FIG. 8 in two dimensions, the plurality of first regions 807 a and 807 d may extend in three dimensions to include areas in, around, above, and below the computing device 800 .
- each of the plurality of ninth sensors 805 a to 805 h may be used individually or in combination to detect a gesture of the input object and associate the gesture with performing an action in the computing device 800 .
- one or more taps of an input object near one or more of the plurality of ninth sensors 805 a to 805 h may trigger an action by the computing device 800 .
- the ninth sensor 805 b may be used in combination with the ninth sensor 805 a to detect a gesture of an input object such as a swipe near a corner the computing device 800 . In determining the swipe, an elapsed time period may be considered for an input object traversing near the first region 807 a and toward the first region 807 b .
- the direction of the swipe may be used to perform two different actions or two opposite actions such as zooming in and zooming out an image displayed on the display 803 or increasing the volume and decreasing the volume of a speaker operatively coupled to the computing device 800 .
- two opposite actions such as zooming in and zooming out an image displayed on the display 803 or increasing the volume and decreasing the volume of a speaker operatively coupled to the computing device 800 .
- a user may hold the computing device 800 while the first processor 101 is in an inactive state and the second processor 102 is in an active state as referenced at blocks 201 and 301 of FIGS. 2 and 3 .
- the computing device 800 may use a first sensor and a fourth sensor to determine that the computing device 800 is in a first orientation substantially similar to a predefined orientation for a third time period, as referenced in FIGS. 2 , 3 blocks 203 , 203 and FIG. 6 flow chart 600 .
- the first sensor may be a motion sensor such as an accelerometer or a gyroscope.
- the predefined orientation may correspond to the expected orientation of the computing device 800 during a typical user-interaction for a particular use case.
- the predefined orientation may correspond to a user interaction to initially prepare the computing device 800 to capture an image using a camera component of the computing device 800 .
- the predefined orientation may be associated with the display 803 being positioned substantially parallel to the direction of gravity. Note that the display 803 may be positioned in either a landscape screen format (as shown in FIG. 8 ) or a portrait screen format (as shown in FIG. 12 ) and still be substantially parallel to the direction of gravity. As noted in FIG.
- the orientation axes of the computing device 800 are relative to the device itself.
- An XY-plane defines a width and height of a main display while the Z-axis is normal to the main display and oriented toward a viewer.
- gravity may be in any direction relative to the computing device 800
- FIG. 8 shows gravity pulling in the ⁇ X direction in this example.
- the predefined orientation may be associated with the computing device 800 being in a typical orientation for another type of operation.
- the computing device 800 In response to determining that the computing device 800 has fulfilled the first condition described with respect to FIGS. 2 , 3 blocks 203 , 303 , the computing device 800 initializes the first processor 101 into a second state such as an active state, as referenced at blocks 205 and 305 of FIGS. 2 and 3 .
- the first processor 101 in the second state may detect the presence of an input object near a plurality of first regions 807 a to 807 d of the computing device 800 using one or more of the plurality of ninth sensors 805 a to 805 h .
- the computing device 800 may place one or more of the plurality of ninth sensors 805 a to 805 h into an active mode during the initialization of the computing device 800 into the second state.
- the plurality of ninth sensors 805 a to 805 h may be presence sensors positioned near the corners of the computing device 800 to detect the presence of an input object near one or more of the plurality of first regions 807 a to 807 d . In another example, the plurality of ninth sensors 805 a to 805 h may be positioned near the sides or edges of the computing device 800 .
- the computing device 800 may provide 313 a notification, as referenced in FIG. 3 .
- the computing device 800 may provide an audio notification such as a beep using a speaker output component 113 when input objects are concurrently detected at all four first regions 807 a to 807 d .
- the computing device 800 may provide a visual notification by flashing an LED output component 121 .
- the computing device 800 may provide a tactile vibration using a haptic output component 113 .
- output components 113 , 121 may be used to provide notifications, and different notifications may be provided in response to different detected second conditions.
- the computing device 800 may perform 215 , 315 a first action based on a detected second condition, as referenced in FIGS. 2 and 3 , where the user interaction includes having one or more input objects near one or more of the plurality of first regions 807 a to 807 d .
- the first action may respond to a user-interaction having one or more fingers near one or more corners of the computing device 800 corresponding to one or more of the plurality of first regions 807 a to 807 d .
- the first action may respond to a user-interaction having one finger or thumb on each of the corners of the computing device 800 corresponding to all of the plurality of first regions 807 a to 807 d .
- the first action may respond to the computing device 800 being in a position to capture an image using a capture device of the computing device 800 .
- the first action may include securely unlocking the computing device 800 .
- the first action may include launching an application such as a camera application, a phone dialer application, or a browser application.
- the user-interaction may use an input object to perform a gesture such as a tap near one or more of the plurality of first regions 807 a to 807 d to fulfill a third condition and thus instruct the computing device 800 to perform 321 , 325 a second action in accordance with FIG. 3 .
- the second action may include taking a snapshot using the camera application.
- the second action may include placing a call using the dialer application.
- the second action may include loading a web page using the browser application.
- the computing device 800 may detect a second condition based on the movement of the computing device 800 as captured by another sensor of the computing device 800 such as an accelerometer or a gyroscope. In one example, the computing device 800 may place the other sensor into an active mode during the initialization of the computing device 800 to the second state as described with respect to FIGS. 2 , 3 blocks 205 , 305 .
- the computing device 800 may perform 215 , 315 the first action based on a first movement gesture of the computing device 800 being substantially similar to a predetermined movement gesture as described with respect to FIGS. 2 , 3 .
- the predetermined movement gesture of the computing device 800 may be an up-and-down movement of the computing device 800 relative to gravity.
- the predetermined movement gesture of the computing device 800 may be a figure-eight movement of the computing device 800 .
- the predetermined movement gesture of the computing device 800 may be a jerk movement of the computing device 800 in the +Z-axis direction followed by a jerk movement in the ⁇ Z-axis direction.
- a jerk is a first derivative of acceleration with respect to time.
- a jerk movement would be registered when the jerk value (as calculated from a time derivative of an accelerometer output) is above a threshold.
- this threshold may be static or dynamic, generally-determined or tailored to the user. Natural body movements tend to minimize jerk, so motions that create a significant jerk value should be easily distinguishable from natural body movements.
- the predetermined movement gesture of the computing device 800 may be a jerk movement of the computing device 800 in a clockwise direction around a Y-axis followed by a jerk movement in an anti-clockwise direction around the Y-axis.
- other axes may be used as a rotational axis, such as an X-axis or an axis represented by a line such as one from the upper left corner of the display to the lower right corner of the display (or from the lower left corner of the display to the upper right corner of the display).
- both the derivative of a linear acceleration and the derivative of an angular acceleration may produce jerk values.
- a double-jerk movement is a jerk movement in a first direction followed by a jerk movement in a second direction.
- the second direction may be opposite to the first direction as described previously in both a linear and a rotational situation.
- the predetermined movement gesture of the computing device 800 may be a single jerk movement of the computing device 800 .
- more than two jerk movements may be concatenated to define a predetermined movement gesture.
- both linear and rotational jerk segments may be combined in a gesture that moves the computing device 100 in a first linear jerk direction, in a linear jerk direction opposite the first linear direction, and then a rotational jerk around any axis.
- FIGS. 9-11 and 13 - 15 describe various multi-part elements for various second conditions. Based on the descriptions given, these elements may be modified for different use cases, different second condition definitions, and different first actions.
- FIG. 9 illustrates one embodiment of a flow chart 900 for determining that a second condition has occurred with various aspects described herein.
- the flow chart 900 may begin by receiving 901 , from a sixth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a first movement indication associated with a first movement of the computing device.
- the sixth sensor may be a motion sensor such as an accelerometer.
- the sixth sensor may be the same as the first sensor or the fourth sensor.
- the method may determine 901 that the first movement indication is substantially similar to a first predefined movement gesture such as an up-and-down movement, a figure-eight movement, a linear single jerk movement, a linear double-jerk movement, a rotational single-jerk movement, or a rotational double jerk movement previously described with respect to FIG. 8 .
- a first predefined movement gesture such as an up-and-down movement, a figure-eight movement, a linear single jerk movement, a linear double-jerk movement, a rotational single-jerk movement, or a rotational double jerk movement previously described with respect to FIG. 8 .
- the method may receive 907 , from a seventh sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a fifth indication associated with the amount of ambient light in the environment around the computing device.
- the seventh sensor may be an optical sensor such as an ambient light sensor.
- the seventh sensor may be the same as the second sensor.
- the method may determine 907 that the fifth indication is greater than a fifth threshold.
- the fifth threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket, holster, or purse.
- the fifth threshold may be associated with the computing device being placed near an ear.
- the fifth threshold may be static or dynamic, generally-determined or tailored to the user.
- the method may receive 909 , from an eighth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a sixth indication.
- the eighth sensor may be a motion sensor.
- the eighth sensor may be a gyroscope operatively coupled to the first processor 101 .
- the eighth sensor may be the same as the fifth sensor.
- the method may determine 909 that the sixth indication is less than a sixth threshold.
- the sixth threshold may be associated with the computing device substantially maintaining a certain orientation, which would help to confirm a jerk movement or a double-jerk movement in a linear direction.
- the sixth threshold may be associated with the computing device substantially maintaining a certain heading, which would help to confirm a jerk movement or a double-jerk movement in a linear direction.
- the sixth threshold may be associated with the computing device rotating a certain amount, which would help to confirm a jerk movement or a double-jerk movement in a rotational direction.
- the sixth threshold may be static or dynamic, generally-determined or tailored to the user.
- the first processor 101 determines 911 that the second condition has occurred.
- the first processor 101 determines 913 that the second condition has not occurred.
- FIG. 9 describes evaluating three separate factors in order to determine whether the second condition has occurred; additional independent indications may be added to strengthen a determination that a second condition has occurred, including to reduce false positive or false negative determinations.
- each separate factor is directed toward a different aspect of the same user action to help determine that the second condition has occurred; one is directed toward an accelerometer-sensed movement of the computing device, another is directed toward the ambient light around the computing device, and a third is directed toward a gyroscopically-sensed movement of the computing device.
- the computing device evaluates these three factors to determine when the user moves the computing device in a particular pattern or gesture movement to fulfill the second condition described with reference to FIGS. 2-3 blocks 211 , 311 .
- FIG. 10 illustrates another embodiment of a flow chart 1000 for determining that a second condition has occurred with various aspects described herein.
- the flow chart 1000 may begin by receiving 1001 , from a sixth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a first movement indication associated with a first movement of the computing device as described previously with respect to FIG. 9 block 901 .
- the method may determine 1001 that the first movement is substantially similar to a first predefined movement gesture such as a single linear or rotational jerk movement as previously described with respect to FIG. 8 .
- the first predefined movement may be the up movement of the up-and-down movement of the computing device.
- the first predefined movement may be the first (linear or rotational) jerk movement of the double jerk movement of the computing device.
- the method may set 1003 a fourth timer to a fourth time period.
- the fourth time period may be associated with a typical time period to perform a second predefined movement gesture.
- the fourth time period may be associated with a typical time period to perform a second jerk movement soon after a first jerk movement.
- the method may receive 1004 , from the sixth sensor, a second movement indication associated with a second movement of the computing device. Further, the method may determine 1004 that the second movement is substantially similar to the second predefined movement prior to the expiration 1005 of the fourth time period.
- the second predefined movement may be the down movement of the up-and-down movement of the computing device.
- the second predefined movement may be the second (linear or rotational) jerk movement of the double jerk movement of the computing device.
- the first predefined movement and the second predefined movement may form a contiguous movement of the computing device.
- the method may receive 1007 , from a seventh sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a fifth indication associated with the amount of ambient light in the environment around the computing device as previously described with respect to FIG. 9 block 907 . Further, the method may determine 1007 that the fifth indication is greater than a fifth threshold as previously described with respect to FIG. 9 block 907 .
- the method may receive 1009 , from an eighth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a sixth indication as previously described with respect to FIG. 9 block 909 . Further, the method may determine 1009 that the sixth indication is less than a sixth threshold as previously described with respect to FIG. 9 block 909 .
- the first processor 101 may determine 1011 that the second condition has occurred.
- the first processor 101 may determine 1013 that the second condition has not occurred.
- FIG. 11 illustrates another embodiment of a flow chart 1100 for determining that a second condition has occurred with various aspects described herein.
- the flow chart 1100 may begin by receiving 1101 , from a plurality of ninth sensors 805 a to 805 h operatively coupled to at least one of the first processor 101 and the second processor 102 , a second gesture indication associated with a second gesture. Further, the method may determine 1101 that the second gesture is substantially similar to a second predefined gesture. In response to determining that the second gesture is substantially similar to the second predefined gesture, the first processor 101 may determine 1111 that the second condition has occurred. Alternatively, in response to determining that the second gesture is not substantially similar to the second predefined gesture, the first processor 101 may determine 1113 that the second condition has not occurred.
- FIGS. 9-11 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, the determinations 911 , 913 , 1011 , 1013 , 1111 , 1113 by the second processor, or the first processor in the second state, may be an average or accumulation (or weighted average or weighted accumulation) of the probability values with a comparison to a total second probability threshold such as 85%.
- FIG. 12 illustrates another embodiment of a front view of a computing device 1200 in portrait orientation with various aspects described herein.
- the computing device 1200 includes a housing 1201 , a touch-sensitive display 1203 , a first sensor (not shown), a plurality of ninth sensors 1205 a to 1205 d , and a plurality of tenth sensors 1211 a to 1211 d .
- the housing 1201 houses the internal components of the computing device 1200 such as the first sensor and those described in FIG. 1 and may frame the display 1203 such that the display 1203 is exposed for user-interaction with the computing device 1200 .
- the plurality of ninth sensors 1205 a to 1205 d may be used individually or in combination, including with any of the plurality of tenth sensors 1211 a to 1211 d , to detect the presence of an input object near a plurality of first regions 1207 a to 1207 d .
- the ninth sensor 1205 a may be used to detect the presence of an input object near the first region 1207 a .
- the ninth sensor 1205 a may be used in combination with the adjacent tenth sensor 1211 a and the adjacent tenth sensor 1211 d to detect the presence of an input object near the first region 1207 a.
- each of the plurality of ninth sensors 1205 a to 1205 d may be used individually or in combination, including with any of the plurality of tenth sensors 1211 a to 1211 d , to detect a gesture of the input object associated with performing an action on the computing device 1200 .
- one or more taps of an input object near one or more of the plurality of ninth sensors 1205 a to 1205 d may direct the computing device 1200 to perform an action.
- the plurality of first regions 1207 a to 1207 d are illustrated in FIG. 12 in two dimensions, the plurality of first regions 1207 a and 1207 d may extend in three dimensions to include areas in, around, above and below the computing device 1200 .
- the plurality of tenth sensors 1211 a to 1211 d may be used individually or in combination, including with any of the plurality of ninth sensors 1205 a to 1205 d , to detect the presence of an input object near any of the plurality of second regions 1213 a to 1213 d .
- the tenth sensor 1211 a may be used to detect the presence of an input object near the second region 1213 a .
- each of the plurality of tenth sensors 1211 a to 1211 d may be used individually or in combination, including with any of the plurality of ninth sensors 1205 a to 1205 d , to detect a gesture of the input object associated with performing an action at the computing device.
- one or more taps of an input object near one or more of the plurality of tenth sensors 1211 a to 1211 d may direct the computing device 1200 to perform an action.
- the tenth sensor 1211 d may be used in combination with an adjacent ninth sensor 1205 a and another adjacent ninth sensor 1205 d to detect a gesture of an input object such as a swipe near the right edge of the computing device. In determining the swipe, a certain elapsed time may be considered for an input object traversing near the first sub-region 1207 a , the second sub-region 1213 d , and the third sub-region 1207 d .
- the direction of the swipe may be used to perform two different actions or two opposite actions such as zooming in and zooming out an image displayed on the display 1203 or increasing the volume and decreasing the volume of a speaker operatively coupled to the computing device.
- a person of ordinary skill in the art will recognize the timing requirements associated with detecting a gesture under such circumstances. While the plurality of second regions 1213 a to 1213 d are illustrated in FIG. 12 in two dimensions, the plurality of second regions 1213 a to 1213 d may extend in three dimensions to include areas in, around, above and below the computing device 1200 .
- a user may hold the computing device 1200 while the first processor 101 in an inactive state and the second processor 102 in an active state as referenced at blocks 201 and 301 of FIGS. 2 and 3 .
- the computing device 1200 may use a first sensor or a fourth sensor to determine that the computing device 1200 is in a first orientation substantially similar to a predefined orientation for a third time period, as referenced in FIGS. 2 , 3 blocks 203 , 303 and FIG. 6 flow chart 600 .
- the first sensor may be a motion sensor such as an accelerometer or a gyroscope.
- the predefined orientation may correspond to the expected orientation of the computing device 1200 during a typical user interaction for a particular use case.
- the predefined orientation may correspond to a user interaction to initially prepare the computing device 1200 to make a telephone call.
- the predefined orientation may be associated with the display 1203 being positioned substantially perpendicular to the direction of gravity.
- the computing device 1200 initializes the first processor 101 into a second state such as an active state, as referenced at blocks 205 and 305 of FIGS. 2 and 3 .
- the first processor 101 in the second state may detect the presence of an input object near the plurality of first regions 1207 a to 1207 d using the plurality of ninth sensors 1205 a to 1205 d .
- the computing device 1200 may place one or more of the plurality of ninth sensors 1205 a to 1205 d into an active mode during the initialization of the computing device 1200 to the second state.
- the plurality of ninth sensors 1205 a to 1205 d may be presence sensors positioned near the corners of the computing device 1200 to detect the presence of an input object near one or more of the plurality of first regions 1207 a to 1207 d , respectively.
- the computing device 1200 may detect the presence of an input object near one or more of the plurality of second regions 1213 a to 1213 d using the plurality of tenth sensors 1211 a to 1211 d .
- the computing device 1200 may place the plurality of tenth sensors 1211 a to 1211 d into an active mode during the initialization of the computing device 1200 into the second state.
- the plurality of tenth sensors 1211 a to 1211 d may be presence sensors positioned near the sides or edges of the computing device 1200 to detect the presence of an input object near one or more of the plurality of second regions 1213 a to 1213 d.
- the computing device 1200 may perform 215 , 315 a first action based on a detected second condition, as referenced in FIGS. 2 and 3 , where the user interaction includes having one or more input objects near one or more of the plurality of first regions 1207 a to 1207 d and not having any input objects near the plurality of second regions 1213 a to 1213 d .
- the first action may correspond to a user-interaction having one or more fingers near one or more corners of the computing device 1200 corresponding to one or more of the plurality of first regions 1207 a to 1207 d and without one or more fingers being near one or more sides of the computing device corresponding to one or more of the plurality of second regions 1213 a to 1213 d .
- the first action may correspond to a user-interaction having one finger or thumb on each of the corners of the computing device 1200 corresponding to one or more of the plurality of first regions 1207 a to 1207 d and without the one or more fingers or thumbs being near one or more sides of the computing device corresponding to one or more of the plurality of second regions 1213 a to 1213 d .
- the first action may correspond to a user-interaction having no fingers or thumbs at the corners of the computing device corresponding to one or more of the plurality of first regions 1207 a to 1207 d and having one or more fingers or thumbs near one or more sides of the computing device corresponding to one or more of the plurality of second regions 1213 a to 1213 d . See the hand position shown in FIG. 8 .
- the first action may correspond to the computing device 1200 being in a position to capture an image using a capture device of the computing device 1200 .
- the first action may include securely unlocking the computing device or limiting the capability of the computing device.
- the first action may include launching a camera application, a phone dialer application, or a browser application.
- the user-interaction may use an input object to perform a gesture such as tapping one or more times near one or more of the first regions 1207 a to 1207 d to fulfill a third condition and thus instruct the computing device 800 to perform 321 , 325 a second action in accordance with FIG. 3 .
- the second action may be to capture an image such as a snapshot using a capture device of the computing device 1200 .
- the user-interaction may use the input object to, for instance, slide along the side of the computing device 1200 near one or more of the first regions 1207 a to 1207 d and one or more of the second regions 1213 a to 1213 d to perform a second action at the computing device 1200 .
- the second action may be to zoom in or zoom out on an image displayed on the display 1203 .
- the second action may be to answer a phone call.
- FIG. 13 illustrates another embodiment of a method 1300 for determining that a second condition has occurred with various aspects described herein.
- the method 1300 may begin by receiving 1301 , from one or more of the plurality of ninth sensors 1205 a to 1205 d , operatively coupled to at least one of the first processor 101 and the second processor 102 , a second gesture indication associated with a second gesture. Further, the method 1300 may determine 1301 that the second gesture is substantially similar to a second predefined gesture. The method 1300 may determine 1303 that no indications were received from any of the plurality of tenth sensors 1211 a to 1211 d operatively coupled to at least one of the first processor 101 and the second processor 102 within the first time period.
- the first processor 101 may determine 1311 that the second condition has occurred.
- the first processor 101 may determine 1313 that the second condition has not occurred.
- each separate indication is directed toward a different aspect of the same user action, or lack of user action, to help conclude that the second condition has occurred; one is directed toward a user's physical interaction with a set of first regions 1207 and another is directed toward a user's physical interaction with a set of second regions 1213 .
- FIG. 14 illustrates another embodiment of a flow chart 1400 for determining that a second condition has occurred with various aspects described herein.
- the flow chart 1400 may begin by receiving 1401 , from an eleventh sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a first command indication associated with a first command.
- the eleventh sensor may be a microphone operatively coupled to at least one of the first processor 101 and the second processor 102 .
- the method may determine 1401 that the first command is substantially similar to a first predetermined command.
- the first predetermined command may be a voice command such as “camera,” “snap,” “search,” “browser,” “call,” or “answer.”
- the method may receive 1403 , from a twelfth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a seventh indication.
- the twelfth sensor may be an optical sensor.
- the twelfth sensor may be the same as the second sensor or the seventh sensor.
- the method may determine 1403 that the seventh indication is greater than a seventh threshold.
- the seventh threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket, holster, or purse.
- the seventh threshold may be associated with the computing device being placed near an ear.
- the seventh threshold may be static or dynamic, generally-determined or tailored to the user.
- the first processor 101 determines 1411 that the second condition has occurred.
- the first processor 101 determines 1413 that the second condition has not occurred.
- the second processor 102 may use one or more indications to determine that a first condition has occurred while the first processor 101 is operating in a first state such as a sleep state, as referenced at blocks 203 and 303 of FIGS. 2 and 3 .
- the computing device may initialize the first processor 101 into a second state such as an active state, as referenced at blocks 205 and 305 of FIGS. 2 and 3 .
- the computing device may initialize an eleventh sensor such as a microphone and a twelfth sensor such as an optical sensor.
- the computing device may use one or more indications to determine that a second condition has occurred while the first processor 101 is operating in the active state, as referenced at FIGS.
- the computing device may receive a first command indication via the microphone. In response, the computing device may determine that the first command is substantially similar to a first predetermined command such as a verbal “snap” command, as referenced in FIG. 14 block 1401 . Further, the computing device may receive a seventh indication from the optical sensor. In response, the computing device may determine that the seventh indication is greater than a seventh threshold corresponding to an ambient light environment adequate to capture an image, as referenced in FIG. 14 block 1403 . In response to determining the verbal “snap” command and determining an adequate ambient light environment, the computing device may determine 1411 that the second condition has occurred, as referenced in FIG. 14 .
- the computing device may provide 313 a user notification, as referenced in FIG. 3 . Further, the computing device may perform 315 a first action such as automatically snapping a picture using an image capture device operatively coupled to the computing device, as referenced in FIG. 3 .
- each separate indication is directed toward a different aspect of the same user action, or lack of user action, to help determine that the second condition has occurred; one is directed toward a user voice command and another is directed toward the ambient light around the computing device.
- FIG. 15 illustrates another embodiment of a flow chart 1500 of determining that a second condition has occurred with various aspects described herein.
- the flow chart 1500 may begin by receiving 1501 , from an eleventh sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a first command indication associated with a first command as previously described with reference to FIG. 14 block 1401 . Further, the method may determine 1501 that the first command is substantially similar to a first predetermined command as described with reference to FIG. 14 block 1401 . The method may receive 1503 , from a twelfth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , a seventh indication as described with reference to FIG. 14 block 1403 . Further, the method may determine 1503 that the seventh indication is greater than a seventh threshold as previously described with respect to FIG. 14 block 1403 .
- the method may receive 1505 , from a thirteenth sensor operatively coupled to at least one of the first processor 101 and the second processor 102 , an eighth indication.
- the thirteenth sensor is a presence sensor.
- the thirteenth sensor is a proximity sensor.
- the thirteenth sensor is the same as the third sensor, the ninth sensor, or the tenth sensor.
- the method may determine 1505 that the eighth indication is greater than an eighth threshold.
- the eighth threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket or a purse.
- the eighth threshold may be associated with a user positioning the computing device to take a picture.
- the eighth threshold may be associated with the computing device being placed near an ear.
- the eighth threshold may be static or dynamic, generally-determined or tailored to the user.
- the first processor 101 may determine 1511 that the second condition has occurred.
- the first processor 101 determines 1513 that the second condition has not occurred.
- the second processor 102 may use one or more indications to determine the first condition while the first processor 101 is operating in the first state such as a sleep state, as referenced at blocks 203 and 303 of FIGS. 2 and 3 .
- the first condition may be determined in a variety of ways using different combinations of sensors as described with reference to FIGS. 4-7 .
- the first processor 101 initializes to a second state such as an active state, as referenced at blocks 205 and 305 of FIGS. 2 and 3 .
- the computing device may initialize the eleventh sensor such as a microphone, the twelfth sensor such as an optical sensor, and the thirteenth sensor such as a presence sensor.
- the computing device may use one or more indications to determine the second condition while the first processor 101 is operating in the active state, as referenced at FIGS. 2 , 3 blocks 211 , 311 .
- the second condition may be determined in a variety of ways using different combinations of sensors as described with reference to FIGS. 9-11 and 13 - 15 .
- the computing device may receive a first command indication via the microphone.
- the computing device may determine that the first command is substantially similar to the first predetermined command such as a verbal “hello” command, as referenced in FIG. 15 block 1501 .
- the computing device may receive a seventh indication from the optical sensor.
- the computing device may determine that the seventh indication is greater than the seventh threshold corresponding to the computing device being placed near an ear, as referenced in FIG. 15 block 1503 . Further, the computing device may receive the eighth indication from the presence sensor. In response, the computing device may determine that the eighth indication is greater than the eighth threshold corresponding to the computing device being placed near an ear, as referenced in FIG. 15 block 1505 . In response to determining the verbal “hello” command and determining that the computing device is held near an ear using two different sensors, the computing device may determine that the second condition has occurred, as referenced in FIG. 15 block 1511 . In response to the second condition occurring, the computing device may provide 313 a user notification, as referenced in FIG. 3 . Further, the computing device may perform 315 the first action such as answering an incoming call, as referenced in FIG. 3 .
- the second processor 102 may use one or more indications to determine that a first condition has occurred while the first processor 101 is operating in a first state such as a sleep state, as referenced at blocks 203 and 303 of FIGS. 2 and 3 .
- the computing device may initialize the first processor 101 into the second state such as an active state, as referenced at blocks 205 and 305 of FIGS. 2 and 3 .
- the computing device may initialize an eleventh sensor such as a microphone, a twelfth sensor such as an optical sensor, and a thirteenth sensor such as a presence sensor.
- the computing device may use one or more indications to determine that a second condition has occurred while the first processor 101 is operating in the active state, as referenced at FIGS. 2 , 3 blocks 211 , 311 .
- the computing device may receive a first command indication via the microphone.
- the computing device may determine that the first command is substantially similar to a first predetermined command such as a verbal “browser” command, as referenced in FIG. 15 block 1501 .
- the computing device may receive a seventh indication from the optical sensor.
- the computing device may determine that the seventh indication is greater than a seventh threshold corresponding to an ambient light environment when the computing device is in a pocket, holster, or purse, as referenced in FIG. 15 block 1503 .
- the computing device may receive an eighth indication from the presence sensor. In response, the computing device may determine that the eighth indication is greater than an eighth threshold corresponding to the computing device being held in a common grip for browser interactions, as referenced in FIG. 15 block 1505 . In response to determining the verbal “browser” command and determining that the computing device is not in a pocket or purse using two different sensors, the computing device may determine that the second condition has occurred, as referenced in FIG. 15 block 1511 . In response to the second condition occurring, the computing device may provide 313 a user notification, as referenced in FIG. 3 . Further, the computing device may perform the first action such as automatically opening a browser, as referenced at block 315 in FIG. 3 .
- each separate indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a user voice command, another is directed toward the ambient light around the computing device, and a third is directed toward a user proximity to a display.
- FIGS. 13-15 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, the determinations 1311 , 1313 , 1411 , 1413 , 1511 , 1513 by the second processor, or the first processor in the second state, may be an average or accumulation (or weighted average or weighted accumulation) of the probability values with a comparison to a total second probability threshold such as 85%.
- a total second probability threshold such as 85%.
- a non-transitory computer-readable medium may include: a magnetic storage device such as a hard disk, a floppy disk or a magnetic strip; an optical disk such as a compact disk (CD) or digital versatile disk (DVD); a smart card; and a flash memory device such as a card, stick or key drive.
- a carrier wave may be employed to carry computer-readable electronic data including those used in transmitting and receiving electronic data such as electronic mail (e-mail) or in accessing a computer network such as the Internet or a local area network (LAN).
- e-mail electronic mail
- LAN local area network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application generally relates to a computing device, and in particular, to initializing a computing device to perform an action.
- In a portable computing device such as a smartphone, multiple time-consuming steps are required to transition the computing device from an inactive state to an active state capable of performing an action using the device. For example, a typical smartphone takes several seconds for a user to remove the smartphone from a pocket or purse, activate a camera application, and take a snapshot using the camera function of the smartphone. Further, additional time may be required for a user to enter an unlock code on the device prior to activating the camera function.
- Accordingly, there is an opportunity to improve the speed and usability of a computing device transitioning from an inactive state to an active state capable of performing an action using the device.
- The present disclosure is illustrated by way of examples, embodiments, and the like and is not limited by the accompanying figures, in which like reference numbers indicate similar elements. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. The figures along with the detailed description are incorporated and form part of the specification and serve to further illustrate examples, embodiments, and the like and explain various principles and advantages, in accordance with the present disclosure, where:
-
FIG. 1 is a block diagram illustrating one embodiment of a computing device in accordance with various aspects set forth herein. -
FIG. 2 is a flow chart illustrating one embodiment of a method of initializing a computing device to perform an action with various aspects described herein. -
FIG. 3 is a flow chart illustrating another embodiment of a method of initializing a computing device to perform an action with various aspects described herein. -
FIG. 4 illustrates one embodiment of a method of determining that a first condition has occurred with various aspects described herein. -
FIG. 5 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein. -
FIG. 6 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein. -
FIG. 7 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein. -
FIG. 8 illustrates one embodiment of a front view of a computing device in landscape orientation with various aspects described herein. -
FIG. 9 illustrates one embodiment of a method of determining that a second condition has occurred with various aspects described herein. -
FIG. 10 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein. -
FIG. 11 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein. -
FIG. 12 illustrates another embodiment of a front view of a computing device in portrait orientation with various aspects described herein. -
FIG. 13 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein. -
FIG. 14 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein. -
FIG. 15 illustrates another embodiment of a method of determining that a second condition has occurred with various aspects described herein. - This disclosure provides example methods and devices for initializing a computing device to perform an action. An optional first phase, triggered by certain sensors, such as low-power sensors operatively coupled to a low-power processor of the computing device, may be used to initiate a warm-up processing function of a main processor of the computing device. A second phase, triggered by different sensors such as higher-power sensors, may be used to prepare the computing device for a first action and perform the first action such as launching a camera application. Optionally, a third phase, triggered by any available sensors, may be used to perform a second action such as taking a picture using the camera application. Configuring a computing device in accordance with various aspects described herein may provide increased usability of the computing device.
- In one aspect, power consumption of the computing device may be decreased because, initially, only low-power sensors are being used. In another aspect, perceived reaction time of the computing device may be improved because a warm-up processing function supports quicker performance of the first action relative to the first action being performed without a warm-up phase. In a third aspect, the use of different sets of sensors reinforces proper computing device-interpretation of intentional actions from the user and rejects interpretations of user actions that may result in a false positive or false negative. In a fourth aspect, user interactions with the computing device may be orientation-independent so that the computing device may perform the warm-up and/or the first action while the user is positioning the device. Especially for computing device applications that have a noticeable launch or start-up time, such as a camera application, a browser application, or a dialer application, teachings from this disclosure may assist the computing device in accurately performing an action that a user desires. A computing device may be referred to as a mobile station (MS), terminal, cellular phone, cellular handset, personal digital assistant (PDA), smartphone, wireless phone, organizer, handheld computer, desktop computer, laptop computer, tablet computer, set-top box, gaming console, television, appliance, medical device, display device, or some other like terminology.
-
FIG. 1 is a block diagram illustrating one embodiment of acomputing device 100 in accordance with various aspects set forth herein. InFIG. 1 , thecomputing device 100 may be configured to include afirst processor 101 operatively coupled to asecond processor 102, amemory 103, aninterface port 111, aclock circuit 115, acommunication subsystem 125, adisplay 127, apower supply 129, anothersubsystem 131, another component, or any combination thereof. Thefirst processor 101 may be configured to control and perform various functions associated with the control or operation of thecomputing device 100. Further, thefirst processor 101 may be a primary processor. Thesecond processor 102 may also be configured to control and perform various functions associated with the control or operation of thecomputing device 100. Thesecond processor 102 may be a secondary processor either physically integrated or physically distinct from the first processor. In one example, thesecond processor 102 may be a low power processor. In another example, thesecond processor 102 may be a low power sensor hub. In another example, thesecond processor 102 may be a low power sensor controller. In another example, thesecond processor 102 may be in an active mode while thefirst processor 101 is in an inactive mode. In some circumstances, thesecond processor 102 may wake-up thefirst processor 101. A person of ordinary skill will recognize various configurations for multiple processors to optimize, for instance, power consumption, cost, or performance. - In the current embodiment, the
memory 103 stores instructions for anoperating system 105, asoftware module 106,data 107, acamera application module 108, adialer application module 109, abrowser application module 110, a system program, an application, a utility, or any combination thereof. In one definition, data is information in a form suitable for use by a computer. A person having ordinary skill in the art will recognize that the subject matter of this disclosure may be implemented using various operating systems or combinations of operating systems. Thememory 103 may be configured to include a random access memory (RAM), a static RAM (SRAM), a dynamic RAM (DRAM), a read only memory (ROM), a volatile memory, a non-volatile memory, a cache memory, a hard drive memory, a virtual memory, a smartcard memory such as a subscriber identity module or a removable user identity module (SIM/RUIM), another memory, or any combination thereof. In one example, thememory 103 refers to a combination of volatile and non-volatile memories. Thefirst processor 101 may execute program instructions stored inmemory 103 and associated with theoperating system 105, thesoftware module 106, thecamera application module 108, thedialer application module 109, thebrowser application module 110, a system program, an application, a utility, or any combination thereof. Further, theprocessor 101 may read or write thedata 107 stored in thememory 103. - In
FIG. 1 , thefirst processor 101 may be configured to usefirst output components 113 via thefirst interface port 111. Thefirst interface port 111 may include a serial port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia (HDMI) port, a video port, an audio port, a Bluetooth transceiver, a near-field communication (NFC) port, another like interface port, or any combination thereof. A person of ordinary skill will recognize that an output component may use the same type of interface port as an input component. For example, a USB port may provide input to and output from thecomputing device 100. Thefirst output components 113 may include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, a smartcard, another output component, or any combination thereof. In one example, thefirst output components 113 may include an audio loudspeaker, a haptic actuator, and an electronic display portion of a touch screen. - In the current embodiment, the
first processor 101 may usefirst input components 114 via thefirst interface port 111 to allow information to be received by thecomputing device 100. Thefirst input components 114 may include a mouse, a trackball, a directional pad, a trackpad, a touch-sensitive display, a scroll wheel, a digital camera (still or video), a web camera, a microphone, a sensor, a smartcard, combinations, or the like. The sensor may be, for instance, a presence sensor, a motion sensor, a sound sensor, a force sensor, an optical sensor, a photon sensor, another like sensor, or any combination thereof. A presence sensor may be, for instance, a touch-sensitive display, a touch sensor based on capacitive, resistive, force-sensing, or surface acoustic wave technology, a proximity sensor based on infrared light technology, a mechanical switch, a stress sensor, a temperature sensor, a conductivity sensor, a visible light-based sensor, a magnetometer, the like, or any combination thereof. A sound sensor may be a microphone such as a low-fidelity microphone or a high-fidelity microphone. A motion sensor may be, for instance, an accelerometer, a gyroscope, a magnetometer, a tilt sensor, a force sensor, or the like. For example, thefirst input components 114 may include a capacitive touch panel portion of a touch screen, a digital camera, and a microphone. - In this embodiment, the
second processor 102 may usesecond output components 121 via asecond interface port 119. Thesecond interface port 119 may include a serial port, a parallel port, a GPIO port, a game port, a USB, a micro-USB port, an HDMI port, a video port, an audio port, a Bluetooth transceiver, an NFC port, another like interface port, or any combination thereof. Thesecond output components 121 may include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, a smartcard, another output component, or any combination thereof. In one example, thesecond output components 121 consume less power than thefirst output components 113 and may include a light-emitting diode or a low-power organic light-emitting diode (OLED) display. - In
FIG. 1 , thesecond processor 102 may usesecond input components 122 via thesecond interface port 119 to enable information to be received by thecomputing device 100. Thesecond input components 122 may include a mouse, a trackball, a directional pad, a trackpad, a touch-sensitive display, a scroll wheel, a digital camera (still or video), a web camera, a microphone, a sensor, a smartcard, combinations, or the like. The sensor may be, for instance, a presence sensor, a motion sensor, a sound sensor, a force sensor, an optical sensor, a photon sensor, another like sensor, or any combination thereof. A presence sensor may be, for instance, a touch-sensitive display, a touch sensor based on capacitive, resistive, force-sensing, or surface acoustic wave technology, a proximity sensor based on infrared light technology, a mechanical switch, a stress sensor, a temperature sensor, a conductivity sensor, a visible light-based sensor, a magnetometer, the like, or any combination thereof. A sound sensor may be a microphone such as a low-fidelity microphone or a high-fidelity microphone. A motion sensor may be, for instance, an accelerometer, a gyroscope, a magnetometer, a tilt sensor, a force sensor, or the like. For example, thesecond input components 122 consume less power than thefirst input components 114 and may include an accelerometer, a low-fidelity microphone, and an ambient light sensor. - In this embodiment, the
computing device 100 may be configured to communicate with a network 141 using thecommunication subsystem 125. The communication functions of thecommunication subsystem 125 may include data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. For example, thecommunication subsystem 125 includes cellular communication, Wi-Fi communication, Bluetooth communication, and GPS communication. The network 141 may encompass wired and wireless communication networks such as a local-area network (LAN), a wide-area network (WAN), a personal-area network (PAN), a computer network, a wireless network, a telecommunications network, another like network or any combination thereof. For example, the network 141 may be a cellular network, a Wi-Fi network, and a near-field network. - Although the
display 127 is separately shown here inFIG. 1 , the display may be considered an output component such as afirst output component 113 or asecond output component 121. Additionally, if thedisplay 127 is a touchscreen, it may also be considered an input component such as afirst input component 114 or asecond input component 122. In one definition, a touch-sensitive display is an electronic visual display that may detect the presence and location of a touch, gesture, or object near its display area. In one definition, the term “near” means on, proximate, or associated with. In another definition, the term “near” is the extended spatial location of. Thecomputing device 100 receives power from thepower supply 129. Thepower supply 129 may be, for instance, from a rechargeable battery, an alternating current (AC) source, another power source, or any combination thereof. Thecomputing device 100 may also include theclock circuit 115 to provide one or more clock signals to the various components and elements of thecomputing device 100. -
FIG. 2 is aflow chart 200 illustrating one embodiment of a method of initializing a computing device, such as thecomputing device 100 ofFIG. 1 , to perform an action with various aspects described herein. InFIG. 2 , the method may begin by initializing 201 thefirst processor 101 to a first state. In one example, the first state may be a sleep, idle, inactive, or other low-power mode of operation. In another example, the first state may be associated with reducing the frequency of a system clock, generated by aclock circuit 115, provided to thefirst processor 101. In yet another example, the first state may include disconnecting one or more clocks to theprocessor 101. In a further example, the first state may involve reducing the power supply voltage to theprocessor 101. - Because the
first processor 101 is in the first state, thesecond processor 102 determines 203 that a first condition has occurred. Several examples of methods for determining that a first condition has occurred will be described with reference toFIGS. 4-7 . In response to determining that the first condition has occurred, thecomputing device 100 initializes 205 thefirst processor 101 to a second state. In one example, the second state may be an active mode of operation. In another example, thefirst processor 101 in the second state uses an increased system clock frequency, as generated by aclock circuit 115. In yet another example, the second state may include reconnecting one or more clocks to theprocessor 101. In a further example, the second state may involve increasing the power supply voltage to theprocessor 101. The initialization of thefirst processor 101 to the second state may be associated with waking-up thefirst processor 101. For example, initializing thefirst processor 101 may initiate a kernel operation of an operating system, such asoperating system 105 ofFIG. 1 , and enable thefirst processor 101 to monitor a sensor, such as afirst input component 114 ofFIG. 1 . In one example, during initialization, thecomputing device 100 may also activate thedisplay 127. In another example, during initialization, thecomputing device 100, may start thecommunication subsystem 125 in preparation for transferring data or commencing a phone call. In another example, during initialization, thecomputing device 100, may activate various sensors associated with thefirst processor 101 or thesecond processor 102. - In
FIG. 2 , thecomputing device 100 may set 207 a first timer to a first time period. In one example, the first time period may be sufficient to allow a user to meet a second condition within a reasonable time period after the first condition. In another example, the first time period may be ten (10) seconds. If the first timer expires 209 prior to the method determining that a second condition has occurred 211, then the method may again initialize 201 thefirst processor 101 to the first state. This return toinitialization 201 after the first condition occurs, but when the second condition does not occur within the first time period, may return thefirst processor 101 from a higher-power second state to a lower-power first state. In this situation, thefirst processor 101 had moved to a second state in anticipation of a second condition, but when the second condition was not fulfilled within the first time period, thefirst processor 101 returned to the first state. - Although the first condition has not occurred 203, the method may set 210 the first timer to a fifth time period. In one example, the fifth time period may be multiple milliseconds. In another example, the fifth time period may be one hundred (100) milliseconds. This fifth time period supports an alternate path to determining, by the
second processor 102, if the second condition has occurred 211 prior to an expiration of the first timer. Thus, even when the first condition does not occur prior to the second condition, thesecond processor 102 and its associatedinput components 122 may detect the second condition. - In this embodiment, in response to determining, by the second processor 102 (through
branch 205 or 210) or the first processor 101 (through branch 205), that the second condition has occurred prior to the expiration of the first timer, thefirst processor 101 performs 215 a first action. In one example, the first action may include securely unlocking the computing device, which allows the computing device to be used for limited purposes such as (a) taking photographs or videos but not viewing or transmitting photographs or videos or accessing other capabilities of the computing device or (b) receiving phone calls but not initiating phone calls or accessing other capabilities of the computing device or (c) opening a browser to perform a search but limiting access to other capabilities of the computing device. In another example, the first action may include launching a software application such as a camera application, a phone dialer application, or a browser application. If thefirst processor 101 was previously initialized to the second state perblock 205, the first action may be performed faster than if thefirst processor 101 was still in the first state perbranch 210 when the second condition was detected. - In accordance with the
flow chart 200 ofFIG. 2 , a user may satisfy the first and second conditions, or simply the second condition, to instruct the computing device to perform a first action. If the first condition preceded the second condition within the first time period, thefirst processor 101 in the second state could perform the first action more quickly than if thefirst processor 101 was in the first state when the second condition occurred. Still, even if the first condition did not precede the second condition, thefirst processor 101 can still perform the first action starting from the first state. By carefully observing user behavior and intelligently defining first conditions, second conditions, and time periods, a computing device may seem to anticipate when a user intends to perform a first action and warm up thefirst processor 101 from a lower-power state to a higher-power state after a first condition is satisfied and prior to the user interacting with the computing device to satisfy the second condition. This has an advantage of decreasing the reaction time of the computing device relative to satisfying the second condition. -
FIG. 3 is aflow chart 300 illustrating another embodiment of a method of initializing a computing device, such as thecomputing device 100 ofFIG. 1 , to perform an action with various aspects described herein. InFIG. 3 , theflow chart 300 may begin by initializing 301 thefirst processor 101 to a first state as previously described with respect toFIG. 2 block 201. Because thefirst processor 101 is in the first state, thesecond processor 102 determines 303 that a first condition has occurred. Several examples of determining that a first condition has occurred will be described with respect toFIGS. 4-7 . In response to determining that the first condition has occurred, thecomputing device 100 initializes 305 thefirst processor 101 to a second state as previously described with respect toFIG. 2 block 205. - In
FIG. 3 , thecomputing device 100 may set 307 a first timer to a first time period as previously described with respect toFIG. 2 block 207. If the first timer expires 309 prior to the method determining that a second condition has occurred 311, then theflow chart 300 may again initialize 301 thefirst processor 101 to the first state. This return to block 301 after the first condition occurs, but when the second condition does not occur within the first time period, may return thefirst processor 101 from a higher-power second state to a lower-power first state. In this situation, thefirst processor 101 had moved to a second state in anticipation of a second condition, but when the second condition was not fulfilled within the first time period, thefirst processor 101 returned to the first state. - Although the first condition has not occurred 303, the method may set 310 the first timer to a fifth time period as previously described with respect to
FIG. 2 block 210. Thefirst processor 101 or thesecond processor 102 may determine 311 that a second condition has occurred prior to an expiration of the first timer. Thus, even when the first condition does not occur prior to the second condition, thesecond processor 102 and its associatedinput components 122 may detect the second condition. - In the current embodiment, in response to determining, by the second processor 102 (through
branch 305 or 310) or the first processor 101 (through branch 305), that the second condition has occurred prior to the expiration of the first timer, the method may provide 313 a notification to the computing device. In one example, the method may provide a tactile vibration using ahaptic output component 113. In another example, the method may provide a visual notification by flashing anLED output component 121 or turning on part of an OLED or LCD display. In yet another example, the method may provide an audio notification using aspeaker output component 113. Various configurations ofoutput components - Further, in response to determining that the second condition has occurred 311 prior to the expiration of the first timer, the
first processor 101 performs 315 a first action as previously described with reference toFIG. 2 block 215. If thefirst processor 101 was previously initialized to the second state perblock 305, the first action may be performed faster than if thefirst processor 101 was still in the first state perbranch 310 when the second condition was detected. - In response to determining 311 that the second condition has occurred, the method may set 317 a second timer to a second time period. In one example, the second time period may be sufficient to allow a user to instruct the computing device perform a second action within a reasonable time period after performing the first action. In another example, the second time period may be thirty (30) seconds. If the second timer expires 319 prior to the
flow chart 300 noticing athird condition 321, then the method may again initialize 301 thefirst processor 101 to the first state. This may include closing down any software applications launched during the first action and returning thecomputing device 100 to a fully-locked state. - Otherwise, the
first processor 101 may determine 321, within the second time period, that a third condition has occurred and perform 325 a second action. As an example, determining the occurrence of the third condition prior to the expiration of the second timer can be implemented as receiving, from a touch-sensitive display operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a tap, swipe, or other touch gesture indication. Further, the method may determine that the touch gesture indication is substantially similar to a predefined gesture. In response to determining that the touch gesture indication is substantially similar to the predefined gesture, the method may determine 321, by thefirst processor 101 and within the second time period, that the third condition has occurred. Otherwise, the method may determine that the third condition has not occurred. - In
FIG. 3 , in response to determining that the third condition has occurred 321 within the second time period, thefirst processor 101 performs 325 a second action. In one example, the second action may include taking a snapshot or starting a video recording using the camera application. In another example, the second action may include automatically dialing a number using the dialer application. In another example, the second action may include automatically answering an incoming phone call using the dialer application. In another example, the second action may include loading a web page using the browser application. - In accordance with the
flow chart 300 ofFIG. 3 , the first condition, the second condition, and the third condition are segregated to indicate when thefirst processor 101 should be initialized from the first state to the second state, when the first action should be performed, and when the second action should be performed. By carefully observing user behavior and intelligently defining the first condition, the second condition, the third condition, the first time period, the fifth time period, and the second time period, the computing device may seem to anticipate when a user intends to perform the first action and warm up thefirst processor 101 from the first state such as a lower-power state to the second state such as a higher-power state after the first condition is satisfied and prior to the user interacting with the computing device to satisfy the second condition or third condition. This has an advantage of decreasing the reaction time of the computing device relative to satisfying the second condition. Then, when the third condition is satisfied within the second time period, the second action may be performed. When the third condition is no longer satisfied within the second time period, thefirst processor 101 may return to the first state. This may have the effect of shutting down an application when the user no longer interacts with it and consequently reducing power consumption at the computing device. Alternatively, when the third condition is no longer satisfied within the second time period, thefirst processor 101 may remain in its current state. - Because the paradigms of
FIGS. 2-3 may be used in a variety of settings and environments,FIGS. 4-7 describe several different embodiments that may be implemented forblocks FIGS. 4-7 , the first condition is a multi-part condition involving a different environmental sensor for each part. By implementing a multi-part first condition, theflow charts FIGS. 2-3 may avoid prematurely instructing thefirst processor 101 to change from the first state to the second state. -
FIG. 4 illustrates one embodiment of aflow chart 400 for determining that a first condition has occurred with various aspects described herein. InFIG. 4 , theflow chart 400 may begin by receiving 401, from a first sensor operatively coupled to thesecond processor 102, a first indication. In one example, the first sensor is a motion sensor such as an accelerometer. Further, the method may determine 401 that the first indication is greater than a first threshold. In one example, the first threshold is associated with moving thecomputing device 100 from a pocket, holster, or purse to a viewing position in preparation for using the computing device as a camera, a browser, or a phone. In other words, an accelerometer reading of asecond input component 122 must be above a threshold to indicate a gross movement of thecomputing device 100. The first threshold may be empirically determined through multi-user testing and stored as a static value in thecomputing device 100memory 103 along with other thresholds that will be mentioned later. The first threshold, and other thresholds, may be dynamically determined on an individual basis using a recent history of the device's accelerometer readings and a statistical calculation such that the threshold represents a given number of standard deviations above the mean. Of course, these two methods of creating a threshold may be combined such that the accelerometer reading must be both above the empirically determined value and above the dynamically determined value. - The method may receive 403, from a second sensor operatively coupled to the
second processor 102, a second indication. In one example, the second sensor may be an optical sensor such as an ambient light sensor capable of sensing the ambient light in the environment around the computing device. Further, the method may determine 403 that the second indication is greater than a second threshold. In one example, the second threshold may be associated with thecomputing device 100 not being partially or wholly contained within another object such as a pocket, holster, or purse. In another example, the second threshold may be associated with a user placing thecomputing device 100 near the user's head or ear. As mentioned previously with respect to the first threshold, the second threshold may be static or dynamic, generally-determined or tailored to the user. - Finally, in response to determining 401 that the first indication is greater than a first threshold and determining 403 that the second indication is greater than a second threshold, the
second processor 102 determines 409 that the first condition has occurred with reference toFIGS. 2 , 3blocks second processor 102 determines 411 that the first condition has not occurred with reference toFIGS. 2 , 3blocks - Although the two
different indications FIG. 4 describes two independent indications for determining that the first condition has occurred with reference toFIGS. 2 , 3blocks FIG. 4 example, each indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a gross movement of the computing device when a user takes the device from a holstered position to an active position, and the other is directed toward the ambient light around the computing device when the user takes the device from the holstered position to the active position. Additional indications may be added as shown inFIG. 5 to strengthen a determination that a first condition has occurred. -
FIG. 5 illustrates another embodiment of a method of determining that a first condition has occurred with various aspects described herein. InFIG. 5 , aflow chart 500 may begin by receiving 501, from a first sensor operatively coupled to thesecond processor 102, a first indication as previously describe with reference toFIG. 4 block 401. The method may receive 503, from a second sensor operatively coupled to thesecond processor 102, a second indication as described with respect toFIG. 4 block 403. - In the current embodiment, the method may receive 505, from a third sensor operatively coupled to the
second processor 102, a third indication. In one example, the third sensor may be a presence sensor. In one example, the third sensor may be a presence sensor positioned near a display of the computing device. In another example, the third sensor may be an infrared proximity sensor designed to determine when an object such as a head is near a display of the computing device. Further, the method may determine 505 that the third indication is greater than a third threshold. In one example, the third threshold may be associated with a user positioning the computing device to take a picture. In another example, the third threshold may be associated with a user placing thecomputing device 100 near the user's head or ear. As mentioned previously with respect to the first threshold, the third threshold may be static or dynamic, generally-determined or tailored to the user. - In
FIG. 5 , in response to determining 501 that the first indication is greater than the first threshold and determining 503 that the second indication is greater than the second threshold and determining 505 that the third indication is greater than the third threshold, thesecond processor 102 determines 509 that the first condition has occurred with reference toFIGS. 2 , 3blocks second processor 102 determines 511 that the first condition has not occurred with reference toFIGS. 2 , 3blocks - Although the three
different indications FIG. 5 describes using three independent indications for determining that the first condition has occurred with reference toFIGS. 2 , 3blocks FIG. 5 example, each indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a gross movement of the computing device when a user takes the device from a holstered position to an active position, another is directed toward the ambient light around the computing device when a user takes the device from a holstered position to an active position, and a third is directed toward a user proximity to a display of the computing device when a user takes the computing device from a holstered position to an active position. As mentioned previously, additional indications may be added to strengthen a determination that a first condition has occurred, including to reduce false positive or false negative determinations. -
FIGS. 6-7 are examples using different environmental indications to determine that the first condition has occurred. InFIGS. 6-7 , the first condition as implemented differs slightly from the example first condition ofFIGS. 4-5 . For example, the first condition forFIGS. 4-5 can be related to bringing the computing device from a holstered position to an active position, whileFIGS. 6-7 are directed toward holding the computing device in a specific active position. The indications ofFIGS. 6-7 may be wholly or partially concatenated to the indications ofFIGS. 4-5 to implement variations of first condition determinations. -
FIG. 6 illustrates another embodiment of aflow chart 600 for determining that a first condition has occurred with various aspects described herein. InFIG. 6 , theflow chart 600 may begin when a fourth sensor operatively coupled to thesecond processor 102 receives 601 a first orientation indication associated with a first orientation of the computing device. In one example, the fourth sensor may be a motion sensor such as an accelerometer. In another example, the fourth sensor may be the same as the first sensor ofFIGS. 4-5 . - Further, the method may determine that the first orientation is substantially similar to a first predefined orientation of the computing device prior to starting 603 a third time period. In one example, the first predefined orientation may be associated with a user positioning the computing device in preparation to view a display of the computing device. In another example, the first predefined orientation may be associated with a user positioning the computing device in preparation to take a picture. In another example, the first predefined orientation may be associated with a user positioning the computing device at the user's ear in preparation to conduct a phone call. In general, the predefined orientation under consideration in these examples of
FIGS. 6-7 may be defined as the user positioning thedisplay 127 substantially parallel to gravity as shown inFIGS. 8 and 12 . - The method may set 603 a third timer to the third time period. In one example, the third time period is several milliseconds which is used to determine that the user is intentionally holding the computing device in the first predetermined orientation. In another example, the third time period is 500 milliseconds. During the third time period, the fourth sensor receives 607 one or more second orientation indications associated with secondary orientations of the computing device. Further, the method may determine 607 that the secondary orientations are substantially similar to the first predefined orientation of the computing device prior to the
expiration 605 of the third time period. - In the current embodiment, in response to determining 601 that the first orientation is substantially equivalent to the first predefined orientation prior to starting the third time period and determining 607 that the secondary orientations are substantially equivalent to the first predefined orientation during the third time period, the
second processor 102 determines 611 that the first condition has occurred. In other words, the orientation of the computing device has remained substantially the same throughout the third time period so the computing device concludes that the user intended to hold the device at the first predefined orientation and thus the first condition is fulfilled with respect toFIGS. 2 , 3blocks second processor 102 determines 613 that the first condition has not occurred with reference toFIGS. 2 , 3blocks - According to
FIG. 6 , the same sensor may determine whether a first predefined orientation is maintained for a third time period. It is possible for an accelerometer sensor to indicate the same orientation for a period of time even while the computing device has moved, which may be acceptable for a particular use case such as when a user operates the computing device while walking or traveling. Alternatively,FIG. 7 illustrates aflow chart 700 which uses a different sensor, such as a gyroscope, to confirm that the computing device has maintained the first predefined orientation without significant movement. -
FIG. 7 illustrates another embodiment of aflow chart 700 for determining that a first condition has occurred with various aspects described herein. InFIG. 7 , theflow chart 700 may begin when a fourth sensor operatively coupled to thesecond processor 102 receives 701 a first orientation indication associated with a first orientation of the computing device as previously described with reference toFIG. 6 block 601. Further, the method may determine that the first orientation is substantially similar to a first predefined orientation of the computing device prior to starting 703 a third time period as previously described with reference toFIG. 6 block 601. - The method may set 703 a third timer to the third time period as previously described with respect to
FIG. 6 block 603. During the third time period, the fourth sensor receives 707 one or more second orientation indications associated with secondary orientations of the computing device. - In this embodiment, a fifth sensor operatively coupled to the
second processor 102 receives 709 a fourth indication. In one example, the fifth sensor may be a motion sensor. In another example, the fifth sensor may be a gyroscope or a magnetometer. In another example, the fifth sensor may be the same as the first sensor or the fourth sensor. Further, the method may determine that thefourth indication 709 is less than a fourth threshold. In one example, the fourth threshold may be associated with the computing device maintaining essentially the same bearing. As mentioned previously with respect to the first threshold, the fourth threshold may be static or dynamic, generally-determined or tailored to the user. - In
FIG. 7 , in response to determining 701 that the first orientation is substantially equivalent to the first predefined orientation prior to starting the third time period and determining 707 that the secondary orientations are substantially equivalent to the first predefined orientation during the third time period and determining 709 that the fourth indication is less than a fourth threshold during the third time period, thesecond processor 102 determines 711 that the first condition has occurred. In other words, the orientation and bearing of the computing device has remained substantially the same throughout the third time period so the computing device concludes that the user intended to hold the device at the first predefined orientation and the same heading and thus the first condition is fulfilled with respect toFIGS. 2 , 3blocks second processor 102 determines 713 that the first condition has not occurred with reference toFIGS. 2 , 3blocks - Although
FIGS. 4-7 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, thedeterminations -
FIG. 8 illustrates one embodiment of a front view of acomputing device 800 in a landscape orientation with respect to gravity. InFIG. 8 , thecomputing device 800 may include ahousing 801, a touch-sensitive display 803, a first sensor (not shown), a fourth sensor (not shown), and a plurality ofninth sensors 805 a to 805 h. Thehousing 801 houses the internal components of thecomputing device 800 such as the first sensor and those described inFIG. 1 and may frame thedisplay 803 for user-interaction with thecomputing device 800. The plurality ofninth sensors 805 a to 805 h may be used individually or in combination to detect the presence of an input object near a plurality offirst regions 807 a to 807 d, respectively. For example, theninth sensors region 807 a. The ninth sensor may use infrared proximity technology, capacitive sensing technology, resistive sensing technology, surface acoustic wave technology, or other types of sensing technology. In another example, theninth sensor 805 a may be used to detect the presence of an input object near thesensor 805 a. An input object may be, for instance, a finger, a thumb, a stylus, or the like. While the plurality offirst regions 807 a to 807 d are illustrated inFIG. 8 in two dimensions, the plurality offirst regions computing device 800. - In
FIG. 8 , each of the plurality ofninth sensors 805 a to 805 h may be used individually or in combination to detect a gesture of the input object and associate the gesture with performing an action in thecomputing device 800. For example, one or more taps of an input object near one or more of the plurality ofninth sensors 805 a to 805 h may trigger an action by thecomputing device 800. In another example, theninth sensor 805 b may be used in combination with theninth sensor 805 a to detect a gesture of an input object such as a swipe near a corner thecomputing device 800. In determining the swipe, an elapsed time period may be considered for an input object traversing near thefirst region 807 a and toward the first region 807 b. Further, the direction of the swipe may be used to perform two different actions or two opposite actions such as zooming in and zooming out an image displayed on thedisplay 803 or increasing the volume and decreasing the volume of a speaker operatively coupled to thecomputing device 800. A person of ordinary skill in the art will recognize the timing requirements associated with detecting a gesture under such circumstances. - In operation, for example, a user may hold the
computing device 800 while thefirst processor 101 is in an inactive state and thesecond processor 102 is in an active state as referenced atblocks FIGS. 2 and 3 . Thecomputing device 800 may use a first sensor and a fourth sensor to determine that thecomputing device 800 is in a first orientation substantially similar to a predefined orientation for a third time period, as referenced inFIGS. 2 , 3blocks FIG. 6 flow chart 600. - In one example, the first sensor may be a motion sensor such as an accelerometer or a gyroscope. The predefined orientation may correspond to the expected orientation of the
computing device 800 during a typical user-interaction for a particular use case. For example, the predefined orientation may correspond to a user interaction to initially prepare thecomputing device 800 to capture an image using a camera component of thecomputing device 800. In another example, the predefined orientation may be associated with thedisplay 803 being positioned substantially parallel to the direction of gravity. Note that thedisplay 803 may be positioned in either a landscape screen format (as shown inFIG. 8 ) or a portrait screen format (as shown inFIG. 12 ) and still be substantially parallel to the direction of gravity. As noted in FIG. 8, the orientation axes of thecomputing device 800 are relative to the device itself. An XY-plane defines a width and height of a main display while the Z-axis is normal to the main display and oriented toward a viewer. Although gravity may be in any direction relative to thecomputing device 800,FIG. 8 shows gravity pulling in the −X direction in this example. In another example, the predefined orientation may be associated with thecomputing device 800 being in a typical orientation for another type of operation. - In response to determining that the
computing device 800 has fulfilled the first condition described with respect toFIGS. 2 , 3blocks computing device 800 initializes thefirst processor 101 into a second state such as an active state, as referenced atblocks FIGS. 2 and 3 . - Moving to a
detection FIGS. 2 , 3, thefirst processor 101 in the second state may detect the presence of an input object near a plurality offirst regions 807 a to 807 d of thecomputing device 800 using one or more of the plurality ofninth sensors 805 a to 805 h. In one example, thecomputing device 800 may place one or more of the plurality ofninth sensors 805 a to 805 h into an active mode during the initialization of thecomputing device 800 into the second state. In one example, the plurality ofninth sensors 805 a to 805 h may be presence sensors positioned near the corners of thecomputing device 800 to detect the presence of an input object near one or more of the plurality offirst regions 807 a to 807 d. In another example, the plurality ofninth sensors 805 a to 805 h may be positioned near the sides or edges of thecomputing device 800. - In response to determining 311 that the second condition has occurred per
FIG. 3 , thecomputing device 800 may provide 313 a notification, as referenced inFIG. 3 . In one example, thecomputing device 800 may provide an audio notification such as a beep using aspeaker output component 113 when input objects are concurrently detected at all fourfirst regions 807 a to 807 d. In another example, thecomputing device 800 may provide a visual notification by flashing anLED output component 121. In another example, thecomputing device 800 may provide a tactile vibration using ahaptic output component 113. Various configurations ofoutput components - While the
computing device 800 is in the second state, thecomputing device 800 may perform 215, 315 a first action based on a detected second condition, as referenced inFIGS. 2 and 3 , where the user interaction includes having one or more input objects near one or more of the plurality offirst regions 807 a to 807 d. In one example, the first action may respond to a user-interaction having one or more fingers near one or more corners of thecomputing device 800 corresponding to one or more of the plurality offirst regions 807 a to 807 d. In another example, the first action may respond to a user-interaction having one finger or thumb on each of the corners of thecomputing device 800 corresponding to all of the plurality offirst regions 807 a to 807 d. In another example, the first action may respond to thecomputing device 800 being in a position to capture an image using a capture device of thecomputing device 800. In another example, the first action may include securely unlocking thecomputing device 800. In another example, the first action may include launching an application such as a camera application, a phone dialer application, or a browser application. - The user-interaction may use an input object to perform a gesture such as a tap near one or more of the plurality of
first regions 807 a to 807 d to fulfill a third condition and thus instruct thecomputing device 800 to perform 321, 325 a second action in accordance withFIG. 3 . In one example, the second action may include taking a snapshot using the camera application. In another example, the second action may include placing a call using the dialer application. In another example, the second action may include loading a web page using the browser application. - In another embodiment, the
computing device 800 may detect a second condition based on the movement of thecomputing device 800 as captured by another sensor of thecomputing device 800 such as an accelerometer or a gyroscope. In one example, thecomputing device 800 may place the other sensor into an active mode during the initialization of thecomputing device 800 to the second state as described with respect toFIGS. 2 , 3blocks computing device 800 may perform 215, 315 the first action based on a first movement gesture of thecomputing device 800 being substantially similar to a predetermined movement gesture as described with respect toFIGS. 2 , 3. For example, the predetermined movement gesture of thecomputing device 800 may be an up-and-down movement of thecomputing device 800 relative to gravity. In another example, the predetermined movement gesture of thecomputing device 800 may be a figure-eight movement of thecomputing device 800. - In another example, the predetermined movement gesture of the
computing device 800 may be a jerk movement of thecomputing device 800 in the +Z-axis direction followed by a jerk movement in the −Z-axis direction. A jerk is a first derivative of acceleration with respect to time. A jerk movement would be registered when the jerk value (as calculated from a time derivative of an accelerometer output) is above a threshold. As mentioned previously with respect to the first threshold, this threshold may be static or dynamic, generally-determined or tailored to the user. Natural body movements tend to minimize jerk, so motions that create a significant jerk value should be easily distinguishable from natural body movements. In yet another example, the predetermined movement gesture of thecomputing device 800 may be a jerk movement of thecomputing device 800 in a clockwise direction around a Y-axis followed by a jerk movement in an anti-clockwise direction around the Y-axis. Of course, other axes may be used as a rotational axis, such as an X-axis or an axis represented by a line such as one from the upper left corner of the display to the lower right corner of the display (or from the lower left corner of the display to the upper right corner of the display). Thus, both the derivative of a linear acceleration and the derivative of an angular acceleration may produce jerk values. - In one definition, a double-jerk movement is a jerk movement in a first direction followed by a jerk movement in a second direction. The second direction may be opposite to the first direction as described previously in both a linear and a rotational situation. In another example, the predetermined movement gesture of the
computing device 800 may be a single jerk movement of thecomputing device 800. Also, more than two jerk movements may be concatenated to define a predetermined movement gesture. For example, both linear and rotational jerk segments may be combined in a gesture that moves thecomputing device 100 in a first linear jerk direction, in a linear jerk direction opposite the first linear direction, and then a rotational jerk around any axis. - Several examples of methods for determining that a second condition has occurred will be described with reference to
FIGS. 9-11 and 13-15. Given the use case proposed inFIG. 8 ,FIGS. 9-11 describe various multi-part elements for various second conditions. Based on the descriptions given, these elements may be modified for different use cases, different second condition definitions, and different first actions. -
FIG. 9 illustrates one embodiment of aflow chart 900 for determining that a second condition has occurred with various aspects described herein. InFIG. 9 , theflow chart 900 may begin by receiving 901, from a sixth sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a first movement indication associated with a first movement of the computing device. In one example, the sixth sensor may be a motion sensor such as an accelerometer. In another example, the sixth sensor may be the same as the first sensor or the fourth sensor. The method may determine 901 that the first movement indication is substantially similar to a first predefined movement gesture such as an up-and-down movement, a figure-eight movement, a linear single jerk movement, a linear double-jerk movement, a rotational single-jerk movement, or a rotational double jerk movement previously described with respect toFIG. 8 . - In
FIG. 9 , the method may receive 907, from a seventh sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a fifth indication associated with the amount of ambient light in the environment around the computing device. In one example, the seventh sensor may be an optical sensor such as an ambient light sensor. In another example, the seventh sensor may be the same as the second sensor. Further, the method may determine 907 that the fifth indication is greater than a fifth threshold. In one example, the fifth threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket, holster, or purse. In another example, the fifth threshold may be associated with the computing device being placed near an ear. As mentioned previously with respect to the first threshold, the fifth threshold may be static or dynamic, generally-determined or tailored to the user. - In this embodiment, the method may receive 909, from an eighth sensor operatively coupled to at least one of the
first processor 101 and thesecond processor 102, a sixth indication. In one example, the eighth sensor may be a motion sensor. In another example, the eighth sensor may be a gyroscope operatively coupled to thefirst processor 101. In another example, the eighth sensor may be the same as the fifth sensor. Further, the method may determine 909 that the sixth indication is less than a sixth threshold. In one example, the sixth threshold may be associated with the computing device substantially maintaining a certain orientation, which would help to confirm a jerk movement or a double-jerk movement in a linear direction. In another example, the sixth threshold may be associated with the computing device substantially maintaining a certain heading, which would help to confirm a jerk movement or a double-jerk movement in a linear direction. In yet another example, the sixth threshold may be associated with the computing device rotating a certain amount, which would help to confirm a jerk movement or a double-jerk movement in a rotational direction. As mentioned previously with respect to the first threshold, the sixth threshold may be static or dynamic, generally-determined or tailored to the user. - In
FIG. 9 , in response to determining that the first movement is substantially similar to the first predefined movement and determining that the fifth indication is greater than the fifth threshold and determining that the sixth indication is less than the sixth threshold, thefirst processor 101 determines 911 that the second condition has occurred. Alternatively, in response to determining that the first movement is not substantially similar to the first predefined movement or determining that the fifth indication is not greater than the fifth threshold or determining that the sixth indication is not less than the sixth threshold, thefirst processor 101 determines 913 that the second condition has not occurred. - Although the three
different indications FIG. 9 describes evaluating three separate factors in order to determine whether the second condition has occurred; additional independent indications may be added to strengthen a determination that a second condition has occurred, including to reduce false positive or false negative determinations. In these examples, each separate factor is directed toward a different aspect of the same user action to help determine that the second condition has occurred; one is directed toward an accelerometer-sensed movement of the computing device, another is directed toward the ambient light around the computing device, and a third is directed toward a gyroscopically-sensed movement of the computing device. While the first processor is in the second state, in this example, the computing device evaluates these three factors to determine when the user moves the computing device in a particular pattern or gesture movement to fulfill the second condition described with reference toFIGS. 2-3 blocks -
FIG. 10 illustrates another embodiment of aflow chart 1000 for determining that a second condition has occurred with various aspects described herein. InFIG. 10 , theflow chart 1000 may begin by receiving 1001, from a sixth sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a first movement indication associated with a first movement of the computing device as described previously with respect toFIG. 9 block 901. Further, the method may determine 1001 that the first movement is substantially similar to a first predefined movement gesture such as a single linear or rotational jerk movement as previously described with respect toFIG. 8 . In one example, the first predefined movement may be the up movement of the up-and-down movement of the computing device. In another example, the first predefined movement may be the first (linear or rotational) jerk movement of the double jerk movement of the computing device. - In
FIG. 10 , the method may set 1003 a fourth timer to a fourth time period. In one example, the fourth time period may be associated with a typical time period to perform a second predefined movement gesture. In another example, the fourth time period may be associated with a typical time period to perform a second jerk movement soon after a first jerk movement. A person of ordinary skill in the art will recognize a typical time period for a user to deliberately perform the second predefined movement. The method may receive 1004, from the sixth sensor, a second movement indication associated with a second movement of the computing device. Further, the method may determine 1004 that the second movement is substantially similar to the second predefined movement prior to theexpiration 1005 of the fourth time period. In one example, the second predefined movement may be the down movement of the up-and-down movement of the computing device. In another example, the second predefined movement may be the second (linear or rotational) jerk movement of the double jerk movement of the computing device. In another example, the first predefined movement and the second predefined movement may form a contiguous movement of the computing device. - In this embodiment, the method may receive 1007, from a seventh sensor operatively coupled to at least one of the
first processor 101 and thesecond processor 102, a fifth indication associated with the amount of ambient light in the environment around the computing device as previously described with respect toFIG. 9 block 907. Further, the method may determine 1007 that the fifth indication is greater than a fifth threshold as previously described with respect toFIG. 9 block 907. - In
FIG. 10 , the method may receive 1009, from an eighth sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a sixth indication as previously described with respect toFIG. 9 block 909. Further, the method may determine 1009 that the sixth indication is less than a sixth threshold as previously described with respect toFIG. 9 block 909. - In
FIG. 10 , in response to determining that the first movement is substantially similar to the first predefined movement and the second movement is substantially similar to the second predefined movement and performed within a fourth time period and also determining that the fifth indication is greater than the fifth threshold and determining that the sixth indication is greater than the sixth threshold, thefirst processor 101 may determine 1011 that the second condition has occurred. Alternatively, in response to determining that the first movement is not substantially similar to the first predefined movement or the second movement is not substantially similar to the second predefined movement or the second movement is not performed quickly enough after the first movement or determining that the fifth indication is not greater than the fifth threshold or determining that the sixth indication is not less than the sixth threshold, thefirst processor 101 may determine 1013 that the second condition has not occurred. -
FIG. 11 illustrates another embodiment of aflow chart 1100 for determining that a second condition has occurred with various aspects described herein. InFIG. 11 , theflow chart 1100 may begin by receiving 1101, from a plurality ofninth sensors 805 a to 805 h operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a second gesture indication associated with a second gesture. Further, the method may determine 1101 that the second gesture is substantially similar to a second predefined gesture. In response to determining that the second gesture is substantially similar to the second predefined gesture, thefirst processor 101 may determine 1111 that the second condition has occurred. Alternatively, in response to determining that the second gesture is not substantially similar to the second predefined gesture, thefirst processor 101 may determine 1113 that the second condition has not occurred. - In addition to positive indications from various sensors that assist the
computing device 800 to determine that a second condition has been fulfilled, various embodiments contemplate that negative indications from various sensors may assist thecomputing device 800 to determine that a second condition has been fulfilled. AlthoughFIGS. 9-11 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, thedeterminations -
FIG. 12 illustrates another embodiment of a front view of acomputing device 1200 in portrait orientation with various aspects described herein. According toFIG. 12 , thecomputing device 1200 includes ahousing 1201, a touch-sensitive display 1203, a first sensor (not shown), a plurality ofninth sensors 1205 a to 1205 d, and a plurality oftenth sensors 1211 a to 1211 d. Thehousing 1201 houses the internal components of thecomputing device 1200 such as the first sensor and those described inFIG. 1 and may frame thedisplay 1203 such that thedisplay 1203 is exposed for user-interaction with thecomputing device 1200. The plurality ofninth sensors 1205 a to 1205 d may be used individually or in combination, including with any of the plurality oftenth sensors 1211 a to 1211 d, to detect the presence of an input object near a plurality offirst regions 1207 a to 1207 d. For example, theninth sensor 1205 a may be used to detect the presence of an input object near thefirst region 1207 a. In another example, theninth sensor 1205 a may be used in combination with the adjacenttenth sensor 1211 a and the adjacenttenth sensor 1211 d to detect the presence of an input object near thefirst region 1207 a. - In addition, each of the plurality of
ninth sensors 1205 a to 1205 d may be used individually or in combination, including with any of the plurality oftenth sensors 1211 a to 1211 d, to detect a gesture of the input object associated with performing an action on thecomputing device 1200. For example, one or more taps of an input object near one or more of the plurality ofninth sensors 1205 a to 1205 d may direct thecomputing device 1200 to perform an action. While the plurality offirst regions 1207 a to 1207 d are illustrated inFIG. 12 in two dimensions, the plurality offirst regions computing device 1200. - In
FIG. 12 , the plurality oftenth sensors 1211 a to 1211 d may be used individually or in combination, including with any of the plurality ofninth sensors 1205 a to 1205 d, to detect the presence of an input object near any of the plurality ofsecond regions 1213 a to 1213 d. For example, thetenth sensor 1211 a may be used to detect the presence of an input object near thesecond region 1213 a. In addition, each of the plurality oftenth sensors 1211 a to 1211 d may be used individually or in combination, including with any of the plurality ofninth sensors 1205 a to 1205 d, to detect a gesture of the input object associated with performing an action at the computing device. For example, one or more taps of an input object near one or more of the plurality oftenth sensors 1211 a to 1211 d may direct thecomputing device 1200 to perform an action. In another example, thetenth sensor 1211 d may be used in combination with an adjacentninth sensor 1205 a and another adjacentninth sensor 1205 d to detect a gesture of an input object such as a swipe near the right edge of the computing device. In determining the swipe, a certain elapsed time may be considered for an input object traversing near thefirst sub-region 1207 a, thesecond sub-region 1213 d, and thethird sub-region 1207 d. Further, the direction of the swipe may be used to perform two different actions or two opposite actions such as zooming in and zooming out an image displayed on thedisplay 1203 or increasing the volume and decreasing the volume of a speaker operatively coupled to the computing device. A person of ordinary skill in the art will recognize the timing requirements associated with detecting a gesture under such circumstances. While the plurality ofsecond regions 1213 a to 1213 d are illustrated inFIG. 12 in two dimensions, the plurality ofsecond regions 1213 a to 1213 d may extend in three dimensions to include areas in, around, above and below thecomputing device 1200. - In operation, for example, a user may hold the
computing device 1200 while thefirst processor 101 in an inactive state and thesecond processor 102 in an active state as referenced atblocks FIGS. 2 and 3 . Thecomputing device 1200 may use a first sensor or a fourth sensor to determine that thecomputing device 1200 is in a first orientation substantially similar to a predefined orientation for a third time period, as referenced inFIGS. 2 , 3blocks FIG. 6 flow chart 600. - In one example, the first sensor may be a motion sensor such as an accelerometer or a gyroscope. The predefined orientation may correspond to the expected orientation of the
computing device 1200 during a typical user interaction for a particular use case. For example, the predefined orientation may correspond to a user interaction to initially prepare thecomputing device 1200 to make a telephone call. In another example, the predefined orientation may be associated with thedisplay 1203 being positioned substantially perpendicular to the direction of gravity. In response to determining that thecomputing device 1200 has fulfilled the first condition described with respect toFIGS. 2 , 3blocks computing device 1200 initializes thefirst processor 101 into a second state such as an active state, as referenced atblocks FIGS. 2 and 3 . - Moving to a detection of a second condition as referenced at
FIGS. 2 , 3blocks first processor 101 in the second state may detect the presence of an input object near the plurality offirst regions 1207 a to 1207 d using the plurality ofninth sensors 1205 a to 1205 d. In one example, thecomputing device 1200 may place one or more of the plurality ofninth sensors 1205 a to 1205 d into an active mode during the initialization of thecomputing device 1200 to the second state. In one example, the plurality ofninth sensors 1205 a to 1205 d may be presence sensors positioned near the corners of thecomputing device 1200 to detect the presence of an input object near one or more of the plurality offirst regions 1207 a to 1207 d, respectively. In addition, thecomputing device 1200 may detect the presence of an input object near one or more of the plurality ofsecond regions 1213 a to 1213 d using the plurality oftenth sensors 1211 a to 1211 d. In one example, thecomputing device 1200 may place the plurality oftenth sensors 1211 a to 1211 d into an active mode during the initialization of thecomputing device 1200 into the second state. In one example, the plurality oftenth sensors 1211 a to 1211 d may be presence sensors positioned near the sides or edges of thecomputing device 1200 to detect the presence of an input object near one or more of the plurality ofsecond regions 1213 a to 1213 d. - While the
first processor 101 is in the second state, thecomputing device 1200 may perform 215, 315 a first action based on a detected second condition, as referenced inFIGS. 2 and 3 , where the user interaction includes having one or more input objects near one or more of the plurality offirst regions 1207 a to 1207 d and not having any input objects near the plurality ofsecond regions 1213 a to 1213 d. In one example, the first action may correspond to a user-interaction having one or more fingers near one or more corners of thecomputing device 1200 corresponding to one or more of the plurality offirst regions 1207 a to 1207 d and without one or more fingers being near one or more sides of the computing device corresponding to one or more of the plurality ofsecond regions 1213 a to 1213 d. In another example, the first action may correspond to a user-interaction having one finger or thumb on each of the corners of thecomputing device 1200 corresponding to one or more of the plurality offirst regions 1207 a to 1207 d and without the one or more fingers or thumbs being near one or more sides of the computing device corresponding to one or more of the plurality ofsecond regions 1213 a to 1213 d. See the hand positions shown inFIG. 8 . In another example, the first action may correspond to a user-interaction having no fingers or thumbs at the corners of the computing device corresponding to one or more of the plurality offirst regions 1207 a to 1207 d and having one or more fingers or thumbs near one or more sides of the computing device corresponding to one or more of the plurality ofsecond regions 1213 a to 1213 d. See the hand position shown inFIG. 8 . In another example, the first action may correspond to thecomputing device 1200 being in a position to capture an image using a capture device of thecomputing device 1200. The first action may include securely unlocking the computing device or limiting the capability of the computing device. Further, the first action may include launching a camera application, a phone dialer application, or a browser application. - The user-interaction may use an input object to perform a gesture such as tapping one or more times near one or more of the
first regions 1207 a to 1207 d to fulfill a third condition and thus instruct thecomputing device 800 to perform 321, 325 a second action in accordance withFIG. 3 . For example, the second action may be to capture an image such as a snapshot using a capture device of thecomputing device 1200. The user-interaction may use the input object to, for instance, slide along the side of thecomputing device 1200 near one or more of thefirst regions 1207 a to 1207 d and one or more of thesecond regions 1213 a to 1213 d to perform a second action at thecomputing device 1200. For example, the second action may be to zoom in or zoom out on an image displayed on thedisplay 1203. In another example, the second action may be to answer a phone call. -
FIG. 13 illustrates another embodiment of amethod 1300 for determining that a second condition has occurred with various aspects described herein. InFIG. 13 , themethod 1300 may begin by receiving 1301, from one or more of the plurality ofninth sensors 1205 a to 1205 d, operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a second gesture indication associated with a second gesture. Further, themethod 1300 may determine 1301 that the second gesture is substantially similar to a second predefined gesture. Themethod 1300 may determine 1303 that no indications were received from any of the plurality oftenth sensors 1211 a to 1211 d operatively coupled to at least one of thefirst processor 101 and thesecond processor 102 within the first time period. In response to determining 1301 that the second gesture is substantially similar to a second predefined gesture and determining 1303 that no indications were received from any of the plurality oftenth sensors 1211 a to 1211 d, thefirst processor 101 may determine 1311 that the second condition has occurred. Alternatively, in response to determining 1301 that the second gesture is not substantially similar to a second predefined gesture or determining 1303 that an indication was received from one or more of the plurality oftenth sensors 1211 a to 1211 d, thefirst processor 101 may determine 1313 that the second condition has not occurred. - Although
different indications FIG. 13 describes using two separate indications for determining that the second condition has occurred; additional independent indications may be added to strengthen a determination that a second condition has occurred, including to reduce false positive or false negative conclusions. In these examples, each separate indication is directed toward a different aspect of the same user action, or lack of user action, to help conclude that the second condition has occurred; one is directed toward a user's physical interaction with a set of first regions 1207 and another is directed toward a user's physical interaction with a set of second regions 1213. -
FIG. 14 illustrates another embodiment of aflow chart 1400 for determining that a second condition has occurred with various aspects described herein. InFIG. 14 , theflow chart 1400 may begin by receiving 1401, from an eleventh sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a first command indication associated with a first command. In one example, the eleventh sensor may be a microphone operatively coupled to at least one of thefirst processor 101 and thesecond processor 102. Further, the method may determine 1401 that the first command is substantially similar to a first predetermined command. In one example, the first predetermined command may be a voice command such as “camera,” “snap,” “search,” “browser,” “call,” or “answer.” The method may receive 1403, from a twelfth sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a seventh indication. In one example, the twelfth sensor may be an optical sensor. In another example, the twelfth sensor may be the same as the second sensor or the seventh sensor. Further, the method may determine 1403 that the seventh indication is greater than a seventh threshold. In one example, the seventh threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket, holster, or purse. In another example, the seventh threshold may be associated with the computing device being placed near an ear. As mentioned previously with respect to the first threshold, the seventh threshold may be static or dynamic, generally-determined or tailored to the user. - In
FIG. 14 , in response to determining 1401 that the first command is substantially similar to the first predetermined command and determining 1403 that the seventh indication is greater than the seventh threshold, thefirst processor 101 determines 1411 that the second condition has occurred. Alternatively, in response to determining 1401 that the first command is not substantially similar to the first predetermined command or determining 1403 that the seventh indication is not greater than the seventh threshold, thefirst processor 101 determines 1413 that the second condition has not occurred. - In operation, for example, the
second processor 102 may use one or more indications to determine that a first condition has occurred while thefirst processor 101 is operating in a first state such as a sleep state, as referenced atblocks FIGS. 2 and 3 . In response to determining the first condition, the computing device may initialize thefirst processor 101 into a second state such as an active state, as referenced atblocks FIGS. 2 and 3 . Also, the computing device may initialize an eleventh sensor such as a microphone and a twelfth sensor such as an optical sensor. Furthermore, the computing device may use one or more indications to determine that a second condition has occurred while thefirst processor 101 is operating in the active state, as referenced atFIGS. 2 , 3blocks FIG. 14 block 1401. Further, the computing device may receive a seventh indication from the optical sensor. In response, the computing device may determine that the seventh indication is greater than a seventh threshold corresponding to an ambient light environment adequate to capture an image, as referenced inFIG. 14 block 1403. In response to determining the verbal “snap” command and determining an adequate ambient light environment, the computing device may determine 1411 that the second condition has occurred, as referenced inFIG. 14 . In response to the second condition occurring, the computing device may provide 313 a user notification, as referenced inFIG. 3 . Further, the computing device may perform 315 a first action such as automatically snapping a picture using an image capture device operatively coupled to the computing device, as referenced inFIG. 3 . - Although
different indications FIG. 14 describes using separate indications for determining that the second condition has occurred; additional independent indications may be added to strengthen a determination that a second condition has occurred, including to reduce false positive or false negative determinations. In these examples, each separate indication is directed toward a different aspect of the same user action, or lack of user action, to help determine that the second condition has occurred; one is directed toward a user voice command and another is directed toward the ambient light around the computing device. -
FIG. 15 illustrates another embodiment of aflow chart 1500 of determining that a second condition has occurred with various aspects described herein. InFIG. 15 , theflow chart 1500 may begin by receiving 1501, from an eleventh sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a first command indication associated with a first command as previously described with reference toFIG. 14 block 1401. Further, the method may determine 1501 that the first command is substantially similar to a first predetermined command as described with reference toFIG. 14 block 1401. The method may receive 1503, from a twelfth sensor operatively coupled to at least one of thefirst processor 101 and thesecond processor 102, a seventh indication as described with reference toFIG. 14 block 1403. Further, the method may determine 1503 that the seventh indication is greater than a seventh threshold as previously described with respect toFIG. 14 block 1403. - The method may receive 1505, from a thirteenth sensor operatively coupled to at least one of the
first processor 101 and thesecond processor 102, an eighth indication. In one example, the thirteenth sensor is a presence sensor. In another example, the thirteenth sensor is a proximity sensor. In another example, the thirteenth sensor is the same as the third sensor, the ninth sensor, or the tenth sensor. Further, the method may determine 1505 that the eighth indication is greater than an eighth threshold. In one example, the eighth threshold may be associated with the computing device not being partially or wholly contained within another object such as a pocket or a purse. In another example, the eighth threshold may be associated with a user positioning the computing device to take a picture. In another example, the eighth threshold may be associated with the computing device being placed near an ear. As mentioned previously with respect to the first threshold, the eighth threshold may be static or dynamic, generally-determined or tailored to the user. - In
FIG. 15 , in response to determining 1501 that the first command is substantially similar to the first predetermined command, determining 1503 that the seventh indication is greater than the seventh threshold, and determining 1505 that the eighth indication is greater than the eighth threshold, thefirst processor 101 may determine 1511 that the second condition has occurred. Alternatively, in response to determining 1501 that the first command is not substantially similar to the first predetermined command, determining 1503 that the seventh indication is not greater than the seventh threshold, or determining 1505 that the eighth indication is not greater than the eighth threshold, thefirst processor 101 determines 1513 that the second condition has not occurred. - In operation, for example, the
second processor 102 may use one or more indications to determine the first condition while thefirst processor 101 is operating in the first state such as a sleep state, as referenced atblocks FIGS. 2 and 3 . The first condition may be determined in a variety of ways using different combinations of sensors as described with reference toFIGS. 4-7 . In response to determining the first condition, thefirst processor 101 initializes to a second state such as an active state, as referenced atblocks FIGS. 2 and 3 . Also, the computing device may initialize the eleventh sensor such as a microphone, the twelfth sensor such as an optical sensor, and the thirteenth sensor such as a presence sensor. Furthermore, the computing device may use one or more indications to determine the second condition while thefirst processor 101 is operating in the active state, as referenced atFIGS. 2 , 3blocks FIGS. 9-11 and 13-15. For instance, the computing device may receive a first command indication via the microphone. In response, the computing device may determine that the first command is substantially similar to the first predetermined command such as a verbal “hello” command, as referenced inFIG. 15 block 1501. Further, the computing device may receive a seventh indication from the optical sensor. In response, the computing device may determine that the seventh indication is greater than the seventh threshold corresponding to the computing device being placed near an ear, as referenced inFIG. 15 block 1503. Further, the computing device may receive the eighth indication from the presence sensor. In response, the computing device may determine that the eighth indication is greater than the eighth threshold corresponding to the computing device being placed near an ear, as referenced inFIG. 15 block 1505. In response to determining the verbal “hello” command and determining that the computing device is held near an ear using two different sensors, the computing device may determine that the second condition has occurred, as referenced inFIG. 15 block 1511. In response to the second condition occurring, the computing device may provide 313 a user notification, as referenced inFIG. 3 . Further, the computing device may perform 315 the first action such as answering an incoming call, as referenced inFIG. 3 . - In another operation, for example, the
second processor 102 may use one or more indications to determine that a first condition has occurred while thefirst processor 101 is operating in a first state such as a sleep state, as referenced atblocks FIGS. 2 and 3 . In response to determining the first condition, the computing device may initialize thefirst processor 101 into the second state such as an active state, as referenced atblocks FIGS. 2 and 3 . Also, the computing device may initialize an eleventh sensor such as a microphone, a twelfth sensor such as an optical sensor, and a thirteenth sensor such as a presence sensor. Furthermore, the computing device may use one or more indications to determine that a second condition has occurred while thefirst processor 101 is operating in the active state, as referenced atFIGS. 2 , 3blocks FIG. 15 block 1501. Further, the computing device may receive a seventh indication from the optical sensor. In response, the computing device may determine that the seventh indication is greater than a seventh threshold corresponding to an ambient light environment when the computing device is in a pocket, holster, or purse, as referenced inFIG. 15 block 1503. Further, the computing device may receive an eighth indication from the presence sensor. In response, the computing device may determine that the eighth indication is greater than an eighth threshold corresponding to the computing device being held in a common grip for browser interactions, as referenced inFIG. 15 block 1505. In response to determining the verbal “browser” command and determining that the computing device is not in a pocket or purse using two different sensors, the computing device may determine that the second condition has occurred, as referenced inFIG. 15 block 1511. In response to the second condition occurring, the computing device may provide 313 a user notification, as referenced inFIG. 3 . Further, the computing device may perform the first action such as automatically opening a browser, as referenced atblock 315 inFIG. 3 . - Although the three
different indications FIG. 15 describes using three separate indications for determining that the first condition has occurred; additional independent indications may be added to strengthen a determination that a first condition has occurred, including to reduce false positive or false negative determinations. In these examples, each separate indication is directed toward a different aspect of the same user action to help determine that the first condition has occurred; one is directed toward a user voice command, another is directed toward the ambient light around the computing device, and a third is directed toward a user proximity to a display. - Although
FIGS. 13-15 present a paradigm where the decisions are binary (YES/NO), these methods may be modified using a probability engine such that one or more of the multiple YES/NO decisions become probability values. Then, thedeterminations - This detailed description is merely illustrative in nature and is not intended to limit the present disclosure, or the application and uses of the present disclosure. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding field of use, background, or this detailed description. The present disclosure provides various examples, embodiments and the like, which may be described herein in terms of functional or logical block elements. Various techniques described herein may be used to initialize a computing device to perform an action. The various aspects described herein are presented as methods, devices (or apparatus), systems, or articles of manufacture that may include a number of components, elements, members, modules, nodes, peripherals, or the like. Further, these methods, devices, systems, or articles of manufacture may include or not include additional components, elements, members, modules, nodes, peripherals, or the like. Furthermore, the various aspects described herein may be implemented using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computing device, carrier, or media. For example, a non-transitory computer-readable medium may include: a magnetic storage device such as a hard disk, a floppy disk or a magnetic strip; an optical disk such as a compact disk (CD) or digital versatile disk (DVD); a smart card; and a flash memory device such as a card, stick or key drive. Additionally, it should be appreciated that a carrier wave may be employed to carry computer-readable electronic data including those used in transmitting and receiving electronic data such as electronic mail (e-mail) or in accessing a computer network such as the Internet or a local area network (LAN). Of course, a person of ordinary skill in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
- Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “connected” means that one function, feature, structure, component, element, or characteristic is directly joined to or in communication with another function, feature, structure, component, element, or characteristic. The term “coupled” means that one function, feature, structure, component, element, or characteristic is directly or indirectly joined to or in communication with another function, feature, structure, component, element, or characteristic. Relational terms such as “first” and “second,” and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The term “or” is intended to mean an inclusive or. Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form. The term “include” and its various forms are intended to mean including but not limited to.
- In this detailed description, numerous specific details are set forth. However, it is to be understood that embodiments of the disclosed technology may be practiced without these specific details. References to “one embodiment,” “an embodiment,” “example embodiment,” “various embodiments,” and other like terms indicate that the embodiments of the disclosed technology so described may include a particular function, feature, structure, component, element, or characteristic, but not every embodiment necessarily includes the particular function, feature, structure, component, element, or characteristic. Further, repeated use of the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may.
- It is important to recognize that it is impractical to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter. However, a person having ordinary skill in the art will recognize that many further combinations and permutations of the subject innovations are possible. Accordingly, the claimed subject matter is intended to cover all such alterations, modifications, and variations that are within the spirit and scope of the claimed subject matter.
- Although the present disclosure describes specific examples, embodiments, and the like, various modifications and changes may be made without departing from the scope of the present disclosure as set forth in the claims below. For example, although the example methods, devices, systems, or articles of manufacture described herein are in conjunction with a configuration for the aforementioned initializing a computing device to perform an action, the skilled artisan will readily recognize that the example methods, devices, systems, or articles of manufacture may be used in other methods, devices, systems, or articles of manufacture and may be configured to correspond to such other example methods, devices, systems, or articles of manufacture as needed. Further, while at least one example, embodiment, or the like has been presented in this detailed description, many variations exist. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present disclosure. Any benefits, advantages, or solutions to problems that are described herein with regard to specific embodiments are not intended to be construed as a critical, required, or essential feature or element of any or all of the claims.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/746,917 US20140208333A1 (en) | 2013-01-22 | 2013-01-22 | Initialize a Computing Device to Perform an Action |
PCT/US2014/011958 WO2014116505A1 (en) | 2013-01-22 | 2014-01-17 | Initialize a computing device to perform an action |
US14/168,084 US9110663B2 (en) | 2013-01-22 | 2014-01-30 | Initialize a computing device to perform an action |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/746,917 US20140208333A1 (en) | 2013-01-22 | 2013-01-22 | Initialize a Computing Device to Perform an Action |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/168,084 Continuation US9110663B2 (en) | 2013-01-22 | 2014-01-30 | Initialize a computing device to perform an action |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140208333A1 true US20140208333A1 (en) | 2014-07-24 |
Family
ID=50073473
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/746,917 Abandoned US20140208333A1 (en) | 2013-01-22 | 2013-01-22 | Initialize a Computing Device to Perform an Action |
US14/168,084 Active US9110663B2 (en) | 2013-01-22 | 2014-01-30 | Initialize a computing device to perform an action |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/168,084 Active US9110663B2 (en) | 2013-01-22 | 2014-01-30 | Initialize a computing device to perform an action |
Country Status (2)
Country | Link |
---|---|
US (2) | US20140208333A1 (en) |
WO (1) | WO2014116505A1 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120290884A1 (en) * | 2011-05-09 | 2012-11-15 | Canon Kabushiki Kaisha | Information processing apparatus that detects startup error, method of controlling the same, and storage medium |
US20140258870A1 (en) * | 2013-03-07 | 2014-09-11 | Google Inc. | Serving content items based on device rotational orientation |
US20150026623A1 (en) * | 2013-07-19 | 2015-01-22 | Apple Inc. | Device input modes with corresponding user interfaces |
US20150153893A1 (en) * | 2013-12-03 | 2015-06-04 | Samsung Electronics Co., Ltd. | Input processing method and electronic device thereof |
US20150160629A1 (en) * | 2013-12-10 | 2015-06-11 | Toshiba Global Commerce Solutions Holdings Corporation | Systems and methods for initiating predetermined software function for a computing device based on orientation and movement |
US20150212699A1 (en) * | 2014-01-27 | 2015-07-30 | Lenovo (Singapore) Pte. Ltd. | Handedness for hand-held devices |
US20150229752A1 (en) * | 2014-02-13 | 2015-08-13 | Roderick Andrew Coles | Mobile security application |
US20160021237A1 (en) * | 2013-04-01 | 2016-01-21 | Tata Consultancy Services Limited | System and method for power effective participatory sensing |
US20160034117A1 (en) * | 2014-07-29 | 2016-02-04 | Samsung Electronics Co., Ltd. | Electronic device operating in idle mode and method thereof |
US20160070466A1 (en) * | 2014-09-04 | 2016-03-10 | Apple Inc. | User interfaces for improving single-handed operation of devices |
US9575555B2 (en) | 2012-06-08 | 2017-02-21 | Apple Inc. | Peek mode and graphical user interface (GUI) experience |
US9729685B2 (en) | 2011-09-28 | 2017-08-08 | Apple Inc. | Cover for a tablet device |
US9740839B2 (en) | 2014-08-13 | 2017-08-22 | Google Technology Holdings LLC | Computing device chording authentication and control |
US9749528B1 (en) * | 2015-06-11 | 2017-08-29 | Ambarella, Inc. | Multi-stage wakeup battery-powered IP camera |
US9854562B2 (en) | 2015-01-06 | 2017-12-26 | Alibaba Group Holding Limited | Methods, apparatus, and systems for displaying notifications |
US9906722B1 (en) | 2016-04-07 | 2018-02-27 | Ambarella, Inc. | Power-saving battery-operated camera |
US20180329505A1 (en) * | 2015-12-01 | 2018-11-15 | Sony Corporation | Information processing device, information processing method, and program |
US20190029096A1 (en) * | 2016-01-04 | 2019-01-24 | Brightgreen Pty Ltd | Multiple input touch control system |
US20190339855A1 (en) * | 2018-05-07 | 2019-11-07 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces and Displaying a Dock |
KR20210005271A (en) * | 2018-05-07 | 2021-01-13 | 애플 인크. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying docks, and displaying system user interface elements |
US20210136406A1 (en) * | 2018-03-30 | 2021-05-06 | Nikon Corporation | Video compression apparatus, decompression apparatus and recording medium |
US11079929B2 (en) | 2018-05-07 | 2021-08-03 | Apple Inc. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
US11137820B2 (en) | 2015-12-01 | 2021-10-05 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11144107B2 (en) | 2015-12-01 | 2021-10-12 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11145272B2 (en) * | 2016-10-17 | 2021-10-12 | Amer Sports Digital Services Oy | Embedded computing device |
US11210299B2 (en) | 2015-12-01 | 2021-12-28 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11215457B2 (en) | 2015-12-01 | 2022-01-04 | Amer Sports Digital Services Oy | Thematic map based route optimization |
US11284807B2 (en) | 2015-12-21 | 2022-03-29 | Amer Sports Digital Services Oy | Engaging exercising devices with a mobile device |
US11541280B2 (en) | 2015-12-21 | 2023-01-03 | Suunto Oy | Apparatus and exercising device |
US11587484B2 (en) | 2015-12-21 | 2023-02-21 | Suunto Oy | Method for controlling a display |
US11607144B2 (en) | 2015-12-21 | 2023-03-21 | Suunto Oy | Sensor based context management |
US11797150B2 (en) | 2018-05-07 | 2023-10-24 | Apple Inc. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
US11838990B2 (en) | 2015-12-21 | 2023-12-05 | Suunto Oy | Communicating sensor data in wireless communication systems |
US11874716B2 (en) | 2015-08-05 | 2024-01-16 | Suunto Oy | Embedded computing device management |
US11957981B2 (en) * | 2014-09-17 | 2024-04-16 | Gree, Inc. | Non-transitory computer readable storage medium, method, and system |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10048860B2 (en) | 2006-04-06 | 2018-08-14 | Google Technology Holdings LLC | Method and apparatus for user interface adaptation |
US9367085B2 (en) | 2012-01-26 | 2016-06-14 | Google Technology Holdings LLC | Portable electronic device and method for controlling operation thereof taking into account which limb possesses the electronic device |
US9959038B2 (en) | 2012-08-30 | 2018-05-01 | Google Llc | Displaying a graphic keyboard |
US9215302B2 (en) | 2013-05-10 | 2015-12-15 | Google Technology Holdings LLC | Method and device for determining user handedness and controlling a user interface |
GB2519124A (en) * | 2013-10-10 | 2015-04-15 | Ibm | Controlling application launch |
US10747416B2 (en) | 2014-02-13 | 2020-08-18 | Samsung Electronics Co., Ltd. | User terminal device and method for displaying thereof |
US10712918B2 (en) * | 2014-02-13 | 2020-07-14 | Samsung Electronics Co., Ltd. | User terminal device and displaying method thereof |
US10866714B2 (en) * | 2014-02-13 | 2020-12-15 | Samsung Electronics Co., Ltd. | User terminal device and method for displaying thereof |
JP6239449B2 (en) * | 2014-06-24 | 2017-11-29 | 京セラ株式会社 | Mobile terminal, notification control program, and notification control method |
WO2016015902A1 (en) * | 2014-07-30 | 2016-02-04 | Robert Bosch Gmbh | Apparatus with two input means and an output means and method for switching operating mode |
US9971496B2 (en) | 2014-08-04 | 2018-05-15 | Google Technology Holdings LLC | Method and apparatus for adjusting a graphical user interface on an electronic device |
EP3703065A1 (en) | 2015-01-20 | 2020-09-02 | Novartis AG | Application unlock using a connected physical device and transfer of data therebetween |
US9864039B2 (en) * | 2015-06-26 | 2018-01-09 | Motorola Mobility Llc | Portable electronic device proximity sensors with multi-directional functionality |
CN105242782B (en) * | 2015-09-25 | 2019-03-29 | 联想(北京)有限公司 | Electronic equipment and information processing method |
KR101744727B1 (en) * | 2015-12-07 | 2017-06-08 | 현대자동차주식회사 | A smart key, a method for controlliong the smart key and a vehicle including the smart key |
CA2961090A1 (en) | 2016-04-11 | 2017-10-11 | Tti (Macao Commercial Offshore) Limited | Modular garage door opener |
CN108780593A (en) | 2016-04-11 | 2018-11-09 | 创科(澳门离岸商业服务)有限公司 | Modularization garage door opener |
TWI611321B (en) * | 2016-04-29 | 2018-01-11 | 和碩聯合科技股份有限公司 | Portable electronic device and control method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060053315A1 (en) * | 2004-07-13 | 2006-03-09 | Thomas Menzl | Advanced sleep timer |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928559B1 (en) | 1997-06-27 | 2005-08-09 | Broadcom Corporation | Battery powered device with dynamic power and performance management |
EP2256605B1 (en) | 1998-01-26 | 2017-12-06 | Apple Inc. | Method and apparatus for integrating manual input |
US9189069B2 (en) | 2000-07-17 | 2015-11-17 | Microsoft Technology Licensing, Llc | Throwing gestures for mobile devices |
US20040214146A1 (en) | 2002-12-27 | 2004-10-28 | Leapfrog Enterprises, Inc. | Learning device including motion activated switch |
US7306567B2 (en) | 2004-01-09 | 2007-12-11 | Loree Iv Leonor F | Easy wake wrist watch |
GB2418090A (en) | 2004-09-08 | 2006-03-15 | Hewlett Packard Development Co | Camera with preset configurations associated with particular orientations |
ITUD20050074A1 (en) | 2005-05-11 | 2006-11-12 | Eurotech S P A | ENERGY SAVING DEVICE FOR A PORTABLE ELECTRONIC EQUIPMENT |
KR100647135B1 (en) | 2005-10-04 | 2006-11-23 | 삼성전자주식회사 | Apparatus and method for alarm control by motion detect in portable terminal |
JP4274198B2 (en) | 2006-05-19 | 2009-06-03 | ソニー株式会社 | Video display device and video display control method |
WO2008072168A1 (en) | 2006-12-14 | 2008-06-19 | Philips Intellectual Property & Standards Gmbh | Monitoring device with at least one sensor |
US8130203B2 (en) * | 2007-01-03 | 2012-03-06 | Apple Inc. | Multi-touch input discrimination |
US8075499B2 (en) | 2007-05-18 | 2011-12-13 | Vaidhi Nathan | Abnormal motion detector and monitor |
US8316448B2 (en) * | 2007-10-26 | 2012-11-20 | Microsoft Corporation | Automatic filter generation and generalization |
US8112281B2 (en) | 2007-12-19 | 2012-02-07 | Enbiomedic | Accelerometer-based control of wearable audio recorders |
US8587515B2 (en) * | 2008-08-05 | 2013-11-19 | Apple Inc. | Systems and methods for processing motion sensor generated data |
US9852761B2 (en) * | 2009-03-16 | 2017-12-26 | Apple Inc. | Device, method, and graphical user interface for editing an audio or video attachment in an electronic message |
US9086875B2 (en) * | 2009-06-05 | 2015-07-21 | Qualcomm Incorporated | Controlling power consumption of a mobile device based on gesture recognition |
US7873849B2 (en) | 2009-09-02 | 2011-01-18 | Apple Inc. | Motion sensor data processing using various power management modes |
US8487758B2 (en) | 2009-09-02 | 2013-07-16 | Medtronic Minimed, Inc. | Medical device having an intelligent alerting scheme, and related operating methods |
US8970507B2 (en) * | 2009-10-02 | 2015-03-03 | Blackberry Limited | Method of waking up and a portable electronic device configured to perform the same |
TWI506486B (en) * | 2009-10-09 | 2015-11-01 | Egalax Empia Technology Inc | Method and device for analyzing positions |
EP2494432B1 (en) | 2009-10-27 | 2019-05-29 | Harmonix Music Systems, Inc. | Gesture-based user interface |
US9174123B2 (en) * | 2009-11-09 | 2015-11-03 | Invensense, Inc. | Handheld computer systems and techniques for character and command recognition related to human movements |
US20120016641A1 (en) | 2010-07-13 | 2012-01-19 | Giuseppe Raffa | Efficient gesture processing |
KR20120024247A (en) * | 2010-09-06 | 2012-03-14 | 삼성전자주식회사 | Method for operating a mobile device by recognizing a user gesture and the mobile device thereof |
US9155168B2 (en) | 2010-12-03 | 2015-10-06 | Surefire, Llc | Wearable lighting device |
EP2551784A1 (en) * | 2011-07-28 | 2013-01-30 | Roche Diagnostics GmbH | Method of controlling the display of a dataset |
TWI450150B (en) * | 2011-12-21 | 2014-08-21 | Wistron Corp | Touch method and touch system |
-
2013
- 2013-01-22 US US13/746,917 patent/US20140208333A1/en not_active Abandoned
-
2014
- 2014-01-17 WO PCT/US2014/011958 patent/WO2014116505A1/en active Application Filing
- 2014-01-30 US US14/168,084 patent/US9110663B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060053315A1 (en) * | 2004-07-13 | 2006-03-09 | Thomas Menzl | Advanced sleep timer |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120290884A1 (en) * | 2011-05-09 | 2012-11-15 | Canon Kabushiki Kaisha | Information processing apparatus that detects startup error, method of controlling the same, and storage medium |
US9075752B2 (en) * | 2011-05-09 | 2015-07-07 | Canon Kabushiki Kaisha | Information processing apparatus that detects startup error, method of controlling the same, and storage medium |
US9729685B2 (en) | 2011-09-28 | 2017-08-08 | Apple Inc. | Cover for a tablet device |
US9575555B2 (en) | 2012-06-08 | 2017-02-21 | Apple Inc. | Peek mode and graphical user interface (GUI) experience |
US20140258870A1 (en) * | 2013-03-07 | 2014-09-11 | Google Inc. | Serving content items based on device rotational orientation |
US9436767B2 (en) * | 2013-03-07 | 2016-09-06 | Google Inc. | Serving content items based on device rotational orientation |
US20160021237A1 (en) * | 2013-04-01 | 2016-01-21 | Tata Consultancy Services Limited | System and method for power effective participatory sensing |
US9769305B2 (en) * | 2013-04-01 | 2017-09-19 | Tata Consultancy Services Limited | System and method for power effective participatory sensing |
US9645721B2 (en) * | 2013-07-19 | 2017-05-09 | Apple Inc. | Device input modes with corresponding cover configurations |
US20150026623A1 (en) * | 2013-07-19 | 2015-01-22 | Apple Inc. | Device input modes with corresponding user interfaces |
US20150153893A1 (en) * | 2013-12-03 | 2015-06-04 | Samsung Electronics Co., Ltd. | Input processing method and electronic device thereof |
US9772711B2 (en) * | 2013-12-03 | 2017-09-26 | Samsung Electronics Co., Ltd. | Input processing method and electronic device thereof |
US20150160629A1 (en) * | 2013-12-10 | 2015-06-11 | Toshiba Global Commerce Solutions Holdings Corporation | Systems and methods for initiating predetermined software function for a computing device based on orientation and movement |
US10416856B2 (en) * | 2014-01-27 | 2019-09-17 | Lenovo (Singapore) Pte. Ltd. | Handedness for hand-held devices |
US20150212699A1 (en) * | 2014-01-27 | 2015-07-30 | Lenovo (Singapore) Pte. Ltd. | Handedness for hand-held devices |
US20150229752A1 (en) * | 2014-02-13 | 2015-08-13 | Roderick Andrew Coles | Mobile security application |
US20160034117A1 (en) * | 2014-07-29 | 2016-02-04 | Samsung Electronics Co., Ltd. | Electronic device operating in idle mode and method thereof |
US9740839B2 (en) | 2014-08-13 | 2017-08-22 | Google Technology Holdings LLC | Computing device chording authentication and control |
US10127370B2 (en) | 2014-08-13 | 2018-11-13 | Google Technology Holdings LLC | Computing device chording authentication and control |
US10671275B2 (en) * | 2014-09-04 | 2020-06-02 | Apple Inc. | User interfaces for improving single-handed operation of devices |
US20160070466A1 (en) * | 2014-09-04 | 2016-03-10 | Apple Inc. | User interfaces for improving single-handed operation of devices |
CN113407106A (en) * | 2014-09-04 | 2021-09-17 | 苹果公司 | User interface for improving one-handed operation of a device |
US11957981B2 (en) * | 2014-09-17 | 2024-04-16 | Gree, Inc. | Non-transitory computer readable storage medium, method, and system |
US9854562B2 (en) | 2015-01-06 | 2017-12-26 | Alibaba Group Holding Limited | Methods, apparatus, and systems for displaying notifications |
US10420071B2 (en) | 2015-01-06 | 2019-09-17 | Alibaba Group Holding Limited | Methods, apparatus, and systems for displaying notifications |
US9749528B1 (en) * | 2015-06-11 | 2017-08-29 | Ambarella, Inc. | Multi-stage wakeup battery-powered IP camera |
US11874716B2 (en) | 2015-08-05 | 2024-01-16 | Suunto Oy | Embedded computing device management |
US11210299B2 (en) | 2015-12-01 | 2021-12-28 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US20180329505A1 (en) * | 2015-12-01 | 2018-11-15 | Sony Corporation | Information processing device, information processing method, and program |
US10754432B2 (en) * | 2015-12-01 | 2020-08-25 | Sony Corporation | Information processing device and information processing method for detecting gesture manipulation |
US11215457B2 (en) | 2015-12-01 | 2022-01-04 | Amer Sports Digital Services Oy | Thematic map based route optimization |
US11144107B2 (en) | 2015-12-01 | 2021-10-12 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11137820B2 (en) | 2015-12-01 | 2021-10-05 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11838990B2 (en) | 2015-12-21 | 2023-12-05 | Suunto Oy | Communicating sensor data in wireless communication systems |
US11541280B2 (en) | 2015-12-21 | 2023-01-03 | Suunto Oy | Apparatus and exercising device |
US11587484B2 (en) | 2015-12-21 | 2023-02-21 | Suunto Oy | Method for controlling a display |
US11284807B2 (en) | 2015-12-21 | 2022-03-29 | Amer Sports Digital Services Oy | Engaging exercising devices with a mobile device |
US11607144B2 (en) | 2015-12-21 | 2023-03-21 | Suunto Oy | Sensor based context management |
US20190029096A1 (en) * | 2016-01-04 | 2019-01-24 | Brightgreen Pty Ltd | Multiple input touch control system |
US10187574B1 (en) | 2016-04-07 | 2019-01-22 | Ambarella, Inc. | Power-saving battery-operated camera |
US9906722B1 (en) | 2016-04-07 | 2018-02-27 | Ambarella, Inc. | Power-saving battery-operated camera |
US11145272B2 (en) * | 2016-10-17 | 2021-10-12 | Amer Sports Digital Services Oy | Embedded computing device |
US20210136406A1 (en) * | 2018-03-30 | 2021-05-06 | Nikon Corporation | Video compression apparatus, decompression apparatus and recording medium |
US11188220B2 (en) * | 2018-05-07 | 2021-11-30 | Apple Inc. | Devices, methods, and graphical user interfaces for navigating between user interfaces and displaying a dock |
US11079929B2 (en) | 2018-05-07 | 2021-08-03 | Apple Inc. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
KR102503076B1 (en) | 2018-05-07 | 2023-02-23 | 애플 인크. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying the dock, and displaying system user interface elements |
KR20230030038A (en) * | 2018-05-07 | 2023-03-03 | 애플 인크. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
KR20210005271A (en) * | 2018-05-07 | 2021-01-13 | 애플 인크. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying docks, and displaying system user interface elements |
US11797150B2 (en) | 2018-05-07 | 2023-10-24 | Apple Inc. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
US20190339855A1 (en) * | 2018-05-07 | 2019-11-07 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces and Displaying a Dock |
KR102662244B1 (en) | 2018-05-07 | 2024-05-03 | 애플 인크. | Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements |
Also Published As
Publication number | Publication date |
---|---|
US20140208128A1 (en) | 2014-07-24 |
US9110663B2 (en) | 2015-08-18 |
WO2014116505A1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110663B2 (en) | Initialize a computing device to perform an action | |
EP3100133B1 (en) | Buttonless display activation | |
CN106155504B (en) | Mould group awakening method and device | |
EP2683204B1 (en) | Method and apparatus for controlling sleep mode in portable terminal | |
JP6192013B2 (en) | Method and apparatus for moving display during device flip | |
US8358977B2 (en) | Use of mobile computing device sensors to initiate a telephone call or modify telephone operation | |
CN104657057A (en) | Terminal waking method and device | |
CN106203254B (en) | Method and device for adjusting photographing direction | |
EP2767902A2 (en) | Method and apparatus for fast booting of user device | |
US9600177B2 (en) | Electronic device with gesture display control and corresponding methods | |
CN103473494A (en) | Application running method, device and terminal device | |
US10448338B2 (en) | Adaptive sleep delay | |
US20150253894A1 (en) | Activation of an electronic device with a capacitive keyboard | |
EP3710910B1 (en) | Multi-panel computing device having integrated magnetic coupling structure(s) | |
US20160364005A1 (en) | Gesture detection using mems wind turbines | |
US9898309B2 (en) | Wake-up trigger using MEMS wind turbines | |
JP2019083415A (en) | Electronic apparatus, control method and control program | |
EP3125096A1 (en) | Low-power written input for an electronic device | |
US10664036B2 (en) | Methods and systems for an electronic device operable with an attachment that prevent charging of a primary energy storage device from power delivered by the attachment based upon whether the attachment is operating a function | |
WO2022217591A1 (en) | Function wake-up method, terminal and storage medium | |
TWI476634B (en) | Auto-operating method and portable device | |
KR102039485B1 (en) | Mobile terminal and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEALS, TRAVIS ROLAND;GYORFI, JULIUS S.;SHAH, JAGATKUMAR V.;REEL/FRAME:029670/0978 Effective date: 20130118 |
|
AS | Assignment |
Owner name: MOTOROLA MOBILITY, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DUGAN, REGINA E;REEL/FRAME:030123/0387 Effective date: 20130125 |
|
AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEALS, TRAVIS ROLAND;GYORFI, JULIUS S.;SHAH, JAGATKUMAR V.;AND OTHERS;SIGNING DATES FROM 20130905 TO 20130920;REEL/FRAME:031279/0279 |
|
AS | Assignment |
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034614/0442 Effective date: 20141028 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |