IMPLEMENTATION OF BIOMETRIC CAPTURE
Patent Information
- Application Number
- DE602018083988
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-11-02
- Filing Date
- 2018-01-26
- Publication Date
- 2025-07-23
- Estimated Expiration
- 2038-01-26
AI Technical Summary
Existing biometric authentication methods, such as facial recognition, often require precise alignment and fail to utilize three-dimensional characteristics, leading to false negatives and unnecessary iterations, wasting time and energy, particularly in battery-operated devices.
Implementing methods and interfaces that enhance biometric authentication by reducing the need for precise alignment and utilizing three-dimensional features, providing faster and more efficient authentication processes.
Enhances user satisfaction and reduces cognitive burden by minimizing redundant inputs, conserving power, and increasing the time between battery charges in battery-operated devices.
Description
FIELD
[0001] The present disclosure relates generally to biometric authentication, and more specifically to interfaces and techniques for enrollment and authentication of biometric features.BACKGROUND
[0002] Biometric authentication, for instance of a face, iris, or fingerprint, using electronic devices is a convenient and efficient method of authenticating users of the electronic devices. Biometric authentication allows a device to quickly and easily verify the identity of any number of users.BRIEF SUMMARY
[0003] Some techniques for implementing biometric authentication using electronic devices, however, are generally cumbersome. For example, some existing techniques, such as those directed to facial recognition, require a user to almost perfectly align a biometric feature in a same manner during both enrollment and each iteration of authentication. Deviation from the alignment of the biometric feature often results in a false negative result. As a result, a user is, optionally, required to unnecessarily perform multiple iterations of biometric authentication, or is, optionally, discouraged from using the biometric authentication altogether. As another example, some existing techniques rely solely on a two-dimensional representation of a biometric feature. As a result, authentication of a user is, optionally, limited by virtue of a failure to analyze one or more three-dimensional characteristics of the biometric feature and also optionally requires a user to unnecessarily perform additional iterations of biometric authentication. In view of the foregoing drawbacks, existing techniques require more time than necessary, wasting both user time and device energy. This latter consideration is particularly significant in the operation of battery-operated devices. Examples of such devices are e.g. disclosed in US2014 / 254891 A1 and US 2013 / 286161A1.
[0004] Accordingly, the present technique provides electronic devices with faster, more efficient methods and interfaces for implementing biometric authentication. Such methods and interfaces optionally complement or replace other methods for implementing biometric authentication. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges. Such methods and interfaces also reduce the number of unnecessary, extraneous, or repetitive input required at computing devices, such as smartphones and smartwatches. The invention is defined by the independent claims. The dependent claims define advantageous embodiments. These embodiments and additional non-claimed embodiments, which are examples of related techniques to help understand the claimed invention, are further described below. The described embodiments are not to be regarded as necessarily defining the invention, unless they fall within the scope of the claims. Examples of particular relevance to the claimed invention are examples of Figures 11A-11O and 12A-12B, and the parts of the description related thereto.
[0005] Executable instructions for performing these functions are, optionally, included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are, optionally, included in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0006] Thus, devices are provided with faster, more efficient methods and interfaces for implementing biometric authentication, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces optionally complement or replace other methods for implementing biometric authentication.DESCRIPTION OF THE FIGURES
[0007] For a better understanding of the various described embodiments according to the invention, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures. FIG. 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments. FIG. 1B is a block diagram illustrating exemplary components for event handling in accordance with some embodiments. FIG. 1C is a block diagram illustrating exemplary components for generating a tactile output, in accordance with some embodiments. FIG. 2 illustrates a portable multifunction device having a touch screen in accordance with some embodiments. FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments. FIG. 6 illustrates exemplary devices connected via one or more communication channels, in accordance with some embodiments. FIGS. 7A-7S illustrate exemplary user interfaces for a biometric enrollment process tutorial for a biometric enrollment process tutorial, in accordance with some embodiments. FIGS. 8A-8C are a flow diagram illustrating methods of a biometric enrollment process tutorial. FIGS. 9A-9AE illustrate exemplary user interfaces for aligning a biometric feature for enrollment. FIGS. 10A-10F are a flow diagram illustrating methods of aligning a biometric feature for enrollment. FIGS. 11A-11O illustrate exemplary user interfaces for enrolling a biometric feature. FIGS. 12A-12B are a flow diagram illustrating methods of enrolling a biometric feature. FIGS. 13A-13R illustrate exemplary user interfaces for providing hints during a biometric enrollment process. FIGS. 14A-14C are a flow diagram illustrating methods of providing hints during a biometric enrollment process. DESCRIPTION OF EMBODIMENTS
[0008] The following description sets forth exemplary methods, parameters, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure but is instead provided as a description of exemplary embodiments.
[0009] There is a need for electronic devices that provide efficient methods and interfaces for implementing biometric authentication of biometric features. For example, there is a need for electronic devices that provide a convenient and efficient method for enrolling one or more portions of a biometric feature. For another example, there is a need for electronic devices that provide a quick and intuitive technique for selectively accessing secure data in accordance with biometric authentication. For another example, there is a need for electronic devices that provide a quick and intuitive technique for enabling a function of a device in accordance with biometric authentication. Such techniques can reduce the cognitive burden on a user who enrolls a biometric feature and / or biometrically authenticates with a device, thereby enhancing overall productivity. Further, such techniques can reduce processor and battery power otherwise wasted on redundant user inputs.
[0010] Below, FIGS. 1A-1C, 2, and 3 provide a description of exemplary devices for performing the techniques for implementing biometric authentication. FIG. 6 illustrates exemplary devices connected via one or more communication channels, in accordance with some embodiments. FIGS. 7A-7S illustrate exemplary user interfaces for a biometric enrollment process tutorial for a biometric enrollment process tutorial, in accordance with some embodiments. FIGS. 8A-8C are a flow diagram illustrating methods of a biometric enrollment process tutorial. The user interfaces in FIGS. 7A-7S are used to illustrate the processes described below, including the processes in FIGS. 8A-8C. FIGS. 9A-9AE illustrate exemplary user interfaces for aligning a biometric feature for enrollment. FIGS. 10A-10F are a flow diagram illustrating methods of aligning a biometric feature for enrollment. The user interfaces in FIGS. 9A-9AE are used to illustrate the processes described below, including the processes in FIGS. 10A-10F. FIGS. 11A-11O illustrate exemplary user interfaces for enrolling a biometric feature. FIGS. 12A-12B are a flow diagram illustrating methods of enrolling a biometric feature. The user interfaces in FIGS. 11A-11O are used to illustrate the processes described below, including the processes in FIGS. 12A-12B. FIGS. 13A-13R illustrate exemplary user interfaces for providing hints during a biometric enrollment process. FIGS. 14A-14C are a flow diagram illustrating methods of providing hints during a biometric enrollment process. The user interfaces in FIGS. 13A-13R are used to illustrate the processes described below, including the processes in FIGS. 14A-14C.
[0011] Although the following description uses terms "first," "second," etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch could be termed a second touch, and, similarly, a second touch could be termed a first touch. The first touch and the second touch are both touches, but they are not the same touch.
[0012] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0013] The term "if" is, optionally, construed to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is, optionally, construed to mean "upon determining" or "in response to determining" or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]," depending on the context.
[0014] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communications device, such as a mobile telephone, that also contains other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, without limitation, the iPhone ®< , iPod Touch ®< , and iPad ®< devices from Apple Inc. of Cupertino, California. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads), are, optionally, used. It should also be understood that, in some embodiments, the device is not a portable communications device, but is a desktop computer with a touch-sensitive surface (e.g., a touch screen display and / or a touchpad).
[0015] In the discussion that follows, an electronic device that includes a display and a touch-sensitive surface is described. It should be understood, however, that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0016] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an e-mail application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0017] The various applications that are executed on the device optionally use at least one common physical user-interface device, such as the touch-sensitive surface. One or more functions of the touch-sensitive surface as well as corresponding information displayed on the device are, optionally, adjusted and / or varied from one application to the next and / or within a respective application. In this way, a common physical architecture (such as the touch-sensitive surface) of the device optionally supports the variety of applications with user interfaces that are intuitive and transparent to the user.
[0018] Attention is now directed toward embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating portable multifunction device 100 with touch-sensitive display system 112 in accordance with some embodiments. Touch-sensitive display 112 is sometimes called a "touch screen" for convenience and is sometimes known as or called a "touch-sensitive display system." Device 100 includes memory 102 (which optionally includes one or more computer-readable storage mediums), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 for detecting intensity of contacts on device 100 (e.g., a touch-sensitive surface such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile outputs on device 100 (e.g., generating tactile outputs on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.
[0019] As used in the specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a substitute (proxy) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four distinct values and more typically includes hundreds of distinct values (e.g., at least 256). Intensity of a contact is, optionally, determined (or measured) using various approaches and various sensors or combinations of sensors. For example, one or more force sensors underneath or adjacent to the touch-sensitive surface are, optionally, used to measure force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., a weighted average) to determine an estimated force of a contact. Similarly, a pressure-sensitive tip of a stylus is, optionally, used to determine a pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or changes thereto, the capacitance of the touch-sensitive surface proximate to the contact and / or changes thereto, and / or the resistance of the touch-sensitive surface proximate to the contact and / or changes thereto are, optionally, used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the substitute measurements for contact force or pressure are used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurements). In some implementations, the substitute measurements for contact force or pressure are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of a contact as an attribute of a user input allows for user access to additional device functionality that is, in some circumstances, otherwise not be accessible by the user on a reduced-size device with limited real estate for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical / mechanical control such as a knob or a button).
[0020] As used in the specification and claims, the term "tactile output" refers to physical displacement of a device relative to a previous position of the device, physical displacement of a component (e.g., a touch-sensitive surface) of a device relative to another component (e.g., housing) of the device, or displacement of the component relative to a center of mass of the device that will be detected by a user with the user's sense of touch. For example, in situations where the device or the component of the device is in contact with a surface of a user that is sensitive to touch (e.g., a finger, palm, or other part of a user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in physical characteristics of the device or the component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is, optionally, interpreted by the user as a "down click" or "up click" of a physical actuator button. In some cases, a user will feel a tactile sensation such as an "down click" or "up click" even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movements. As another example, movement of the touch-sensitive surface is, optionally, interpreted or sensed by the user as "roughness" of the touch-sensitive surface, even when there is no change in smoothness of the touch-sensitive surface. While such interpretations of touch by a user will be subject to the individualized sensory perceptions of the user, there are many sensory perceptions of touch that are common to a large majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise stated, the generated tactile output corresponds to physical displacement of the device or a component thereof that will generate the described sensory perception for a typical (or average) user. Using tactile outputs to provide haptic feedback to a user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device) which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0021] In some embodiments, a tactile output pattern specifies characteristics of a tactile output, such as the amplitude of the tactile output, the shape of a movement waveform of the tactile output, the frequency of the tactile output, and / or the duration of the tactile output.
[0022] When tactile outputs with different tactile output patterns are generated by a device (e.g., via one or more tactile output generators that move a moveable mass to generate tactile outputs), the tactile outputs can invoke different haptic sensations in a user holding or touching the device. While the sensation of the user is based on the user's perception of the tactile output, most users will be able to identify changes in waveform, frequency, and amplitude of tactile outputs generated by the device. Thus, the waveform, frequency and amplitude can be adjusted to indicate to the user that different operations have been performed. As such, tactile outputs with tactile output patterns that are designed, selected, and / or engineered to simulate characteristics (e.g., size, material, weight, stiffness, smoothness, etc.); behaviors (e.g., oscillation, displacement, acceleration, rotation, expansion, etc.); and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of objects in a given environment (e.g., a user interface that includes graphical features and objects, a simulated physical environment with virtual boundaries and virtual objects, a real physical environment with physical boundaries and physical objects, and / or a combination of any of the above) will, in some circumstances, provide helpful feedback to users that reduces input errors and increases the efficiency of the user's operation of the device. Additionally, tactile outputs are, optionally, generated to correspond to feedback that is unrelated to a simulated physical characteristic, such as an input threshold or a selection of an object. Such tactile outputs will, in some circumstances, provide helpful feedback to users that reduces input errors and increases the efficiency of the user's operation of the device.
[0023] In some embodiments, a tactile output with a suitable tactile output pattern serves as a cue for the occurrence of an event of interest in a user interface or behind the scenes in a device. Examples of the events of interest include activation of an affordance (e.g., a real or virtual button, or toggle switch) provided on the device or in a user interface, success or failure of a requested operation, reaching or crossing a boundary in a user interface, entry into a new state, switching of input focus between objects, activation of a new mode, reaching or crossing an input threshold, detection or recognition of a type of input or gesture, etc. In some embodiments, tactile outputs are provided to serve as a warning or an alert for an impending event or outcome that would occur unless a redirection or interruption input is timely detected. Tactile outputs are also used in other contexts to enrich the user experience, improve the accessibility of the device to users with visual or motor difficulties or other accessibility needs, and / or improve efficiency and functionality of the user interface and / or the device. Tactile outputs are optionally accompanied with audio outputs and / or visible user interface changes, which further enhance a user's experience when the user interacts with a user interface and / or the device, and facilitate better conveyance of information regarding the state of the user interface and / or the device, and which reduce input errors and increase the efficiency of the user's operation of the device.
[0024] It should be appreciated that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. The various components shown in FIG. 1A are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0025] Memory 102 optionally includes high-speed random access memory and optionally also includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0026] Peripherals interface 118 can be used to couple input and output peripherals of the device to CPU 120 and memory 102. The one or more processors 120 run or execute various software programs and / or sets of instructions stored in memory 102 to perform various functions for device 100 and to process data. In some embodiments, peripherals interface 118, CPU 120, and memory controller 122 are, optionally, implemented on a single chip, such as chip 104. In some other embodiments, they are, optionally, implemented on separate chips.
[0027] RF (radio frequency) circuitry 108 receives and sends RF signals, also called electromagnetic signals. RF circuitry 108 converts electrical signals to / from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. RF circuitry 108 optionally communicates with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and / or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and / or a metropolitan area network (MAN), and other devices by wireless communication. The RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by a short-range communication radio. The wireless communication optionally uses any of a plurality of communications standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e-mail (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.
[0028] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. Audio circuitry 110 receives audio data from peripherals interface 118, converts the audio data to an electrical signal, and transmits the electrical signal to speaker 111. Speaker 111 converts the electrical signal to human-audible sound waves. Audio circuitry 110 also receives electrical signals converted by microphone 113 from sound waves. Audio circuitry 110 converts the electrical signal to audio data and transmits the audio data to peripherals interface 118 for processing. Audio data is, optionally, retrieved from and / or transmitted to memory 102 and / or RF circuitry 108 by peripherals interface 118. In some embodiments, audio circuitry 110 also includes a headset jack (e.g., 212, FIG. 2). The headset jack provides an interface between audio circuitry 110 and removable audio input / output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
[0029] I / O subsystem 106 couples input / output peripherals on device 100, such as touch screen 112 and other input control devices 116, to peripherals interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, intensity sensor controller 159, haptic feedback controller 161, depth camera controller 169, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth. In some alternate embodiments, input controller(s) 160 are, optionally, coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208, FIG. 2) optionally include an up / down button for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206, FIG. 2).
[0030] A quick press of the push button optionally disengages a lock of touch screen 112 or optionally begins a process that uses gestures on the touch screen to unlock the device, as described in U.S. Patent Application 11 / 322,549, "Unlocking a Device by Performing Gestures on an Unlock Image," filed December 23, 2005, U.S. Pat. No. 7,657,849. A longer press of the push button (e.g., 206) optionally turns power to device 100 on or off. The functionality of one or more of the buttons are, optionally, user-customizable. Touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0031] Touch-sensitive display 112 provides an input interface and an output interface between the device and a user. Display controller 156 receives and / or sends electrical signals from / to touch screen 112. Touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively termed "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user-interface objects.
[0032] Touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from the user based on haptic and / or tactile contact. Touch screen 112 and display controller 156 (along with any associated modules and / or sets of instructions in memory 102) detect contact (and any movement or breaking of the contact) on touch screen 112 and convert the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages, or images) that are displayed on touch screen 112. In an exemplary embodiment, a point of contact between touch screen 112 and the user corresponds to a finger of the user.
[0033] Touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. Touch screen 112 and display controller 156 optionally detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone ®< and iPod Touch ®< from Apple Inc. of Cupertino, California.
[0034] A touch-sensitive display in some embodiments of touch screen 112 is, optionally, analogous to the multi-touch sensitive touchpads described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Publication 2002 / 0015024A1. However, touch screen 112 displays visual output from device 100, whereas touch-sensitive touchpads do not provide visual output.
[0035] A touch-sensitive display in some embodiments of touch screen 112 is described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, "Multipoint Touch Surface Controller," filed May 2, 2006; (2) U.S. Patent Application No. 10 / 840,862, "Multipoint Touchscreen," filed May 6, 2004; (3) U.S. Patent Application No. 10 / 903,964, "Gestures For Touch Sensitive Input Devices," filed July 30, 2004; (4) U.S. Patent Application No. 11 / 048,264, "Gestures For Touch Sensitive Input Devices," filed January 31, 2005; (5) U.S. Patent Application No. 11 / 038,590, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices," filed January 18, 2005; (6) U.S. Patent Application No. 11 / 228,758, "Virtual Input Device Placement On A Touch Screen User Interface," filed September 16, 2005; (7) U.S. Patent Application No. 11 / 228,700, "Operation Of A Computer With A Touch Screen Interface," filed September 16, 2005; (8) U.S. Patent Application No. 11 / 228,737, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," filed September 16, 2005; and (9) U.S. Patent Application No. 11 / 367,749, "Multi-Functional Hand-Held Device," filed March 3, 2006.
[0036] Touch screen 112 optionally has a video resolution in excess of 100 dpi. In some embodiments, the touch screen has a video resolution of approximately 160 dpi. The user optionally makes contact with touch screen 112 using any suitable object or appendage, such as a stylus, a finger, and so forth. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which can be less precise than stylus-based input due to the larger area of contact of a finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer / cursor position or command for performing the actions desired by the user.
[0037] In some embodiments, in addition to the touch screen, device 100 optionally includes a touchpad (not shown) for activating or deactivating particular functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is, optionally, a touch-sensitive surface that is separate from touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0038] Device 100 also includes power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices.
[0039] Device 100 optionally also includes one or more optical sensors 164. FIG. 1A shows an optical sensor coupled to optical sensor controller 158 in I / O subsystem 106. Optical sensor 164 optionally includes charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. Optical sensor 164 receives light from the environment, projected through one or more lenses, and converts the light to data representing an image. In conjunction with imaging module 143 (also called a camera module), optical sensor 164 optionally captures still images or video. In some embodiments, an optical sensor is located on the back of device 100, opposite touch screen display 112 on the front of the device so that the touch screen display is enabled for use as a viewfinder for still and / or video image acquisition. In some embodiments, an optical sensor is located on the front of the device so that the user's image is, optionally, obtained for video conferencing while the user views the other video conference participants on the touch screen display. In some embodiments, the position of optical sensor 164 can be changed by the user (e.g., by rotating the lens and the sensor in the device housing) so that a single optical sensor 164 is used along with the touch screen display for both video conferencing and still and / or video image acquisition.
[0040] Device 100 optionally also includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is collocated with, or proximate to, a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touch screen display 112, which is located on the front of device 100.
[0041] Device 100 optionally also includes one or more proximity sensors 166. FIG. 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternately, proximity sensor 166 is, optionally, coupled to input controller 160 in I / O subsystem 106. Proximity sensor 166 optionally performs as described in U.S. Patent Application Nos. 11 / 241,839, "Proximity Detector In Handheld Device"; 11 / 240,788, "Proximity Detector In Handheld Device"; 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices"; and 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals." In some embodiments, the proximity sensor turns off and disables touch screen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0042] Device 100 optionally also includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components and / or electromechanical devices that convert energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component that converts electrical signals into tactile outputs on the device). Contact intensity sensor 165 receives tactile feedback generation instructions from haptic feedback module 133 and generates tactile outputs on device 100 that are capable of being sensed by a user of device 100. In some embodiments, at least one tactile output generator is collocated with, or proximate to, a touch-sensitive surface (e.g., touch-sensitive display system 112) and, optionally, generates a tactile output by moving the touch-sensitive surface vertically (e.g., in / out of a surface of device 100) or laterally (e.g., back and forth in the same plane as a surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touch screen display 112, which is located on the front of device 100.
[0043] Device 100 optionally also includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternately, accelerometer 168 is, optionally, coupled to an input controller 160 in I / O subsystem 106. Accelerometer 168 optionally performs as described in U.S. Patent Publication No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Publication No. 20060017692, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer." In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on an analysis of data received from the one or more accelerometers. Device 100 optionally includes, in addition to accelerometer(s) 168, a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information concerning the location and orientation (e.g., portrait or landscape) of device 100.
[0044] In some embodiments, device 100 also includes (or is in communication with) one or more fingerprint sensors. The one or more fingerprint sensors are coupled to peripherals interface 118. Alternately, the one or more fingerprint sensors are, optionally, coupled to an input controller 160 in I / O subsystem 106. However, in one common embodiment, fingerprint identification operations are performed using secured dedicated computing hardware (e.g., one or more processors, memory and / or communications busses) that has additional security features so as to enhance security of the fingerprint information determined by the one or more fingerprint sensors. As used herein, a fingerprint sensor is a sensor that is capable of distinguishing fingerprint features (sometimes called "minutia features") of the ridges and valleys of skin such as those found on the fingers and toes of humans. A fingerprint sensor can use any of a variety of techniques to distinguish the fingerprint features, including but not limited to: optical fingerprint imaging, ultrasonic fingerprint imaging, active capacitance fingerprint imaging and passive capacitance fingerprint imaging. In addition to distinguishing fingerprint features in fingerprints, in some embodiments, the one or more fingerprint sensors are capable of tracking movement of fingerprint features over time and thereby determining / characterizing movement of the fingerprint over time on the one or more fingerprint sensors. While the one or more fingerprint sensors can be separate from the touch-sensitive surface (e.g., Touch-Sensitive Display System 112), it should be understood that in some implementations, the touch-sensitive surface (e.g., Touch-Sensitive Display System 112) has a spatial resolution that is high enough to detect fingerprint features formed by individual fingerprint ridges and is used as a fingerprint sensor instead of, or in addition to, the one or more fingerprint sensors. In some embodiments, device 100 includes a set of one or more orientation sensors that are used to determine an orientation of a finger or hand on or proximate to the device (e.g., an orientation of a finger that is over one or more fingerprint sensors). Additionally, in some embodiments, the set of one or more orientation sensors are used in addition to or instead of a fingerprint sensor to detect rotation of a contact that is interacting with the device (e.g., in one or more of the methods described below, instead of using a fingerprint sensor to detect rotation of a fingerprint / contact, the set of one or more orientation sensors is used to detect rotation of the contact that includes the fingerprint, with or without detecting features of the fingerprint).
[0045] In some embodiments, features of fingerprints and comparisons between features of detected fingerprints and features of stored fingerprints are performed by secured dedicated computing hardware (e.g., one or more processors, memory and / or communications busses) that are separate from processor(s) 120, so as to improve security of the fingerprint data generated, stored and processed by the one or more fingerprint sensors. In some embodiments, features of fingerprints and comparisons between features of detected fingerprints and features of enrolled fingerprints are performed by processor(s) 120 using a fingerprint analysis module.
[0046] In some embodiments, during an enrollment process, the device (e.g., a fingerprint analysis module or a separate secure module in communication with the one or more fingerprint sensors) collects biometric information about one or more fingerprints of the user (e.g., identifying relative location of a plurality of minutia points in a fingerprint of the user). After the enrollment process has been completed the biometric information is stored at the device (e.g., in a secure fingerprint module) for later use in authenticating detected fingerprints. In some embodiments, the biometric information that is stored at the device excludes images of the fingerprints and also excludes information from which images of the fingerprints could be reconstructed so that images of the fingerprints are not inadvertently made available if the security of the device is compromised. In some embodiments, during an authentication process, the device (e.g., a fingerprint analysis module or a separate secure module in communication with the one or more fingerprint sensors) determines whether a finger input detected by the one or more fingerprint sensors includes a fingerprint that matches a previously enrolled fingerprint by collecting biometric information about a fingerprint detected on the one or more fingerprint sensors (e.g., identifying relative locations of a plurality of minutia points in the fingerprint detected on the one or more fingerprint sensors) and comparing the biometric information that corresponds to the detected fingerprint to biometric information that corresponds to the enrolled fingerprints(s). In some embodiments, comparing the biometric information that corresponds to the detected fingerprint to biometric information that corresponds to the enrolled fingerprints(s) includes comparing a type and location of minutia points in the biometric information that corresponds to the detected fingerprint to a type and location of minutia points in the biometric information that corresponds to the enrolled fingerprints. However the determination as to whether or not a finger input includes a fingerprint that matches a previously enrolled fingerprint that is enrolled with the device is, optionally, performed using any of a number of well known fingerprint authentication techniques for determining whether a detected fingerprint matches an enrolled fingerprint.
[0047] Device 100 optionally also includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment, projected through a sensor. In conjunction with imaging module 143 (also called a camera module), depth camera sensor 175 camera is optionally used to determine a depth map of different portions of an image captured by the imaging module 143. In some embodiments, a depth camera sensor is located on the front of device 100 so that the user's image with depth information is available for use by different functions of the device such as video conferencing capturing selfies with depth map data, and authenticating a user of the device. In some embodiments, the position of depth camera sensors 175 can be changed by the user (e.g., by rotating the lens and the sensor in the device housing) so that a depth camera sensors 175 is used along with the touch screen display for both video conferencing and still and / or video image acquisition.
[0048] In some embodiments, the software components stored in memory 102 include operating system 126, communication module (or set of instructions) 128, contact / motion module (or set of instructions) 130, graphics module (or set of instructions) 132, text input module (or set of instructions) 134, Global Positioning System (GPS) module (or set of instructions) 135, and applications (or sets of instructions) 136. Furthermore, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of: active application state, indicating which applications, if any, are currently active; display state, indicating what applications, views or other information occupy various regions of touch screen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and location information concerning the device's location and / or attitude.
[0049] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0050] Communication module 128 facilitates communication with other devices over one or more external ports 124 and also includes various software components for handling data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, or similar to and / or compatible with, the 30-pin connector used on iPod ®< (trademark of Apple Inc.) devices.
[0051] Contact / motion module 130 optionally detects contact with touch screen 112 (in conjunction with display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred (e.g., detecting a finger-down event), determining an intensity of the contact (e.g., the force or pressure of the contact or a substitute for the force or pressure of the contact), determining if there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining if the contact has ceased (e.g., detecting a finger-up event or a break in contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining movement of the point of contact, which is represented by a series of contact data, optionally includes determining speed (magnitude), velocity (magnitude and direction), and / or an acceleration (a change in magnitude and / or direction) of the point of contact. These operations are, optionally, applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., "multitouch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contact on a touchpad.
[0052] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., to determine whether a user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds are determined in accordance with software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of particular physical actuators and can be adjusted without changing the physical hardware of device 100). For example, a mouse "click" threshold of a trackpad or touch screen display can be set to any of a large range of predefined threshold values without changing the trackpad or touch screen display hardware. Additionally, in some implementations, a user of the device is provided with software settings for adjusting one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting a plurality of intensity thresholds at once with a system-level click "intensity" parameter).
[0053] Contact / motion module 130 optionally detects a gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of detected contacts). Thus, a gesture is, optionally, detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger-down event followed by detecting a finger-up (liftoff) event at the same position (or substantially the same position) as the finger-down event (e.g., at the position of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger-down event followed by detecting one or more finger-dragging events, and subsequently followed by detecting a finger-up (liftoff) event.
[0054] Graphics module 132 includes various known software components for rendering and displaying graphics on touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual property) of graphics that are displayed. As used herein, the term "graphics" includes any object that can be displayed to a user, including, without limitation, text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations, and the like.
[0055] In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives, from applications etc., one or more codes specifying graphics to be displayed along with, if necessary, coordinate data and other graphic property data, and then generates screen image data to output to display controller 156.
[0056] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator(s) 167 to produce tactile outputs at one or more locations on device 100 in response to user interactions with device 100.
[0057] Text input module 134, which is, optionally, a component of graphics module 132, provides soft keyboards for entering text in various applications (e.g., contacts 137, e-mail 140, IM 141, browser 147, and any other application that needs text input).
[0058] GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to telephone 138 for use in location-based dialing; to camera 143 as picture / video metadata; and to applications that provide location-based services such as weather widgets, local yellow page widgets, and map / navigation widgets).
[0059] Applications 136 optionally include the following modules (or sets of instructions), or a subset or superset thereof: Contacts module 137 (sometimes called an address book or contact list); Telephone module 138; Video conference module 139; E-mail client module 140; Instant messaging (IM) module 141; Workout support module 142; Camera module 143 for still and / or video images; Image management module 144; Video player module; Music player module; Browser module 147; Calendar module 148; Widget modules 149, which optionally include one or more of: weather widget 149-1, stocks widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; Widget creator module 150 for making user-created widgets 149-6; Search module 151; Video and music player module 152, which merges video player module and music player module; Notes module 153; Map module 154; and / or Online video module 155.
[0060] Examples of other applications 136 that are, optionally, stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0061] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contacts module 137 are, optionally, used to manage an address book or contact list (e.g., stored in application internal state 192 of contacts module 137 in memory 102 or memory 370), including: adding name(s) to the address book; deleting name(s) from the address book; associating telephone number(s), e-mail address(es), physical address(es) or other information with a name; associating an image with a name; categorizing and sorting names; providing telephone numbers or e-mail addresses to initiate and / or facilitate communications by telephone 138, video conference module 139, e-mail 140, or IM 141; and so forth.
[0062] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, telephone module 138 are optionally, used to enter a sequence of characters corresponding to a telephone number, access one or more telephone numbers in contacts module 137, modify a telephone number that has been entered, dial a respective telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As noted above, the wireless communication optionally uses any of a plurality of communications standards, protocols, and technologies.
[0063] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contacts module 137, and telephone module 138, video conference module 139 includes executable instructions to initiate, conduct, and terminate a video conference between a user and one or more other participants in accordance with user instructions.
[0064] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, e-mail client module 140 includes executable instructions to create, send, receive, and manage e-mail in response to user instructions. In conjunction with image management module 144, e-mail client module 140 makes it very easy to create and send e-mails with still or video images taken with camera module 143.
[0065] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the instant messaging module 141 includes executable instructions to enter a sequence of characters corresponding to an instant message, to modify previously entered characters, to transmit a respective instant message (for example, using a Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for telephony-based instant messages or using XMPP, SIMPLE, or IMPS for Internet-based instant messages), to receive instant messages, and to view received instant messages. In some embodiments, transmitted and / or received instant messages optionally include graphics, photos, audio files, video files and / or other attachments as are supported in an MMS and / or an Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0066] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, workout support module 142 includes executable instructions to create workouts (e.g., with time, distance, and / or calorie burning goals); communicate with workout sensors (sports devices); receive workout sensor data; calibrate sensors used to monitor a workout; select and play music for a workout; and display, store, and transmit workout data.
[0067] In conjunction with touch screen 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions to capture still images or video (including a video stream) and store them into memory 102, modify characteristics of a still image or video, or delete a still image or video from memory 102.
[0068] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions to arrange, modify (e.g., edit), or otherwise manipulate, label, delete, present (e.g., in a digital slide show or album), and store still and / or video images.
[0069] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions to browse the Internet in accordance with user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0070] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, e-mail client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and data associated with calendars (e.g., calendar entries, to-do lists, etc.) in accordance with user instructions.
[0071] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, widget modules 149 are mini-applications that are, optionally, downloaded and used by a user (e.g., weather widget 149-1, stocks widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or created by the user (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widgets).
[0072] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, the widget creator module 150 are, optionally, used by a user to create widgets (e.g., turning a user-specified portion of a web page into a widget).
[0073] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, search module 151 includes executable instructions to search for text, music, sound, image, video, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0074] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow the user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions to display, present, or otherwise play back videos (e.g., on touch screen 112 or on an external, connected display via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0075] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, notes module 153 includes executable instructions to create and manage notes, to-do lists, and the like in accordance with user instructions.
[0076] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 are, optionally, used to receive, display, modify, and store maps and data associated with maps (e.g., driving directions, data on stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0077] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, e-mail client module 140, and browser module 147, online video module 155 includes instructions that allow the user to access, browse, receive (e.g., by streaming and / or download), play back (e.g., on the touch screen or on an external, connected display via external port 124), send an e-mail with a link to a particular online video, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141, rather than e-mail client module 140, is used to send a link to a particular online video. Additional description of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007.
[0078] Each of the above-identified modules and applications corresponds to a set of executable instructions for performing one or more functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are, optionally, combined or otherwise rearranged in various embodiments. For example, video player module is, optionally, combined with music player module into a single module (e.g., video and music player module 152, FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 102 optionally stores additional modules and data structures not described above.
[0079] In some embodiments, device 100 is a device where operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touchpad. By using a touch screen and / or a touchpad as the primary input control device for operation of device 100, the number of physical input control devices (such as push buttons, dials, and the like) on device 100 is, optionally, reduced.
[0080] The predefined set of functions that are performed exclusively through a touch screen and / or a touchpad optionally include navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates device 100 to a main, home, or root menu from any user interface that is displayed on device 100. In such embodiments, a "menu button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.
[0081] FIG. 1B is a block diagram illustrating exemplary components for event handling in accordance with some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., in operating system 126) and a respective application 136-1 (e.g., any of the aforementioned applications 137-151, 155, 380-390).
[0082] Event sorter 170 receives event information and determines the application 136-1 and application view 191 of application 136-1 to which to deliver the event information. Event sorter 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates the current application view(s) displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) is (are) currently active, and application internal state 192 is used by event sorter 170 to determine application views 191 to which to deliver event information.
[0083] In some embodiments, application internal state 192 includes additional information, such as one or more of: resume information to be used when application 136-1 resumes execution, user interface state information that indicates information being displayed or that is ready for display by application 136-1, a state queue for enabling the user to go back to a prior state or view of application 136-1, and a redo / undo queue of previous actions taken by the user.
[0084] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about a sub-event (e.g., a user touch on touch-sensitive display 112, as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or a sensor, such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (through audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0085] In some embodiments, event monitor 171 sends requests to the peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or for more than a predetermined duration).
[0086] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0087] Hit view determination module 172 provides software procedures for determining where a sub-event has taken place within one or more views when touch-sensitive display 112 displays more than one view. Views are made up of controls and other elements that a user can see on the display.
[0088] Another aspect of the user interface associated with an application is a set of views, sometimes herein called application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of a respective application) in which a touch is detected optionally correspond to programmatic levels within a programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is, optionally, called the hit view, and the set of events that are recognized as proper inputs are, optionally, determined based, at least in part, on the hit view of the initial touch that begins a touch-based gesture.
[0089] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies a hit view as the lowest view in the hierarchy which should handle the sub-event. In most circumstances, the hit view is the lowest level view in which an initiating sub-event occurs (e.g., the first sub-event in the sequence of sub-events that form an event or potential event). Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0090] Active event recognizer determination module 173 determines which view or views within a view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of a sub-event are actively involved views, and therefore determines that all actively involved views should receive a particular sequence of sub-events. In other embodiments, even if touch sub-events were entirely confined to the area associated with one particular view, views higher in the hierarchy would still remain as actively involved views.
[0091] Event dispatcher module 174 dispatches the event information to an event recognizer (e.g., event recognizer 180). In embodiments including active event recognizer determination module 173, event dispatcher module 174 delivers the event information to an event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores in an event queue the event information, which is retrieved by a respective event receiver 182.
[0092] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module, or a part of another module stored in memory 102, such as contact / motion module 130.
[0093] In some embodiments, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur within a respective view of the application's user interface. Each application view 191 of the application 136-1 includes one or more event recognizers 180. Typically, a respective application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of event recognizers 180 are part of a separate module, such as a user interface kit (not shown) or a higher level object from which application 136-1 inherits methods and other properties. In some embodiments, a respective event handler 190 includes one or more of: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in a respective application view 191.
[0094] A respective event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes event receiver 182 and event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of: metadata 183, and event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0095] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, for example, a touch or a touch movement. Depending on the sub-event, the event information also includes additional information, such as location of the sub-event. When the sub-event concerns motion of a touch, the event information optionally also includes speed and direction of the sub-event. In some embodiments, events include rotation of the device from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation (also called device attitude) of the device.
[0096] Event comparator 184 compares the event information to predefined event or sub-event definitions and, based on the comparison, determines an event or sub-event, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definitions 186. Event definitions 186 contain definitions of events (e.g., predefined sequences of sub-events), for example, event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in an event (187) include, for example, touch begin, touch end, touch movement, touch cancellation, and multiple touching. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap, for example, comprises a first touch (touch begin) on the displayed object for a predetermined phase, a first liftoff (touch end) for a predetermined phase, a second touch (touch begin) on the displayed object for a predetermined phase, and a second liftoff (touch end) for a predetermined phase. In another example, the definition for event 2 (187-2) is a dragging on a displayed object. The dragging, for example, comprises a touch (or contact) on the displayed object for a predetermined phase, a movement of the touch across touch-sensitive display 112, and liftoff of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0097] In some embodiments, event definition 187 includes a definition of an event for a respective user-interface object. In some embodiments, event comparator 184 performs a hit test to determine which user-interface object is associated with a sub-event. For example, in an application view in which three user-interface objects are displayed on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user-interface objects is associated with the touch (sub-event). If each displayed object is associated with a respective event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with the sub-event and the object triggering the hit test.
[0098] In some embodiments, the definition for a respective event (187) also includes delayed actions that delay delivery of the event information until after it has been determined whether the sequence of sub-events does or does not correspond to the event recognizer's event type.
[0099] When a respective event recognizer 180 determines that the series of sub-events do not match any of the events in event definitions 186, the respective event recognizer 180 enters an event impossible, event failed, or event ended state, after which it disregards subsequent sub-events of the touch-based gesture. In this situation, other event recognizers, if any, that remain active for the hit view continue to track and process sub-events of an ongoing touch-based gesture.
[0100] In some embodiments, a respective event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively involved event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact, or are enabled to interact, with one another. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to varying levels in the view or programmatic hierarchy.
[0101] In some embodiments, a respective event recognizer 180 activates event handler 190 associated with an event when one or more particular sub-events of an event are recognized. In some embodiments, a respective event recognizer 180 delivers event information associated with the event to event handler 190. Activating an event handler 190 is distinct from sending (and deferred sending) sub-events to a respective hit view. In some embodiments, event recognizer 180 throws a flag associated with the recognized event, and event handler 190 associated with the flag catches the flag and performs a predefined process.
[0102] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver event information to event handlers associated with the series of sub-events or to actively involved views. Event handlers associated with the series of sub-events or with actively involved views receive the event information and perform a predetermined process.
[0103] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates the telephone number used in contacts module 137, or stores a video file used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user-interface object or updates the position of a user-interface object. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends it to graphics module 132 for display on a touch-sensitive display.
[0104] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0105] FIG. 1C is a block diagram illustrating a tactile output module in accordance with some embodiments. In some embodiments, I / O subsystem 106 (e.g., haptic feedback controller 161 (FIG. 1A) and / or other input controller(s) 160 (FIG. 1A)) includes at least some of the example components shown in FIG. 1C. In some embodiments, peripherals interface 118 includes at least some of the example components shown in FIG. 1C.
[0106] In some embodiments, the tactile output module includes haptic feedback module 133. In some embodiments, haptic feedback module 133 aggregates and combines tactile outputs for user interface feedback from software applications on the electronic device (e.g., feedback that is responsive to user inputs that correspond to displayed user interfaces and alerts and other notifications that indicate the performance of operations or occurrence of events in user interfaces of the electronic device). Haptic feedback module 133 includes one or more of: waveform module 123 (for providing waveforms used for generating tactile outputs), mixer 125 (for mixing waveforms, such as waveforms in different channels), compressor 127 (for reducing or compressing a dynamic range of the waveforms), low-pass filter 129 (for filtering out high frequency signal components in the waveforms), and thermal controller 131 (for adjusting the waveforms in accordance with thermal conditions). In some embodiments, haptic feedback module 133 is included in haptic feedback controller 161 (FIG. 1A). In some embodiments, a separate unit of haptic feedback module 133 (or a separate implementation of haptic feedback module 133) is also included in an audio controller (e.g., audio circuitry 110, FIG. 1A) and used for generating audio signals. In some embodiments, a single haptic feedback module 133 is used for generating audio signals and generating waveforms for tactile outputs.
[0107] In some embodiments, haptic feedback module 133 also includes trigger module 121 (e.g., a software application, operating system, or other software module that determines a tactile output is to be generated and initiates the process for generating the corresponding tactile output). In some embodiments, trigger module 121 generates trigger signals for initiating generation of waveforms (e.g., by waveform module 123). For example, trigger module 121 generates trigger signals based on preset timing criteria. In some embodiments, trigger module 121 receives trigger signals from outside haptic feedback module 133 (e.g., in some embodiments, haptic feedback module 133 receives trigger signals from hardware input processing module 146 located outside haptic feedback module 133) and relays the trigger signals to other components within haptic feedback module 133 (e.g., waveform module 123) or software applications that trigger operations (e.g., with trigger module 121) based on activation of a user interface element (e.g., an application icon or an affordance within an application) or a hardware input device (e.g., a home button or an intensity-sensitive input surface, such as an intensity-sensitive touch screen). In some embodiments, trigger module 121 also receives tactile feedback generation instructions (e.g., from haptic feedback module 133, FIGS. 1A and 3). In some embodiments, trigger module 121 generates trigger signals in response to haptic feedback module 133 (or trigger module 121 in haptic feedback module 133) receiving tactile feedback instructions (e.g., from haptic feedback module 133, FIGS. 1A and 3).
[0108] Waveform module 123 receives trigger signals (e.g., from trigger module 121) as an input, and in response to receiving trigger signals, provides waveforms for generation of one or more tactile outputs (e.g., waveforms selected from a predefined set of waveforms designated for use by waveform module 123, such as the waveforms described in greater detail below).
[0109] Mixer 125 receives waveforms (e.g., from waveform module 123) as an input, and mixes together the waveforms. For example, when mixer 125 receives two or more waveforms (e.g., a first waveform in a first channel and a second waveform that at least partially overlaps with the first waveform in a second channel) mixer 125 outputs a combined waveform that corresponds to a sum of the two or more waveforms. In some embodiments, mixer 125 also modifies one or more waveforms of the two or more waveforms to emphasize particular waveform(s) over the rest of the two or more waveforms (e.g., by increasing a scale of the particular waveform(s) and / or decreasing a scale of the rest of the waveforms). In some circumstances, mixer 125 selects one or more waveforms to remove from the combined waveform (e.g., the waveform from the oldest source is dropped when there are waveforms from more than three sources that have been requested to be output concurrently by tactile output generator 167).
[0110] Compressor 127 receives waveforms (e.g., a combined waveform from mixer 125) as an input, and modifies the waveforms. In some embodiments, compressor 127 reduces the waveforms (e.g., in accordance with physical specifications of tactile output generators 167 (FIG. 1A) or 357 (FIG. 3)) so that tactile outputs corresponding to the waveforms are reduced. In some embodiments, compressor 127 limits the waveforms, such as by enforcing a predefined maximum amplitude for the waveforms. For example, compressor 127 reduces amplitudes of portions of waveforms that exceed a predefined amplitude threshold while maintaining amplitudes of portions of waveforms that do not exceed the predefined amplitude threshold. In some embodiments, compressor 127 reduces a dynamic range of the waveforms. In some embodiments, compressor 127 dynamically reduces the dynamic range of the waveforms so that the combined waveforms remain within performance specifications of the tactile output generator 167 (e.g., force and / or moveable mass displacement limits).
[0111] Low-pass filter 129 receives waveforms (e.g., compressed waveforms from compressor 127) as an input, and filters (e.g., smooths) the waveforms (e.g., removes or reduces high frequency signal components in the waveforms). For example, in some instances, compressor 127 includes, in compressed waveforms, extraneous signals (e.g., high frequency signal components) that interfere with the generation of tactile outputs and / or exceed performance specifications of tactile output generator 167 when the tactile outputs are generated in accordance with the compressed waveforms. Low-pass filter 129 reduces or removes such extraneous signals in the waveforms.
[0112] Thermal controller 131 receives waveforms (e.g., filtered waveforms from low-pass filter 129) as an input, and adjusts the waveforms in accordance with thermal conditions of device 100 (e.g., based on internal temperatures detected within device 100, such as the temperature of haptic feedback controller 161, and / or external temperatures detected by device 100). For example, in some cases, the output of haptic feedback controller 161 varies depending on the temperature (e.g. haptic feedback controller 161, in response to receiving same waveforms, generates a first tactile output when haptic feedback controller 161 is at a first temperature and generates a second tactile output when haptic feedback controller 161 is at a second temperature that is distinct from the first temperature). For example, the magnitude (or the amplitude) of the tactile outputs can vary depending on the temperature. To reduce the effect of the temperature variations, the waveforms are modified (e.g., an amplitude of the waveforms is increased or decreased based on the temperature).
[0113] In some embodiments, haptic feedback module 133 (e.g., trigger module 121) is coupled to hardware input processing module 146. In some embodiments, other input controller(s) 160 in FIG. 1A includes hardware input processing module 146. In some embodiments, hardware input processing module 146 receives inputs from hardware input device 145 (e.g., other input or control devices 116 in FIG. 1A, such as a home button or an intensity-sensitive input surface, such as an intensity-sensitive touch screen). In some embodiments, hardware input device 145 is any input device described herein, such as touch-sensitive display system 112 (FIG. 1A), keyboard / mouse 350 (FIG. 3), touchpad 355 (FIG. 3), one of other input or control devices 116 (FIG. 1A), or an intensity-sensitive home button. In some embodiments, hardware input device 145 consists of an intensity-sensitive home button, and not touch-sensitive display system 112 (FIG. 1A), keyboard / mouse 350 (FIG. 3), or touchpad 355 (FIG. 3). In some embodiments, in response to inputs from hardware input device 145 (e.g., an intensity-sensitive home button or a touch screen), hardware input processing module 146 provides one or more trigger signals to haptic feedback module 133 to indicate that a user input satisfying predefined input criteria, such as an input corresponding to a "click" of a home button (e.g., a "down click" or an "up click"), has been detected. In some embodiments, haptic feedback module 133 provides waveforms that correspond to the "click" of a home button in response to the input corresponding to the "click" of a home button, simulating a haptic feedback of pressing a physical home button.
[0114] In some embodiments, the tactile output module includes haptic feedback controller 161 (e.g., haptic feedback controller 161 in FIG. 1A), which controls the generation of tactile outputs. In some embodiments, haptic feedback controller 161 is coupled to a plurality of tactile output generators, and selects one or more tactile output generators of the plurality of tactile output generators and sends waveforms to the selected one or more tactile output generators for generating tactile outputs. In some embodiments, haptic feedback controller 161 coordinates tactile output requests that correspond to activation of hardware input device 145 and tactile output requests that correspond to software events (e.g., tactile output requests from haptic feedback module 133) and modifies one or more waveforms of the two or more waveforms to emphasize particular waveform(s) over the rest of the two or more waveforms (e.g., by increasing a scale of the particular waveform(s) and / or decreasing a scale of the rest of the waveforms, such as to prioritize tactile outputs that correspond to activations of hardware input device 145 over tactile outputs that correspond to software events).
[0115] In some embodiments, as shown in FIG. 1C, an output of haptic feedback controller 161 is coupled to audio circuitry of device 100 (e.g., audio circuitry 110, FIG. 1A), and provides audio signals to audio circuitry of device 100. In some embodiments, haptic feedback controller 161 provides both waveforms used for generating tactile outputs and audio signals used for providing audio outputs in conjunction with generation of the tactile outputs. In some embodiments, haptic feedback controller 161 modifies audio signals and / or waveforms (used for generating tactile outputs) so that the audio outputs and the tactile outputs are synchronized (e.g., by delaying the audio signals and / or waveforms). In some embodiments, haptic feedback controller 161 includes a digital-to-analog converter used for converting digital waveforms into analog signals, which are received by amplifier 163 and / or tactile output generator 167.
[0116] In some embodiments, the tactile output module includes amplifier 163. In some embodiments, amplifier 163 receives waveforms (e.g., from haptic feedback controller 161) and amplifies the waveforms prior to sending the amplified waveforms to tactile output generator 167 (e.g., any of tactile output generators 167 (FIG. 1A) or 357 (FIG. 3)). For example, amplifier 163 amplifies the received waveforms to signal levels that are in accordance with physical specifications of tactile output generator 167 (e.g., to a voltage and / or a current required by tactile output generator 167 for generating tactile outputs so that the signals sent to tactile output generator 167 produce tactile outputs that correspond to the waveforms received from haptic feedback controller 161) and sends the amplified waveforms to tactile output generator 167. In response, tactile output generator 167 generates tactile outputs (e.g., by shifting a moveable mass back and forth in one or more dimensions relative to a neutral position of the moveable mass).
[0117] In some embodiments, the tactile output module includes sensor 169, which is coupled to tactile output generator 167. Sensor 169 detects states or state changes (e.g., mechanical position, physical displacement, and / or movement) of tactile output generator 167 or one or more components of tactile output generator 167 (e.g., one or more moving parts, such as a membrane, used to generate tactile outputs). In some embodiments, sensor 169 is a magnetic field sensor (e.g., a Hall effect sensor) or other displacement and / or movement sensor. In some embodiments, sensor 169 provides information (e.g., a position, a displacement, and / or a movement of one or more parts in tactile output generator 167) to haptic feedback controller 161 and, in accordance with the information provided by sensor 169 about the state of tactile output generator 167, haptic feedback controller 161 adjusts the waveforms output from haptic feedback controller 161 (e.g., waveforms sent to tactile output generator 167, optionally via amplifier 163).
[0118] It shall be understood that the foregoing discussion regarding event handling of user touches on touch-sensitive displays also applies to other forms of user inputs to operate multifunction devices 100 with input devices, not all of which are initiated on touch screens. For example, mouse movement and mouse button presses, optionally coordinated with single or multiple keyboard presses or holds; contact movements such as taps, drags, scrolls, etc. on touchpads; pen stylus inputs; movement of the device; oral instructions; detected eye movements; biometric inputs; and / or any combination thereof are optionally utilized as inputs corresponding to sub-events which define an event to be recognized.
[0119] FIG. 2 illustrates a portable multifunction device 100 having a touch screen 112 in accordance with some embodiments. The touch screen optionally displays one or more graphics within user interface (UI) 200. In this embodiment, as well as others described below, a user is enabled to select one or more of the graphics by making a gesture on the graphics, for example, with one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, right to left, upward and / or downward), and / or a rolling of a finger (from right to left, left to right, upward and / or downward) that has made contact with device 100. In some implementations or circumstances, inadvertent contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0120] Device 100 optionally also include one or more physical buttons, such as "home" or menu button 204. As described previously, menu button 204 is, optionally, used to navigate to any application 136 in a set of applications that are, optionally, executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touch screen 112.
[0121] In some embodiments, device 100 includes touch screen 112, menu button 204, push button 206 for powering the device on / off and locking the device, volume adjustment button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and docking / charging external port 124. Push button 206 is, optionally, used to turn the power on / off on the device by depressing the button and holding the button in the depressed state for a predefined time interval; to lock the device by depressing the button and releasing the button before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlock process. In an alternative embodiment, device 100 also accepts verbal input for activation or deactivation of some functions through microphone 113. Device 100 also, optionally, includes one or more contact intensity sensors 165 for detecting intensity of contacts on touch screen 112 and / or one or more tactile output generators 167 for generating tactile outputs for a user of device 100.
[0122] FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communications interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication buses 320 optionally include circuitry (sometimes called a chipset) that interconnects and controls communications between system components. Device 300 includes input / output (I / O) interface 330 comprising display 340, which is typically a touch screen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and touchpad 355, tactile output generator 357 for generating tactile outputs on device 300 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A), sensors 359 (e.g., optical, acceleration, proximity, touch-sensitive, and / or contact intensity sensors similar to contact intensity sensor(s) 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 370 optionally includes one or more storage devices remotely located from CPU(s) 310. In some embodiments, memory 370 stores programs, modules, and data structures analogous to the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A), or a subset thereof. Furthermore, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, while memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0123] Each of the above-identified elements in FIG. 3 is, optionally, stored in one or more of the previously mentioned memory devices. Each of the above-identified modules corresponds to a set of instructions for performing a function described above. The above-identified modules or programs (e.g., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are, optionally, combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 370 optionally stores additional modules and data structures not described above.
[0124] As used herein, an "installed application" refers to a software application that has been downloaded onto an electronic device (e.g., devices 100, 300, and / or 500) and is ready to be launched (e.g., become opened) on the device. In some embodiments, a downloaded application becomes an installed application by way of an installation program that extracts program portions from a downloaded package and integrates the extracted portions with the operating system of the computer system.
[0125] As used herein, the terms "open application" or "executing application" refer to a software application with retained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or executing application is, optionally, any one of the following types of applications: an active application, which is currently displayed on a display screen of the device that the application is being used on; a background application (or background processes), which is not currently displayed, but one or more processes for the application are being processed by one or more processors; and a suspended or hibernated application, which is not running, but has state information that is stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.
[0126] As used herein, the term "closed application" refers to software applications without retained state information (e.g., state information for closed applications is not stored in a memory of the device). Accordingly, closing an application includes stopping and / or removing application processes for the application and removing state information for the application from the memory of the device. Generally, opening a second application while in a first application does not close the first application. When the second application is displayed and the first application ceases to be displayed, the first application becomes a background application.
[0127] Attention is now directed towards embodiments of user interfaces ("UI") and associated processes that are implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0128] FIG. 6 illustrates exemplary devices connected via one or more communication channels to participate in a transaction in accordance with some embodiments. One or more exemplary electronic devices (e.g., devices 100, 300, and 500) are configured to optionally detect input (e.g., a particular user input, an NFC field) and optionally transmit payment information (e.g., using NFC). The one or more electronic devices optionally include NFC hardware and are configured to be NFC-enabled.
[0129] The electronic devices (e.g., devices 100, 300, and 500) are optionally configured to store payment account information associated with each of one or more payment accounts. Payment account information includes, for example, one or more of: a person's or company's name, a billing address, a login, a password, an account number, an expiration date, a security code, a telephone number, a bank associated with the payment account (e.g., an issuing bank), and a card network identifier. In some examples, payment account information includes include an image, such as a picture of a payment card (e.g., taken by the device and / or received at the device). In some examples, the electronic devices receive user input including at least some payment account information (e.g., receiving user-entered credit, debit, account, or gift card number and expiration date). In some examples, the electronic devices detect at least some payment account information from an image (e.g., of a payment card captured by a camera sensor of the device). In some examples, the electronic devices receive at least some payment account information from another device (e.g., another user device or a server). In some examples, the electronic device receives payment account information from a server associated with another service for which an account for a user or user device previously made a purchase or identified payment account data (e.g., an app for renting or selling audio and / or video files).
[0130] In some embodiments, a payment account is added to an electronic device (e.g., device 100, 300, and 500), such that payment account information is securely stored on the electronic device. In some examples, after a user initiates such process, the electronic device transmits information for the payment account to a transaction-coordination server, which then communicates with a server operated by a payment network for the account (e.g., a payment server) to ensure a validity of the information. The electronic device is optionally configured to receive a script from the server that allows the electronic device to program payment information for the account onto the secure element.
[0131] In some embodiments, communication among electronic devices 100, 300, and 500 facilitates transactions (e.g., generally or specific transactions). For example, a first electronic device (e.g., 100) can serve as a provisioning or managing device, and can send notifications of new or updated payment account data (e.g., information for a new account, updated information for an existing account, and / or an alert pertaining to an existing account) to a second electronic device (e.g., 500). In another example, a first electronic device (e.g., 100) can send data to a second election device, wherein the data reflects information about payment transactions facilitated at the first electronic device. The information optionally includes one or more of: a payment amount, an account used, a time of purchase, and whether a default account was changed. The second device (e.g., 500) optionally uses such information to update a default payment account (e.g., based on a learning algorithm or explicit user input).
[0132] Electronic devices (e.g., 100, 300, 500) are configured to communicate with each other over any of a variety of networks. For example, the devices communicate using a Bluetooth connection 608 (e.g., which includes a traditional Bluetooth connection or a Bluetooth Low Energy connection) or using a WiFi network 606. Communications among user devices are, optionally, conditioned to reduce the possibility of inappropriately sharing information across devices. For example, communications relating to payment information requires that the communicating devices be paired (e.g., be associated with each other via an explicit user interaction) or be associated with a same user account.
[0133] In some embodiments, an electronic device (e.g., 100, 300, 500) is used to communicate with a point-of-sale (POS) payment terminal 600, which is optionally NFC-enabled. The communication optionally occurs using a variety of communication channels and / or technologies. In some examples, electronic device (e.g., 100, 300, 500) communicates with payment terminal 600 using an NFC channel 610. In some examples, payment terminal 600 communicates with an electronic device (e.g., 100, 300, 500) using a peer-to-peer NFC mode. Electronic device (e.g., 100, 300, 500) is optionally configured transmit a signal to payment terminal 600 that includes payment information for a payment account (e.g., a default account or an account selected for the particular transaction).
[0134] In some embodiments, proceeding with a transaction includes transmitting a signal that includes payment information for an account, such as a payment account. In some embodiments, proceeding with the transaction includes reconfiguring the electronic device (e.g., 100, 300, 500) to respond as a contactless payment card, such as an NFC-enabled contactless payment card, and then transmitting credentials of the account via NFC, such as to payment terminal 600. In some embodiments, subsequent to transmitting credentials of the account via NFC, the electronic device reconfigures to not respond as a contactless payment card (e.g., requiring authorization before again reconfigured to respond as a contactless payment card via NFC).
[0135] In some embodiments, generation of and / or transmission of the signal is controlled by a secure element in the electronic device (e.g., 100, 300, 500). The secure element optionally requires a particular user input prior to releasing payment information. For example, the secure element optionally requires detection that the electronic device is being worn, detection of a button press, detection of entry of a passcode, detection of a touch, detection of one or more option selections (e.g., received while interacting with an application), detection of a fingerprint signature, detection of a voice or voice command, and or detection of a gesture or movement (e.g., rotation or acceleration). In some examples, if a communication channel (e.g., an NFC communication channel) with another device (e.g., payment terminal 600) is established within a defined time period from detection of the input, the secure element releases payment information to be transmitted to the other device (e.g., payment terminal 600). In some examples, the secure element is a hardware component that controls release of secure information. In some examples, the secure element is a software component that controls release of secure information.
[0136] In some embodiments, protocols related to transaction participation depend on, for example, device types. For example, a condition for generating and / or transmitting payment information can be different for a wearable device (e.g., device 500) and a phone (e.g., device 100). For example, a generation and / or transmission condition for a wearable device includes detecting that a button has been pressed (e.g., after a security verification), while a corresponding condition for a phone does not require button-depression and instead requires detection of particular interaction with an application. In some examples, a condition for transmitting and / or releasing payment information includes receiving particular input on each of multiple devices. For example, release of payment information optionally requires detection of a fingerprint and / or passcode at the device (e.g., device 100) and detection of a mechanical input (e.g., button press) on another device (e.g., device 500).
[0137] Payment terminal 600 optionally uses the payment information to generate a signal to transmit to a payment server 604 to determine whether the payment is authorized. Payment server 604 optionally includes any device or system configured to receive payment information associated with a payment account and to determine whether a proposed purchase is authorized. In some examples, payment server 604 includes a server of an issuing bank. Payment terminal 600 communicates with payment server 604 directly or indirectly via one or more other devices or systems (e.g., a server of an acquiring bank and / or a server of a card network).
[0138] Payment server 604 optionally uses at least some of the payment information to identify a user account from among a database of user accounts (e.g., 602). For example, each user account includes payment information. An account is, optionally, located by locating an account with particular payment information matching that from the POS communication. In some examples, a payment is denied when provided payment information is not consistent (e.g., an expiration date does not correspond to a credit, debit or gift card number) or when no account includes payment information matching that from the POS communication.
[0139] In some embodiments, data for the user account further identifies one or more restrictions (e.g., credit limits); current or previous balances; previous transaction dates, locations and / or amounts; account status (e.g., active or frozen), and / or authorization instructions. In some examples, the payment server (e.g., 604) uses such data to determine whether to authorize a payment. For example, a payment server denies a payment when a purchase amount added to a current balance would result in exceeding an account limit, when an account is frozen, when a previous transaction amount exceeds a threshold, or when a previous transaction count or frequency exceeds a threshold.
[0140] In some embodiments, payment server 604 responds to POS payment terminal 600 with an indication as to whether a proposed purchase is authorized or denied. In some examples, POS payment terminal 600 transmits a signal to the electronic device (e.g., 100, 300, 500) to identify the result. For example, POS payment terminal 600 sends a receipt to the electronic device (e.g., 100, 300, 500) when a purchase is authorized (e.g., via a transaction-coordination server that manages a transaction app on the user device). In some instances, POS payment terminal 600 presents an output (e.g., a visual or audio output) indicative of the result. Payment can be sent to a merchant as part of the authorization process or can be subsequently sent.
[0141] In some embodiments, the electronic device (e.g., 100, 300, 500) participates in a transaction that is completed without involvement of POS payment terminal 600. For example, upon detecting that a mechanical input has been received, a secure element in the electronic device (e.g., 100, 300, 500) releases payment information to allow an application on the electronic device to access the information (e.g., and to transmit the information to a server associated with the application).
[0142] In some embodiments, the electronic device (e.g., 100, 300, 500) is in a locked state or an unlocked state. In the locked state, the electronic device is powered on and operational but is prevented from performing a predefined set of operations in response to the user input. The predefined set of operations optionally includes navigation between user interfaces, activation or deactivation of a predefined set of functions, and activation or deactivation of certain applications. The locked state can be used to prevent unintentional or unauthorized use of some functionality of the electronic device or activation or deactivation of some functions on the electronic device. In the unlocked state, the electronic device 100 is power on and operational and is not prevented from performing at least a portion of the predefined set of operations that cannot be performed while in the locked state.
[0143] When the device is in the locked state, the device is said to be locked. In some embodiments, the device in the locked state optionally responds to a limited set of user inputs, including input that corresponds to an attempt to transition the device to the unlocked state or input that corresponds to powering the device off.
[0144] In some examples, a secure element (e.g., 115) is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or an algorithm such that the securely stored data is not accessible by the device without proper authentication information from a user of the device. Keeping the securely stored data in a secure element that is separate from other storage on the device prevents access to the securely stored data even if other storage locations on the device are compromised (e.g., by malicious code or other attempts to compromise information stored on the device). In some examples, the secure element provides (or releases) payment information (e.g., an account number and / or a transaction-specific dynamic security code). In some examples, the secure element provides (or releases) the payment information in response to the device receiving authorization, such as a user authentication (e.g., fingerprint authentication; passcode authentication; detecting double-press of a hardware button when the device is in an unlocked state, and optionally, while the device has been continuously on a user's wrist since the device was unlocked by providing authentication credentials to the device, where the continuous presence of the device on the user's wrist is determined by periodically checking that the device is in contact with the user's skin). For example, the device detects a fingerprint at a fingerprint sensor (e.g., a fingerprint sensor integrated into a button) of the device. The device determines whether the fingerprint is consistent with a registered fingerprint. In accordance with a determination that the fingerprint is consistent with the registered fingerprint, the secure element provides (or releases) payment information. In accordance with a determination that the fingerprint is not consistent with the registered fingerprint, the secure element forgoes providing (or releasing) payment information.
[0145] Attention is now directed towards embodiments of user interfaces ("UI") and associated processes that are implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0146] FIGS. 7A-7S illustrate exemplary user interfaces for providing an instructional tutorial for enrolling a biometric feature on an electronic device (e.g., device 100, device 300, or device 500), in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIG. 8.
[0147] FIG. 7A illustrates an electronic device 700 (e.g., portable multifunction device 100, device 300, or device 500). In the non-limiting exemplary embodiment illustrated in FIGS. 7A-7S, electronic device 700 is a smartphone. In other embodiments, electronic device 1500 can be a different type of electronic device, such as a wearable device (e.g., a smartwatch). Electronic device 700 has a display 702, one or more input devices (e.g., touchscreen of display 1502, a button, a microphone), and a wireless communication radio. In some examples, the electronic device includes a plurality of cameras. In some examples, the electronic device includes only one camera. In some examples, the electronic device includes one or more biometric sensors (e.g., biometric sensor 703) which, optionally, include a camera, such as an infrared camera, a thermographic camera, or a combination thereof. In some examples, one or more of the biometric sensor is a biometric sensor (e.g., facial recognition sensor), such as those described in U.S. Ser. No. 14 / 341,860, "Overlapping Pattern Projector," filed July 14, 2014, U.S. Pub. No. 2016 / 0025993 and U.S. Ser. No. 13 / 810,451, "Scanning Projects and Image Capture Modules For 3D Mapping," U.S. Patent 9,098,931. In some examples, the electronic device includes a depth camera, such as an infrared camera, a thermographic camera, or a combination thereof. In some examples, the device further includes a light-emitting device (e.g., light projector), such as an IR flood light, a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the subject during capture of the image by a visible light camera and a depth camera (e.g., an IR camera) and the information from the depth camera and the visible light camera are used to determine a depth map of different portions of subject captured by the visible light camera. In some embodiments, the lighting effects described herein are displayed using disparity information from two cameras (e.g., two visual light cameras) for rear facing images and using depth information from a depth camera combined with image data from a visual light camera for front facing images (e.g., selfie images). In some embodiments, the same user interface is used when the two visual light cameras are used to determine the depth information and when the depth camera is used to determine the depth information, providing the user with a consistent experience, even when using dramatically different technologies to determine the information that is used when generating the lighting effects. In some embodiments, while displaying the camera user interface with one of the lighting effects applied, the device detects selection of a camera switching affordance and switches from the front facing cameras (e.g., a depth camera and a visible light camera) to the rear facing cameras (e.g., two visible light cameras that are spaced apart from each other) (or vice versa) while maintaining display of the user interface controls for applying the lighting effect and replacing display of the field of view of the front facing cameras to the field of view of the rear facing cameras (or vice versa).
[0148] As shown in FIG. 7A, device 700 displays device set-up user interface 702 on display 701. In some embodiments, device set-up user interface 702 is displayed when device 700 is first powered up by a user (e.g., when a factory-sealed device is first powered on). In some embodiments, device-set-up user interface 702 is displayed upon resetting device 700 to factory settings. Phone set-up user interface 702 includes one or more prompts 704. In the example of FIG. 7A, prompt 704 is plain text that prompts the user to proceed with initial device set-up (e.g., language selection, authentication measures, etc.). Device set-up interface 702 includes one or more affordances, such as continue affordance 706 and skip affordance 708. In some embodiments, in response to detecting a user input corresponding to activation of skip affordance 708, device 700 optionally displays a primary user interface, such as the user interface of FIG. 4A, without set-up of one or more features.
[0149] As illustrated in FIG. 7B,while displaying the set-up interface 702, the electronic device 700 detects activation (e.g., selection) of the continue affordance 706. In some examples, the activation is a tap gesture 710 on contact area 710 at continue affordance 706. In some examples where display 700 is a touch sensitive display, the activation of the continue affordance is a touch, swipe, or other gesture on the display surface at contact area 710. In some examples where display 700 is not touch sensitive, the user input is a keyboard input or activation of continue affordance 706 with a focus selector (e.g., a mouse cursor).
[0150] In response to detecting activation of continue affordance 706, the device displays face authentication tutorial interface 712 as shown in FIG. 7C. In some embodiments, face authentication set-up interface 712 is displayed in response to finishing a prior stage of a device set-up user interface process, or in response to selecting a face authentication enrollment option in a settings user interface. Face authentication set-up interface 712 includes one or more prompts 714, continue affordance 716 and later affordance 718. In the example of FIG. 7C, prompt 714 is plain text indicating that the user has an option set up face authentication in lieu of a numerical passcode. Face authentication set-up interface 712 also includes a graphical representation of a face (e.g., biometric authentication glyph 720) that is displayed within framing element 722. In the example of FIG. 7C, framing element 722 is a rectangular shape surrounding biometric authentication glyph 720 such that only the corners of the rectangle are displayed. In some embodiments, the framing element is, optionally, a solid rectangle or any other shape (e.g., a circle or oval) surrounding glyph 720. In some examples, framing element 722 helps indicate to a user how to properly position their face relative to biometric sensor 703 in combination with the additional features described below.
[0151] Turning to FIG. 7D, device 700 detects activation (e.g., selection) of the continue affordance 716. In some examples, the activation is a tap gesture 724 at continue affordance 716. In some examples where display 701 is a touch sensitive display, the activation of the continue affordance is a touch, swipe, or other gesture on the display surface at contact area 724. In some examples where display 701 is not touch sensitive, the user input is a keyboard input or activation of continue affordance 716 with a focus selector (e.g., a mouse cursor).
[0152] In response to detecting selection of continue affordance 716, device 700 displays (e.g., replaces the display of prompt 714 with) prompt 726, as illustrated in FIG. 7E. Additionally, the device replaces the display of continue affordance 716 with start affordance 728. Upon selection of continue affordance 716, device 700 maintains (e.g., continues to) display glyph 720 and framing element 722.
[0153] Turning to FIG. 7F, device 700 detects activation (e.g., selection) of start affordance 728. In some examples, the activation is a tap gesture 730 at start affordance 7728. Activation of start affordance 728 optionally indicates a user request to initiate face authentication enrollment (e.g., set-up) process.
[0154] As shown in FIGS. 7H-7Q, device 700 displays face authentication tutorial interface 732 in response to detecting selection of start affordance 728. Concurrently, the device displays an instructional animation (e.g., a tutorial) that indicates to the user how to properly position and move his or her face relative to biometric sensor 703 such that device 700 will be able to gather sufficient biometric (e.g., facial imaging) data needed for secure (e.g., biometric) authentication. The details of the tutorial interface and instructional animation are described below.
[0155] As illustrated in FIGS. 7G-7H, device 700 alters the display of framing element 722 to become a single, continuous framing element 723 that surrounds glyph 720. As shown in FIG. 7G, the device 700 optionally rounds each corner of framing element 722 into portion of a circle and merge and / or contract the portions to form a continuous circle (e.g., framing element 723 as shown in FIG. 7H) surrounding glyph 720.
[0156] As shown in FIG. 7H, device 700 concurrently displays instructional progress meter 734 proximate to and / or surrounding glyph 720. In the example of FIG. 7H, instructional progress meter 734 is composed of a set of progress elements (e.g., progress ticks 734a, 734b, and 734c) that are evenly distributed around glyph 720. In the example of FIG. 7H, progress ticks 734a, 734b, and 734c are equidistant and extend radially outward from glyph 720, for instance, forming a circle around it. In some embodiments, these progress elements are, optionally, dots, circles, line segments, or any other suitable discrete elements. In some embodiments, these progress elements are, optionally, arranged around glyph 720 in square, rectangular, elliptical, or any other suitable pattern.
[0157] While displaying face authentication tutorial interface 732 (e.g., glyph surrounded by framing element 723 and instructional progress meter 734), device 700 begins to display an instructional animation illustrating the process of enrolling a user's facial data, as shown in FIG. 7I. As described in more detail below with reference to FIGS. 7I-7P, device 700 displays movement of glyph 720 in a circular motion and corresponding advancement of instructional progress meter 734 to emulate successful face authentication.
[0158] At the start of the instructional animation, device 700 overlays orientation guide 736 on top of the display of glyph 720. In the example of FIG. 7I, orientation guide 736 is a pair of intersecting curved lines (e.g., crosshairs) that extend from framing element 723 and glyph 720 such that they appear to bulge outwards from the plane of the display (e.g., in a simulated z-direction). In some examples, in combination with circular framing element 723, the arcs of orientation, guide 736 give the otherwise two-dimensional glyph 720 a three-dimensional appearance, as if it were located on the surface of a sphere. In general, the instructional animation maintains orientation guide 736 at a fixed position relative to the center of glyph 720 such that the orientation guide appears to rotate and tilt along with (e.g., in the same directions as) the facial representation. In some embodiments, glyph 720 itself is a three-dimensional representation of a face, such as a three-dimensional line drawing with lines at a simulated z-height. In such embodiments, orientation guide 736 is, optionally, omitted. In this case, when the facial representation tilts in different directions, the lines at different z-heights appear to move relative to one another based on a simulated parallax effect to give the appearance of three-dimensional movement.
[0159] Device 700 begins the instructional animation on face authentication tutorial interface 732 by displaying movement (e.g., rotation and / or tilt) of glyph 720 and orientation guide 736 in a first direction (e.g., up, down, left, or right). In the example of FIG. 7I, glyph 720 and the overlaid orientation guide 736 tilt to the right relative to a vertical axis extending from the plane of display 700. Tilting glyph 720 in this manner optionally reveals part of the simulated face (e.g., the left side of the face) and hide another part of the simulated face (e.g., the right side of the face) to further give the appearance of a three-dimensional head tilting or rotating in a particular direction.
[0160] As illustrated in FIG. 7I, device 700 changes the appearance of a subset of the progress elements as glyph 720 (and / or orientation guide 736) tilts towards them. In particular, progress elements in meter portion 738 optionally elongates and / or changes color from their initial state when the facial graphic tilts towards them. This elongation and / or color change is, optionally, more pronounced as glyph 720 tilts further in their direction. In some embodiments, progress elements in meter portion 738 optionally changes in appearance in other manners as well. For example, additionally and / or alternatively, the line thickness, number, or pattern of the progress elements optionally change. Changing the appearance of progress elements in this manner indicates to the user that biometric sensor 703 is configured to capture image data of a corresponding portion of the face when oriented in that direction. While displaying the instructional animation, device 700 maintains the display progress elements towards which the face graphic has not yet been tilted (e.g., elements of meter portion 740) in an initial state. In the example of FIG. 7I, device 700 displays progress elements in the initial state as unfilled outlines.
[0161] In some examples, device 700 thereafter rotates glyph 720 about a second axis parallel to the plane of the display such that the simulated face appears to tilt upwards or downwards. In the example of FIG. 7J, glyph 720 appears tilted upwards from its position in FIG. 7I such that the simulated face is pointing up and to the right. While rotating glyph 720 in this manner, device 700 changes the appearance of corresponding meter portion 740, which was previously in the initial state, as shown in FIG. 7I. The device changes the appearance of meter portion 740 in the same manner as described above with respect to FIG. 7I (e.g., by elongating and / or changing color of progress elements in this portion of the instructional progress meter). Concurrently, device 700 transitions progress elements in meter portion 738, corresponding to the portion of the facial representation that was enrolled in FIG. 7I, to a second state. Progress elements in the success state (e.g., the progress elements in meter portion 738) differ in shape, color, line width, etc. from progress elements in the initial state. In the example of FIG. 7I, progress elements in the success state are displayed with the same size and width of progress elements in the initial state (e.g., progress elements in meter portion 742), but are darkened and / or filled in to indicate that the facial representation has already been oriented in that direction.
[0162] FIG. 7K illustrates further tilt and / or rotation of glyph 720 and orientation guide 736 until the simulated face appears to be looking upwards. As described above, device 700 changes appearance (e.g., elongates and / or changes color) of progress elements in meter portion 742 as glyph 720 is oriented in their direction. Concurrently, device 700 transitions progress elements in meter portion 740 to the success state after the simulated face was previously, but is no longer oriented in their direction. Progress elements in meter portion 738 remain in the success state. In general, the appearance of progress elements that have been transitioned to the success state is not modified thereafter. In this manner, device 700 changes the appearance of elements in instructional progress meter 734 in response to displaying movement of glyph 720.
[0163] In some examples, during the instructional animation, device 700 optionally continues to display rotation and / or tilt of glyph 720 until it has displayed a complete circular (e.g., clockwise, counterclockwise) motion of simulated face (e.g., until glyph 720 returns to the right-tilt orientation shown in FIG. 7I). Likewise, device 700 incrementally transitions elements of instructional progress meter 734 to the success state as glyph 720 is rotated past them, as described above. After displaying a full rotation of the simulated face, the device displays all progress elements of instructional progress meter 734 in the success state, as shown in FIG. 7L. In some embodiments, device 700 ceases to display orientation guide 736 and returns glyph 720 to its initial position after a full rotation is displayed.
[0164] After all progress elements of instructional progress meter 724 have been transitioned to the success state, device 700 transitions progress meter 734 (e.g., the progress meter itself) to a authentication-success state, such as a solid circle surrounding glyph 720. Displaying progress meter 724 in the authentication-success state optionally indicates successful face authentication set up. With reference to FIGS. 7L-7O, device 700 transitions display of the discrete progress tick of instructional progress meter 734 to the authentication-success state by shortening each progress tick and merging them together into a continuous, solid circle (e.g., success-state meter 744) surrounding glyph 720. In the example of FIGS. 7O and 7P, the circle contracts around glyph 720 until the radius of success-state meter 744 is substantially the same as the radius of framing element 723 (e.g., as shown in FIG. 7P).
[0165] As shown in FIGS. 7I-7Q, face authentication tutorial interface 732 also includes start affordance 746 that is, optionally, displayed throughout the face authentication tutorial. In some examples, start affordance 746 is enabled for activation after the instructional animation is complete (e.g., after device 700 displays instructional progress meter 734 in the authentication-success state of FIG. 7Q). In other embodiments, start affordance 746 is enabled for activation any time during display of the face authentication tutorial animation prior to completion of the instruction animation.
[0166] Turning now to FIG. 7Q, device 700 detects activation (e.g., selection) of start affordance 746. In some examples, the activation is a user input that corresponds to a request to begin face authentication set-up. In response to detecting activation of start affordance 746, device 700 replaces the display of glyph 720 with an image 750 of the user's face captured by biometric sensor 703 as shown in FIG. 7R. In some embodiments, image 748 is a live preview of the field of view of biometric sensor 703. In other embodiments, image 750 is a wire-frame representation of the user's face based on movement of the user's face in the field of view of the optical sensors. Thus, image 750 changes (e.g., continually updates) as the position and orientation of the user's face relative to biometric sensor changes.
[0167] As shown in FIG. 7R, device 700 also displays positioning element 752 around user image 750. In some embodiments, positioning element 752 optionally has similar or identical visual properties as framing element 722 that was initially positioned surrounding glyph 720 in FIGS. 7C-7F. In some embodiments, the positioning element is displayed to emphasize a predetermined portion of the display of the electronic device, indicating where the user should position his or her face relative to biometric sensors for subsequent face authentication set-up. In some embodiments, the positioning element a shape (e.g., a square) that at least partially partitions the predetermined display portion from the other parts of the display. Device 700 also displays prompt 754, text that prompts the user to move his / or her face relative to the optical sensors such that user image 750 appears inside positioning element 750.
[0168] Turning now to FIG. 7S, in response to detecting that user image 750 has been properly positioned within positioning element 750 (e.g., the user's face is properly aligned with biometric sensor 703), device 700 displays face authentication enrollment interface 756. In the example of FIG. 7S, face authentication enrollment interface 756 includes progress meter 758 and user image 760. In some embodiments, enrollment interface 756 includes orientation guide 762, a set of curved lines (e.g., crosshairs) that appear to extend out of the plane of the display to Progress meter 758 optionally has some or all of the features of instructional progress indicator 734 that is displayed during the face authentication tutorial animation. In the example of FIG. 7S, progress meter 758 also includes a set of progress elements (e.g., progress ticks 758a, 758b, and 758c) that are distributed around user 750. Further description of alignment of a user's face with respect to the optical sensors can be found below with respect to FIGS. 9A-9AE and FIGS. 11A-11O
[0169] FIGS. 8A-8C is a flow diagram illustrating a method for providing an instructional tutorial for enrolling a biometric feature on an electronic device in accordance with some embodiments. Method 800 is performed at a device (e.g., 100, 300, 500, 700) with a display, one or more input devices (e.g., a touchscreen, a mic, a camera), and a wireless communication radio (e.g., a Bluetooth connection, WiFi connection, a mobile broadband connection such as a 4G LTE connection). In some embodiments, the display is a touch-sensitive display. In some embodiments, the display is not a touch sensitive display. In some embodiments, the electronic device includes a plurality of cameras. In some embodiments, the electronic device includes only one camera. In some examples, the device includes one or more biometric sensors which, optionally, include a camera, such as a infrared camera, a thermographic camera, or a combination thereof. In some examples, the device further includes a light-emitting device, such as an IR flood light, a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the biometric feature (e.g., the face) during capture of biometric data of the biometric features by the one or more biometric sensors. Some operations in method 2000 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0170] As described below, method 800 provides an intuitive way for providing an instructional tutorial for enrolling a biometric feature on an electronic device. The method reduces the cognitive burden on a user for enrolling a biometric feature on the device, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to enroll a biometric feature faster and more efficiently conserves power and increases the time between battery charges.
[0171] The device displays (802), on the display, a first user interface (e.g., face authentication set-up interface 712). While displaying the first user interface, the device detects (806) the occurrence of a condition that corresponds to introduction of a biometric enrollment process for enrolling a biometric feature (e.g., a face, finger, eye, voice, etc.). In some embodiments, the occurrence of a condition is an input that corresponds to a request to initiate the biometric enrollment process, such as finishing a prior stage of a device setup user interface process or selecting a biometric enrollment option in a settings user interface. In some embodiments, the biometric feature is used for authentication at the device.
[0172] In response to detecting the occurrence of the condition that corresponds to introduction of the biometric enrollment process, the device displays (808) a biometric enrollment introduction interface (e.g., face authentication tutorial interface 732). Displaying the biometric enrollment introduction interface includes concurrently displaying (810) a representation of a simulation of the biometric feature (e.g., 720, an animation of a biometric feature such as an animated face / head or a video of a biometric feature) and a simulated progress indicator (e.g., instructional progress meter 734, a displayed element that indicates progress of enrollment). In some embodiments, the simulated progress indicator is located proximate to the representation of the simulation of the biometric feature. In some embodiments, the simulated progress indicator includes a plurality of progress elements (e.g., progress elements 734a, 734b, and 734c) that are, optionally, distributed around the simulation of the biometric feature, such as a set of tick marks that extend (e.g., radially extend) outward from the simulation of the biometric feature and form an elliptical shape such as a circle.
[0173] In some embodiments, the representation of the simulation of the biometric feature is a representation (812) of a simulation of at least a portion of a face (e.g., 720). In some embodiments, the representation is a representation of a simulation of a portion of a face. In some embodiments, the representation is a representation of a simulation of a face in its entirety. In some embodiments, the simulation of the biometric feature is a representation of a generic face such as a line drawing that includes eyes, nose, and a mouth. In some embodiments, the representation of a simulation of the biometric feature is a three-dimensional representation (814). For example, the representation of a simulation of the biometric feature is a three-dimensional rendered object. Alternatively, the instructional animation is optionally a 2D animation instead.
[0174] In some embodiments, the representation of the simulation of the biometric feature is a line drawing (816) with lines at different simulated z-height (e.g., a 3-D representation of 720). For example, when the line drawing of the face is tilted in different directions, the lines at different simulated z-heights appear to move relative to one another based on a simulated parallax effect. In some embodiments, the biometric enrollment introduction interface includes (820) an orientation guide (e.g., orientation guide 736, a curved line that curves backward in a simulated z direction, as described in greater detail below with reference to method 1200) that is overlaid on the representation of the simulated biometric feature (e.g., 720) and tilts in different directions as the representation of the simulated biometric feature tilts in different directions.
[0175] While displaying the biometric enrollment introduction interface, the device displays (824) an instructional animation (e.g., movement of 720 and advancement of instructional progress indicator 734 shown in FIGS. 7H-7L) that includes displaying movement (e.g., tilt and / or rotation) of the representation of the simulation of the biometric feature and incremental advancement of the progress indicator (e.g., progress elements of the progress indicator change color and / or shape in response to display of movement of the representation of the simulation of the biometric feature). Displaying an instructional animation that includes movement of the representation of the simulation of the biometric feature and incremental advancement of the simulated progress indicator illustrates, in advance, proper user inputs required for a subsequent biometric enrollment process (e.g., method 1200 and / or 1400) and therefore helps the user intuitively recognize how to quickly and properly enroll their biometric features, reducing the duration for which the device needs to display biometric enrollment interfaces (e.g., 756) during this process and reducing the number of user inputs performed at those interfaces. Reducing the number of inputs and amount of time needed to perform the enrollment operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0176] In some embodiments, the device displays (826) movement tilting the simulation of the biometric feature relative to a plane of the display of the device. For example, movement of the representation of the simulation includes rotation of the representation of the simulation along an axis normal to plane of the display of the device. In some embodiments, tilting relative to biometric sensor and / or the field of view of the sensor defines the plane of the display. In another example, the device displays (828) movement rotating the representation of the simulation of the biometric feature about a first axis (e.g., an axis normal to display 700) and rotating the representation of the simulation of the biometric feature about a second axis (e.g., an axis in the plane of display 700) different than the first axis. In some embodiments, the first axis is a vertical axis such that movement of the representation is from left to right and / or right to left. In some embodiments, the first axis is normal to the second axis. For example, the second axis is optionally a horizontal axis such that movement of the representation is downward and / or upward. In some embodiments, the first axis is any axis other than an axis normal to the display of the device (e.g., the representation rotates in any direction), and second axis is the axis normal to the display of the device. In this example, the simulated head optionally moves in a circular pattern around the second axis. Displaying movement tilting the simulation of the biometric feature relative to a plane of the display illustrates, in advance, proper user inputs required for a subsequent biometric enrollment process (e.g., method 1200 and / or 1400) and therefore helps the user intuitively recognize how to quickly and properly enroll their biometric features, reducing the duration for which the device needs to display biometric enrollment interfaces (e.g., 756) during this process and reducing the number of user inputs performed at those interfaces. Reducing the number of inputs and amount of time needed to perform the enrollment operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0177] In some embodiments, when displaying the instructional animation, the device optionally displays (830) the representation of the simulation of the biometric feature in a first position so as to reveal a first portion of the representation (e.g., a first side of 720) and not a second portion of the representation (e.g., a second, different side of 720). Subsequently, the device optionally displays the representation of the simulation of the biometric feature in a second position different than the first position so as to reveal the second portion of the representation and not the first portion of the representation. In the example that the biometric feature is a face, the simulated face optionally tilts in a first direction to reveal a first portion of the simulated face and then tilts in a second direction to reveal a second portion of the simulated face. Displaying the simulated biometric feature in a first orientation and subsequently displaying the simulated biometric feature in a second, different orientation illustrates, in advance, proper user inputs required for a subsequent biometric enrollment process (e.g., method 1200 and / or 1400) and therefore helps the user intuitively recognize how to quickly and properly enroll their biometric features, reducing the duration for which the device needs to display biometric enrollment interfaces (e.g., 756) during this process and reducing the number of user inputs performed at those interfaces. Reducing the number of inputs and amount of time needed to perform the enrollment operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0178] In some embodiments, the device displays the simulated progress indicator (e.g., 734) surrounding the representation of the simulation of the biometric feature (e.g., 720). For example, the simulated progress indicator is displayed such that the simulated progress indicator surrounds (or substantially surrounds) a portion or all of the representation of simulation of the biometric feature. In some embodiments, the simulated progress indicator is centered around the representation of the biometric feature of the user. In some embodiments, displaying the simulated progress indicator includes displaying (832) a plurality of progress elements (e.g., dots, circles, or line segments such as progress ticks 734a, 734b, and 734c) proximate the representation of the simulation of the biometric feature (e.g., face graphic 720). In some embodiments, progress elements are equidistant from the representation and / or radially extend outward from the representation. In some embodiments, the progress elements are arranged in a circular, square, rectangular, or elliptical pattern.
[0179] In some embodiments, when displaying incremental advancement of the simulated progress indicator, the device transitions (834) one or more of the plurality of progress elements from a first state to a second state different than the first state. For example, in the first state, the progress elements are, optionally, of a first color and / or a first length, and in the second state, the progress elements are, optionally, of a second color different than the first color and / or a second length different than the first length. In some embodiments, progress elements optionally change in appearance in other manners as well. For example, the progress elements optionally change in line thickness, number, pattern, etc. Changing the display of portions of the simulated progress indicator allows the user to recognize that the changes in orientation of the simulated biometric feature illustrated in the instructional animation are required to properly enroll his / or her biometric features. This helps illustrate, in advance, proper user inputs required for a subsequent biometric enrollment process (e.g., method 1200 and / or 1400), reducing the duration for which the device needs to display biometric enrollment interfaces (e.g., 756) during this process and reducing the number of user inputs performed at those interfaces. Reducing the number of inputs and amount of time needed to perform the enrollment operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0180] In some embodiments, the representation of the simulation of the biometric feature is a line drawing (836) that includes at least a portion (e.g., some or all) of a glyph (e.g., success-state progress meter 744) that is used to indicate successful biometric enrollment. In some embodiments, one or more progress elements of the simulated progress indicator are all updated to a second state (e.g., green and lengthened, or the state of meter portion 738 in FIG. 7J) and are not modified thereafter. In some embodiments, when each of the progress elements has been updated to the second state, the simulated progress indicator transitions to a success state (e.g., success-state progress meter 744). In some embodiments, transitioning the simulated progress indicator to the success state includes transitioning the simulated progress indicator to a solid circle surrounding the representation of simulation of biometric feature.
[0181] After displaying at least a portion of the instructional animation, the device detects (838) the occurrence of a condition that corresponds to initiation of the biometric enrollment process. In some embodiments, the condition that corresponds to initiation of the biometric enrollment process includes (840) a selection of an affordance to initiate the biometric enrollment process. For example, the condition is an input (e.g., user input at contact area 748) that corresponds to a request to "start enrollment" such as a tap on a "start enrollment" or "next" affordance (e.g., start affordance 746), optionally followed by aligning a biometric feature of the user with the one or more biometric sensors. A more detailed description of the biometric enrollment process is described in greater detail herein with reference to method 900. In some embodiments, the electronic device provides a tactile and / or auditory output in response to selection of the affordance.
[0182] In response (842) to detecting the occurrence of the condition that corresponds to initiation of the biometric enrollment process, the device displays (844), at a location that was previously occupied by the representation of the simulation of the biometric feature in the biometric enrollment introduction interface (e.g., face authentication tutorial interface 732), a representation of the biometric feature of the user (e.g., user image 750, a face of the user, a finger of the user, an eye of the user, a hand of the user) as determined by the one or more biometric sensors of the device. In some embodiments, the device optionally displays an enrollment progress user interface (e.g., 756) after the representation of the biometric feature of the user (e.g., 750, 760) has been aligned with the one or more biometric sensors (e.g., 703)
[0183] In some embodiments, the representation is a representation (846) of a portion of the user's face (e.g., a portion of user image 750). In some embodiments, the representation is a representation of the user's face in its entirety. In some embodiments, the representation of the biometric feature of the user is a representation of the user that is specific to the user. For example, the representation of the user is images of the user's face or a wireframe that matches contours of the user's face.
[0184] In some embodiments, the biometric enrollment user interface includes (848) the orientation guide (e.g., orientation guide 736, orientation guide 762)overlaid on the representation of the biometric feature (e.g., user image 750). The orientation guide optionally tilts as the biometric feature tilts in different directions. Displaying an orientation guide that moves as along with the user's biometric feature provides the user with feedback about the orientation of his or her biometric features relative to the biometric sensors of the device in three-dimensional space, enabling the user to place his or her biometric features in proper orientations more quickly during a subsequent enrollment process (e.g., method 1200 and / or method 1400). Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0185] In some embodiments, the representation of the biometric feature (e.g., 750) of the user is based on (850) image data captured by the one or more cameras (e.g., 703) of the electronic device. For example, the representation of the biometric feature of the user is, optionally, successive images of the user captured by the one or more cameras (e.g., 703), or a wireframe that is based on movement of the user's features in a field of view of the one or more cameras. In some embodiments, the representation of the biometric feature changes (852) as the orientation of the biometric feature relative to the one or more biometric sensors changes. Updating the orientation of the displayed representation of the biometric feature provides the user with feedback about the orientation of his or her biometric features relative to the biometric sensors of the device, enabling the user to place his or her biometric features in a proper orientation more quickly during a subsequent enrollment process (e.g., method 1200 and / or method 1400). Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0186] In response to detecting the occurrence of a condition that corresponds to initiation of the biometric enrollment process, the device also displays (854) a progress indicator (e.g., 756) that corresponds to the simulated progress indicator (e.g., a progress indicator that has some or all of the features of the progress indicator displayed surrounding the simulation of the biometric feature such as a plurality of progress elements that are distributed around a representation of the biometric feature of the user). In some embodiments, displaying the progress indicator includes maintaining (856) the display of the simulated progress indicator. For example, the simulated progress indicator is returned to an initial state (e.g., the state of progress elements 734a, 734b, and 734c in FIG. 7H) and used to show incremental enrollment progress of the user in a same or similar manner used to show incremental enrollment progress of the simulated biometric feature. Displaying an enrollment progress indicator that corresponds (e.g., is similar) to the simulated progress indicator allows the user to quickly associate changes in orientation of the simulated biometric feature and corresponding advancement of the simulated progress indicator illustrated during the instructional animation with the proper inputs required during a subsequent enrollment process (e.g., method 1200 and / or 1400). This in turn enables the user to more quickly complete the enrollment process, reducing the duration for which the device needs to display biometric enrollment interfaces (e.g., 756) during this process and reducing the number of user inputs performed at those interfaces. Reducing the number of inputs and amount of time needed to perform the enrollment operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0187] In some embodiments, the device displays (858) the progress indicator (e.g., 758) surrounding the representation of the biometric feature of the user (e.g., 760). For example, the progress indicator optionally has some or all of the features of the progress indicator that is displayed surrounding the simulation of the biometric feature. These features optionally include a plurality of progress elements (e.g., 758a, 758b, 758c) that are distributed around a representation of the biometric feature of the user. For example, the progress indicator is displayed such that the progress indicator surrounds (or substantially surrounds) a portion or all of the representation of the biometric feature of the user. In some embodiments, the progress indicator is centered around the representation of the biometric feature of the user.
[0188] In some embodiments, in response to detecting the occurrence of the condition that corresponds to initiation of the biometric enrollment process, the device displays (860) a positioning element (e.g., positioning element 752) on the display of the electronic device. In some embodiments, the positioning element is displayed to emphasize a predetermined portion of the display of the electronic device (e.g., 756, 758). In some embodiments, the positioning element indicates where a user should position the representation of the biometric feature of the user (e.g., 750) for subsequent biometric feature enrollment. In some embodiments, the positioning element is an object visually at least partially partitioning first and second portions of the display (e.g., display portion 756 and display portion 758). The positioning element is a shape, such a square in some examples, and is optionally segmented. Displaying a positioning element that frames a particular portion of the digital viewfinder allows the user to quickly recognize whether the position and / or orientation of his or her biometric features within the biometric sensor's field of view is optimal for a subsequent biometric enrollment process (e.g., method 1200 and / or 1400), enabling the user to place his or her biometric features in a proper orientation more quickly. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0189] Note that details of the processes described above with respect to method 800 (e.g., FIGS. 8A-C) are also applicable in an analogous manner to the methods described below. For example, method 800 optionally includes one or more of the characteristics of the various methods described below with reference to methods 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2500, and 2700. For another example, the orientation guide described in method 1200 can be applied with respect to the instructional animation displayed on face authentication tutorial interface (e.g., 732). For another example, one or more aspects of biometric enrollment described in method 1200 can be applied with respect to the enrollment interface (e.g., 756). For another example, one or more aspects of hints described in method 1400 can be applied to display of the face authentication tutorial interface (e.g., 732).
[0190] The operations in the information processing methods described above are, optionally, implemented by running one or more functional modules in an information processing apparatus such as general purpose processors (e.g., as described with respect to FIGS. 1A, 3, and 5A) or application specific chips. Further, the operations described above with reference to FIGS. 8A-8C are, optionally, implemented by components depicted in FIGS. 1A-1B. For example, displaying operation 802, detecting operation 806, displaying operation 810, displaying operation 824, detecting operation 838, displaying operation 844, and displaying operation 854 are, optionally, implemented by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects a contact on touch-sensitive surface 604, and event dispatcher module 174 delivers the event information to application 136-1. A respective event recognizer 180 of application 136-1 compares the event information to respective event definitions 186, and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as selection of an object on a user interface. When a respective predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or calls data updater 176 or object updater 177 to update the application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what is displayed by the application. Similarly, it would be clear to a person having ordinary skill in the art how other processes can be implemented based on the components depicted in FIGS. 1A-1B.
[0191] FIGS. 9A-9AEillustrate exemplary user interfaces for instructional tutorial for enrolling a biometric feature on an electronic device (e.g., device 100, device 300, device 500, or device 700), in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIG. 10.
[0192] FIG. 9A illustrates an electronic device 900 (e.g., portable multifunction device 100, device 300, device 500, or device 700). In the non-limiting exemplary embodiment illustrated in FIGS. 9A-9AE electronic device 900 is a smartphone. In other embodiments, electronic device 900 can be a different type of electronic device, such as a wearable device (e.g., a smartwatch). Electronic device 900 has a display 901, one or more input devices (e.g., touchscreen of display 901, a button, a microphone), and a wireless communication radio. In some examples, the electronic device includes a plurality of cameras. In some examples, the electronic device includes only one camera. In some examples, the electronic device includes one or more biometric sensors (e.g., biometric sensor 903) which, optionally, include a camera, such as an infrared camera, a thermographic camera, or a combination thereof. In some examples, the one or more biometric sensors 903 are the one or more biometric sensors 703. In some examples, the device further includes a light-emitting device (e.g., light projector). such as an IR flood light, a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the biometric feature (e.g., the face) during capture of biometric data of biometric features by the one or more biometric sensors.
[0193] As illustrated in FIG. 9A, device 900 displays a face authentication introduction interface 905. In some embodiments, face authentication introduction interface 905 is similar to the face authentication tutorial interface 732 described above in connection with FIG. 7S. By way of example, face authentication introduction interface 905 includes face graphic 902, which is, optionally, the same as or similar to glyph 720, described above with respect to face authentication tutorial interface 732. Additionally or alternatively, device 900 optionally also display success-state instructional progress meter 907, which is, optionally, the same or similar to success-state instructional progress meter 744 in FIG. 7P-7Q. Face authentication introduction interface 905 also includes a start button 904 (e.g., a start affordance). As shown in FIG. 9A, device 900 detects activation (e.g., selection) of start affordance 904. For example, activation is, optionally, a user input at contact area 906 on start affordance 904. This user input will, in some circumstances, correspond to a request to begin face authentication set-up (e.g., start face enrollment).
[0194] In some examples, in response to detecting user selection of start button 904, device 900 displays face alignment interface 908 as shown in FIG. 9B. Face alignment interface 908 includes positioning element 910, which is a framing circle or brackets that, in some examples, indicates an alignment boundary. In some examples, the positioning element 910 identifies an inner display portion 912 and an outer display portion 912. In some examples, the electronic device determines a biometric feature of a user is properly aligned when substantially positioned in the inner display portion 912 in a predetermined manner. In some examples, positioning element 910 partitions inner display portion 912 from outer display portion 914. In general, if the user's face is positioned relative to biometric sensor 903 such that a portion of the image of the user appears in outer display portion 914, the user's face will, in some circumstances, not be properly aligned with the cameras. As such, face alignment interface 908 also includes a text prompt 916 instructing the user to position his or her face inside of positioning element 910 (e.g., within inner display portion 812).
[0195] With reference to FIG. 9C, in some examples, during the alignment process, a user positions the electronic device 900 substantially in front of the user's face 917. In some examples, the user holds device 900 at approximately a same height as his or her face, such that the face is in the field of view of the biometric sensor 903.
[0196] As illustrated in FIG. 9D, once the user has initiated alignment process, the device displays a face alignment interface 908 (recall that the user optionally initiates the enrollment process by activating an affordance 904). Face alignment interface 908 includes a digital viewfinder showing a preview of image data captured by biometric sensor 903. In some embodiments, the preview of image data is a live preview that continuously updates (e.g., changes over time) as the field of view of these cameras changes (e.g., if device 900 is moved or if the user moves closer / farther away from the cameras). The digital viewfinder includes user facial image 918, as well as positioning element 910 superimposed on the field of view of the cameras. As described above, positioning element 910 partitions inner display portion 912 from surrounding outer display portion 914. To provide further visual separation between inner display portion 912 (where user facial image 918 is to be positioned) and outer display portion 914, device 900 visually obscures (e.g., shades, darkens or blurs) outer display portion 914, as shown in FIG. 9D.
[0197] In general, proper enrollment of a user's facial features for authentication requires that the user's face be positioned in a predetermined manner and / or within a predetermined range of distances from the cameras of device 900. In some examples, alignment of a user's face with the cameras of device 900 requires the user to be neither too close nor too far away from the device. Thus, if the electronic device 900 determines that the face of the user is too close or too far, the electronic device displays text prompt 920 in the face alignment interface 908 instructing the user to position their face an acceptable distance (e.g., 20-40mm) from device 900. In the example of FIG. 9D, device 900 detects that the user's face is too far away from the cameras on the device (e.g., user facial image 918 is within positioning element 910, but does not substantially fill inner display portion 912). In some examples, the electronic device prompts the user to move his or her face closer to the device. In some examples, the device generates one or more outputs, such as audio output 922 (e.g., a series of beeps or other audio output) and tactile output tactile output 924 (e.g., a series of vibrations or other tactile output) to notify the user of improper alignment. In some embodiments, audio output 922 and / or tactile output tactile output 924 have a magnitude and repetition rate (e.g., frequency) that changes based on the distance between device 900 and the user's face. For example, the output frequency and / or magnitude optionally increases as the user's face moves closer to the acceptable range of distances (e.g., 20-40mm) from the device. Conversely, the output's frequency and / or magnitude optionally decrease as the user's face moves further away from the acceptable range of distances. In this case, device 900 continuously changes (e.g., updates) the frequency and / or magnitude of audio output 922 and / or tactile output tactile output 924 as it detects changes in distance between the user's face and biometric sensor 903. In some embodiments, device 900 provides these outputs as long as the user's face is outside the acceptable range of distances from the device. In some embodiments, audio output 922 and tactile output 924 is accompanied by a corresponding visual output on display 700. These ongoing audio, tactile, and / or visual outputs optionally provides intuitive hints as to how a user is to correctly align his or her face with the cameras, reducing the time required to perform successful facial alignment.
[0198] FIG. 9E illustrates face alignment interface 908 in the case where the user's face is positioned too close to device 900 (e.g., a substantial portion of user facial image 918 falls within outer display portion 914). In this case, alignment interface 908 also includes text prompt 920, which instructs the user to position his or her face at an acceptable distance from device 900. In some examples, the electronic device instructs the user to move his or her face closer to the device. As described above in connection with FIG. 9D, device 900 optionally generates an ongoing audio output 922 and / or tactile output tactile output 924 in response to detecting that the user's face is too close to the camera(s). In particular, device 900 changes the frequency and / or magnitude of these outputs as it detects changes in distance between the user's face and the cameras.
[0199] FIG. 9F illustrates face alignment interface 908 in the case that user's face is positioned at an acceptable distance from device 900, but is out of frame (e.g., too far to the right or left). For example, face 918 is, optionally, positioned such that a substantial portion of the face 918 lies outside of positioning element 910 within outer display portion 914. In this case, device 900 optionally displays text prompt 926 on alignment interface 908, instructing the user to position his or her face within positioning element 910 (e.g., such that user image 918 is displayed within inner display area 912).
[0200] With reference to FIGS 9G-9L, in some examples, the electronic device 900 displays face alignment interface 908 in response to determining that a user's face is positioned outside a range of predetermined angles relative to the electronic device. As shown in FIG. 9G, the electronic device 900 is positioned at a low angle relative to the electronic device (e.g., the electronic device is aligned with a chin of the user) such that the electronic device cannot properly obtain (e.g., capture biometric data). With reference to FIG. 9H, in response to determining that the electronic device 900 is outside the range of predetermined angles, the electronic device 900 blurs at least a portion of face alignment interface 908, such as the inner display portion 912 and outer display portion 914. In some examples, the electronic device further outputs a prompt 986 instructing the user to position his or her face within positioning element 910 (e.g., such that user image 918 is displayed within inner display area 912 and at the proper angle). In FIGS. 9I and 9K, the user raises the device 900 until the electronic device is within the predetermined range of angles. As the user raises the electronic device, with reference to FIGS. 9J and 9K, the electronic device 900 gradually decreases the blur of displayed elements. In this manner, the electronic device indicates to the user that the angle of the electronic device relative to the user is approaching the acceptable range of angles. In some examples, the electronic device is too high relative to the user such that the electronic device is not within the predetermined range of angles. Similarly to the described example, the electronic device optionally decreases or increases blur of displayed objects as the electronic device is moved relative to the user.
[0201] In some examples, if the device detects that an alignment error persists for a predetermined amount of time, device 900 optionally displays accessibility options affordance 928 on face alignment interface 908, as shown in FIG. 9G. For example, device 900 optionally displays accessibility options affordance 928 if it does not detect a user face at an acceptable distance from the device and / or within the positioning element at a predetermined time after starting alignment (e.g., after start button 904 is selected). In some embodiments, the predetermined amount of time is, optionally, 10 seconds, 15 seconds, 30 seconds, or any other suitable amount of time. Similarly, device 900 optionally displays accessibility options affordance after a certain number of enrollment attempts have failed. As discussed in more detail below, device 900 optionally displays additional options or hints and / or initiate alternative facial enrollment processes in response to detecting selection of accessibility options affordance 928. In some embodiments, activation of accessibility options affordance 928 enables the user to proceed with biometric enrollment without first correcting the alignment error.
[0202] In general, the quality of facial feature enrollment for the face authentication methods described herein at least partially depends on the lighting conditions under which the user's facial data is captured. For example, strong backlighting or direct exposure on the user's face will, in some circumstances, adversely affect the quality of enrollment. Turning now to FIG. 9H, in response to detecting adverse lighting conditions, device 900 optionally displays text prompt 930 on alignment interface 908, which indicates adverse lighting to the user. Text prompt 930 is, optionally, accompanied by an audio, visual and / or tactile output 932. Output 932 is, optionally, the same as output 922 and / or 924 described in connection with the alignment errors discussed above. In some embodiments, outputs are error-specific; output 932 is, optionally, therefore be a different audio, visual, and / or tactile output than outputs 922 and 924.
[0203] In general, the quality of facial feature enrollment also partially depends on the angle at which the user's face is orientated relative to one or more cameras of device 900 (e.g., biometric sensor 903). In particular, one or more optical sensors of device 900 must be able to capture image data of the user's face at a particular angle or within a predetermined range of angles. Even provided that the user's face is within the acceptable range of distances described above, face authentication enrollment can be adversely affected if device 900 is positioned to high above or too far below the user's face. Thus, in some embodiments, device 900 requires the user's face to be positioned within a predetermined range of angles relative to one or more of its cameras when detecting successful alignment conditions.
[0204] In some embodiments, device 900 blurs the image data displayed in the digital viewfinder of alignment interface 808 in response to detecting that the user's face is outside of this predetermined range of angles relative to biometric sensor 903. In some examples, the amount of blurring optionally depends on the difference between the detected angle of elevation of the user's face relative to the camera and one or more threshold angles that bound the predetermined angle range. For example, device 900 blurs the preview image to a greater extent the higher or lower device 900 is positioned relative to the face of the user. If device 900 detects a change in the angle of elevation bringing its cameras into closer alignment with the user's face, it optionally lessens the amount of blurring as the angle of elevation changes (e.g., in a continuous gradient). In some embodiments, the preview image is not blurred if the angle of elevation between device 900 and the user's face is actively changing (e.g., the user is moving device 900 relative to his or her face). Blurring is, optionally, delayed until device 900 determines that the angle between the user's face and one or more of its cameras has been outside the predetermined angle range for a set period of time (e.g., 1 second, 2 seconds, 5 seconds, or any suitable time period). In some embodiments, only a portion of the preview image (e.g., outer display portion 914) is blurred, while the entire preview image is, optionally, blurred in other embodiments. Blurring the preview image in this manner optionally prompts the user to more quickly position device 900 at a desirable angle relative to his or her face, reducing the amount of time spent during the alignment process. In some embodiments, device 900 optionally issues generates a tactile and / or output to inform the user that his or her face is positioned at a suitable angle relative to biometric sensor 903.
[0205] In FIG. 9N, the user's face is properly positioned relative to biometric sensor 903. In this case, face 918 is displayed substantially within alignment element 910 and inner display portion 912. As shown in FIG. 9N, face 918 also occupies a substantial portion of inner display portion 912, indicating that the user's face is within the threshold range of distances from device 900. In response to detecting a face that meets the above-described alignment criteria, device 900 issues audio output 934 and tactile output 936 to indicate successful alignment of the user's face with the cameras. In general, outputs 934 and 936 are different from outputs 922, 924, and 932, which are issued in response to detecting alignment errors. In some embodiments, device 900 captures and stores one or more images of the user's face upon successful alignment with the cameras.
[0206] In some examples, after detecting successful alignment, device 900 visually emphasizes inner display portion 912 in which face 918 is displayed. In the example of FIG. 9P, device 900 further obscures the outer display portion 914 by blacking out or further blurring the image in the outer portion of the digital viewfinder preview while continuing to display the part of the digital viewfinder preview in inner display portion 914 (e.g., inside positioning element 910). In some embodiments, device 900 further visually emphasizes the contents of inner display portion 912 by enlarging or zooming in on the image within inner display portion 912.
[0207] In some examples, the device further emphasizes the inner display portion 912 by changing the appearance of positioning element 910. In particular, device 900 optionally changes the appearance of the alignment element by "rounding" the corners of the alignment element as shown in FIG. 9P, and / or by merging the corners of the alignment element 910 into a circular positioning element 941 surrounding face 918, as shown in FIG. 9Q.
[0208] Turning now to the example of FIG. 9R, in response to detecting that the user's face is oriented such that the above-referenced alignment criteria are met, device 900 initiates the face authentication enrollment process by displaying (e.g., replacing display of alignment interface 908 with) face enrollment interface 938. In some embodiments, face enrollment interface 938 has similar or identical visual characteristics as face authentication enrollment interface 756 described above in connection with FIG. 7S or enrollment interface 1104 described below in connection with FIG. 11A. In the example of FIG. 9R, face enrollment interface 938 includes user facial image 939 displayed within positioning element 941. In the example of FIG. 9R, user facial image 939 is a live preview of image data captured by biometric sensor 903. Face enrollment interface 938 also optionally includes enrollment progress meter 940 that surrounds user facial image 939 and positioning element 941. As described above in connection with FIG. 7S and FIGS 11A-11H, enrollment progress meter 940 is composed of a set of progress elements (e.g., 940a, 940b, and 940c) that extend radially outward from user facial image 939 and, in some examples, enclose it in a circular pattern. Face enrollment interface 938 optionally includes orientation guide 942, . In some examples, the orientation guide includes a set of curved lines (e.g., crosshairs) that appear to extend out of the plane of display 901 in a virtual z-dimension, intersecting over the center of user facial image 939. In some examples, orientation guide provides a sense of the three-dimensional orientation of the user's face even though face image 939 is two-dimensional. In this case, orientation guide 942 assists the user in the face enrollment process by making rotations and / or tilts of the user's head relative to device 900 more visually apparent. Face enrollment interface 938 also includes text prompt 944, which optionally instructs the user to begin tilting their head, for instance, in a circle to perform enrollment.
[0209] Generally, the quality of enrollment is decreased if device 900 moves too much relative to the user's face once the enrollment process is initiated (e.g., the device should remain still while the user moves slowly rotates / tilts his or her face). In the example of FIG. 9S, device 900 detects excess movement of its one or more cameras with respect to the user's face. This excess movement is, optionally, a significant change in orientation and / or position of the user's face relative to device 900 consistent with movement of the device itself, and that prevents reliable alignment and / or enrollment. In response, device 900 issues visual prompt 946 on enrollment interface 938 instructing the user to reduce movement of the device (e.g., prompting the user to hold the device still during the enrollment process). Device 900 optionally also concurrently generates visual and / or auditory output 948. In some embodiments, movement of the device itself is measured by accelerometer 168 rather than biometric sensor 903. Movement of the device is optionally also measured by a magnetometer, inertial measurement unit, or the like, of device 900.
[0210] Successful enrollment typically requires that alignment of the user's face relative to the cameras on device 900 be maintained throughout the enrollment process. Thus, in some examples, device 900 optionally exits the face enrollment process if one more alignment errors are detected during enrollment. In some examples, if, during the enrollment process, the device 900 detects one or more alignment errors, the electronic device exits the enrollment process (e.g., ceases to display face enrollment interface 938), and initiates (e.g., transitions to) an alignment process in which, optionally, the device displays alignment interface 908-2. In the examples of FIGS. 9T-9U, alignment interface 908-2 and its components optionally has similar or identical visual characteristics as the initial alignment interface 908 described above with respect to FIGS. 9B-9O. In the example of FIG. 9T-U, device 900 has determined that the face of the user is out of the frame, and as a result, the device 900 displays user facial image 918-2 within inner display portion 912-2, out of position compared to the successful alignment depicted in FIG. 9O. In some embodiments, the device outputs an indication of the alignment error such as text prompt 950, which indicates that user facial image 918-2 is not properly aligned within positioning element 910. This example is merely illustrative. In some embodiments, the alignment error is, optionally, a failure to meet any of the other alignment criteria discussed above (e.g., distance from the device, angle of orientation, adverse lighting etc.). In such cases, text prompt 950 instruct the user move the device and / or their face into the acceptable range of distances, or correct the angle of orientation. In other some embodiments, the alignment error is, optionally, different from the criteria above such that a small change in alignment will not cause the device to exit the face enrollment process. In response to detecting the one or more alignment errors, the device visually de-emphasizes inner display portion 912-2 by revealing the portion of the image preview displayed in outer display portion 914-2 and displaying positioning element 910-2 as shown in FIG. 9U. For example, device 900 lightens or unblurs the preview image in the outer display portion 914-2 to assist the user in re-aligning their face relative to biometric sensor 903. In the example of FIG. 9U, de-emphasizing inner display portion 912-2 reveals that a substantial portion of user facial image 918-2 is positioned outside of the positioning element 910-2 in outer display portion 914-2.
[0211] In some embodiments, device 900 again detects that the user's face is properly aligned with biometric sensor 903. In response, device 900 outputs audio output 934-2 and / or tactile output 936-2 indicating successful alignment. In some examples, audio output 934-2 and tactile output 934-6 have similar characteristics as audio output 934 and tactile output 936, respectively, as described with reference to FIG. 9O. In some examples, device 900 then resumes the enrollment process. For example, device 900 emphasizes inner portion 912-2 and facial image 918-2 in the manner discussed above with respect to inner display portion 912 and facial image 918-2 in FIGS. 9P-9O. In some embodiments, device 900 resumes the enrollment process at the point in which the electronic device detected the alignment error (e.g., face enrollment interface 938 is displayed a second time with enrollment progress meter 940 advanced to the same state as when the alignment error was detected).
[0212] In some examples, if the device does not detect that proper alignment has been established (e.g., reestablished) within a predetermined time period, device 900 displays accessibility options affordance 928-2, as shown in FIG. 9V. In some examples, accessibility options provide an option to proceed with the enrollment process without all alignment conditions met, as described below. In some embodiments, the accessibility options provide an option to set up biometric (e.g., face) authentication with only partial enrollment (e.g., a scan of only a portion of the user's face).
[0213] In response to detecting activation (e.g., selection) of accessibility options button 928-2 (e.g., by tap gesture 952), the device displays accessibility enrollment interface 954, illustrated in FIG. 9W. One or more features of accessibility enrollment interface 954 has similar or identical visual characteristics to corresponding features of enrollment interface 938. For example, in FIG. 9W, face enrollment interface 954 includes user facial image 939-2 displayed within positioning element 941-2. In some embodiments, user facial image 939-2 is a live preview of image data captured by biometric sensor 903-2. Accessibility enrollment interface 954 also optionally includes enrollment progress meter 940-2 that surrounds user facial image 939-2 and positioning element 941-2. As described above in connection with FIG. 7S and FIGS 11A-11H, enrollment progress meter 940-2 is composed of a set of progress elements (e.g., 940-2a, 940-2b, and 940-2c) that extend radially outward from user facial image 939-2 and, in some examples, enclose it in a circular pattern. Accessibility enrollment interface 954 optionally includes orientation guide 942-2, In some examples, the orientation guide includes a set of curved lines (e.g., crosshairs) that appear to extend out of the plane of display 901 in a virtual z-dimension, intersecting over the center of user facial image 939-2. Like face enrollment interface 938, accessibility interface 954 optionally includes a text prompt (e.g., prompt 956) that provides written instructions for successfully completing the enrollment process. In some examples, accessibility enrollment interface 954 also includes completion affordance 956, activation of which allows the user to exit the enrollment process and proceed to set up face authentication using only a partial scan of their facial features. In some examples, partial scans are, in some circumstances, helpful for a user having a condition that prohibits the user from tilting his or her head in all directions otherwise required for enrollment.
[0214] In response to activation (e.g., selection) of completion affordance 956 (e.g., by a user input 958 shown in FIG. 9X), the device displays face enrollment confirmation interface 960, illustrated in FIG. 9Y. Face enrollment confirmation interface includes facial image 939-3, which, in the example of FIG. 9Y, has similar visual characteristics to user facial image 939-2. Facial image 939-3 is, optionally, surrounded by enrollment progress meter 962, which is displayed in the successful authentication state described above in connection with FIGS. 7P and 7Q. Face enrollment confirmation interface also includes partial scan enrollment affordance 964, which allows the user to enroll the gathered facial data for use in device authentication. Face enrollment confirmation interface 960 also includes a back affordance 966, which allows the user to navigate back to accessibility enrollment interface 954.
[0215] As illustrated in FIG. 9Z, the device detects a user input 968 corresponding to activation (e.g., selection) of back affordance 966. In response to detecting the user input, device 900 displays (e.g., for a second time) accessibility enrollment interface 954. While displaying accessibility enrollment interface 954, device 900 detects movement (e.g., rotation and / or tilting) of the user's face relative to biometric sensor 903. In the case of FIG. 9AA, device 900 detects that the user's face has tilted in a particular direction (e.g., downwards and / or to the right towards meter portion 970). As described below in further detail with respect to FIGS. 11B-11H, device 900 updates user facial image 939-2 based on the detected movement, and updates the position of orientation guide 942-2 to indicate that the user's head has tilted and / or rotated in three-dimensional space. In response to detecting movement of the user's face, device 900 captures image data of a portion of the user's face (e.g., the left side of the face) and concurrently changes the appearance of a corresponding portion (e.g., meter portion 970) of enrollment progress meter 940-2. In some embodiments, device 900 elongates and or changes color of one or more progress elements in meter portion 970 to indicate that the portion of the user's face is currently being enrolled (as described in more detail with respect to FIGS. 7I-7K and 11B-11H). In some embodiments, device 900 maintains the display (e.g., does not change the appearance) of meter portion 972, since meter portion 972 corresponds to a facial orientation that has not yet been enrolled.
[0216] As illustrated in FIG. 9AB, in some examples, device 900 detects a change in orientation of the user's face relative to its one or more cameras (e.g., the user's face has tilted upwards) and updates user facial image 939-2 and orientation guide 942-2 accordingly. By way of example, because image data at the facial orientation corresponding to meter portion 972 has been successfully enrolled, device 900 transitions the state of the progress elements in meter portion 972 to an "enrolled" state as described in more detail below with respect to FIGS. 11B-I (e.g., by shading or changing the color and / or line width of the progress elements). As shown in FIG. 9AB, device 900 again detects activation (e.g., selection) of done affordance 956 (e.g., by user input 958-2).
[0217] In response to detecting activation of completion affordance 956, device 900 returns to displaying face enrollment confirmation interface 960 as shown in FIG. 9AC. Since a portion of the user's face has been successfully enrolled, device 900 displays enrollment success indicator 974, for instance, proximate to the user facial image 939-3. In the example of FIG. 9AC, enrollment success indicator 974 indicates orientations of the user's face that have been successfully enrolled. In some examples, the enrollment success indicator 974 is a circular bar. Accordingly, in some examples, enrollment success indicator 974 indicates (e.g., is located at) positions where enrollment progress meter transitioned to the success state during enrollment.
[0218] In some examples, because accessibility enrollment interface 960 allows the user to set up face authentication with only a partial enrollment of their facial features, partial scan enrollment affordance 964 is selectable. As shown in FIG. 9AD, device 900 detects activation (e.g., selection) of partial scan enrollment affordance 964 (e.g., by user input 976). In response to detecting activation of partial scan enrollment affordance 964, device 900 displays enrollment-complete interface 978, illustrated in FIG. 9AE Enrollment completion interface 978 includes text prompt 980, indicating to the user that the enrollment process is complete and face authentication has been securely set-up. Enrollment-complete interface 978 include optionally a generic face graphic 982 at a location that was previous occupied by user facial image 939-3. In some examples, enrollment complete interface 978 also includes a done affordance, activation of which causes the electronic device to exit face authentication set-up.
[0219] FIG. 10 is a flow diagram illustrating a method for aligning a biometric feature on the display of an electronic device in accordance with some embodiments. Method 1000 is performed at a device (e.g., 100, 300, 500, 900) with a display, one or more input devices (e.g., a touchscreen, a mic, a camera), and a wireless communication radio (e.g., a Bluetooth connection, WiFi connection, a mobile broadband connection such as a 4G LTE connection). In some embodiments, the display is a touch-sensitive display. In some embodiments, the display is not a touch sensitive display. In some embodiments, the electronic device includes a plurality of cameras. In some embodiments, the electronic device includes only one camera. In some examples, the device includes one or more biometric sensors which, optionally, include a camera, such as a infrared camera, a thermographic camera, or a combination thereof. In some examples, the device further includes a light-emitting device, such as an IR flood light a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the biometric feature (e.g., the face) during capture of biometric data of the biometric features by the one or more biometric sensors. Some operations in method 2000 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0220] As described below, method 1000 provides an intuitive way for aligning a biometric feature on the display of an electronic device. The method reduces the cognitive burden on a user for enrolling a biometric feature on the device, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to enroll a biometric feature faster and more efficiently conserves power and increases the time between battery charges.
[0221] The device displays (1002), on the display, a first user interface (e.g., 905). For example, the first user interface is, optionally, the enrollment introduction user interface as described above with respect to method 700.
[0222] While displaying the first user interface, the device detects (1004) the occurrence of a condition that corresponds to initiating a biometric enrollment process for enrolling a respective type of biometric feature (e.g., 917). For example, the occurrence of a condition is, optionally, an input (e.g., 906 on start affordance 904) that corresponds to a request to "start enrollment."
[0223] In response to detecting the occurrence of a condition that corresponds to initiating the biometric enrollment process (e.g., user input selecting initiation of enrollment), the device displays (1006), on the display, a digital viewfinder (e.g., display portions 912 and 914) including a preview of image data (e.g., user facial image 918) captured by the one or more cameras (e.g., 903). In some embodiments, the preview of image data encompasses a first portion of a field of view of the one or more cameras (e.g., outer portion of field of view 914) and a second portion of the field of view of the one or more cameras (e.g., inner portion of field of view 912). In some embodiments, the second portion of the field of view (e.g., 914) is (1008) a portion of the field of view that encloses (or partially encloses) the first portion of the field of view (e.g., 912). In some embodiments, the inner portion of the field of view is, optionally, divided from outer portion by an alignment element (e.g., positioning element 910). In some embodiments, the preview of image data optionally changes over time as the content in the field of view of the one or more cameras (e.g., 903) changes. Displaying a preview of the image captured by the biometric sensors provides the user with feedback about the position and orientation of his or her biometric features relative to the biometric sensors of the device, enabling the user to properly align his or her biometric features with the sensors more quickly and efficiently. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0224] In some embodiments, the device concurrently displays (1010), with the preview of image data, an alignment element (e.g., positioning element 910) that indicates a portion of the preview (e.g., 912) in which the user's face (e.g., 918) should be placed in order to proceed with the biometric enrollment. For example, the alignment element is, optionally, a framing circle or framing brackets that are displayed in a central portion of the preview image (e.g., 912) to prompt the user to move the device or their face into alignment with the central portion of the preview image. Displaying an alignment element that frames a particular portion of the digital viewfinder provides the user with feedback about the position of his or her biometric features relative to a potion of the biometric sensor's field of view corresponding to proper alignment of the biometric feature. This in turn enables the user to properly position his or her biometric features relative to the sensors more quickly and efficiently. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently
[0225] In some embodiments, after initiating the biometric enrollment process (1012), the device determines (1014) whether a biometric feature of the respective type (e.g., 917) that meets alignment criteria has been detected in the field of view of the one or more cameras (e.g., 903). Determining whether the user's biometric features are properly aligned with the biometric sensors improves the quality of subsequent biometric enrollment (e.g., according to methods 1200 and / or 1400) by ensuring that image data corresponding to particular portions and / or orientations of the biometric feature are captured during enrollment. This in turn improves the ability of the device to match a user's biometric feature with the captured data during biometric authentication at the device. Performing an optimized operation when a set of conditions has been met without requiring further user input user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0226] In some embodiments, in response (1016) to detecting the biometric feature of the respective type (e.g., 917) that meets alignment criteria, the device outputs (1018) a tactile output of a first type (e.g., 934, 936, 934-2, 936-2, e.g., the tactile output is an output corresponding to successful alignment). Issuing a tactile output upon detecting that the biometric feature is properly aligned with the biometric sensors provides the user with feedback indicating successful alignment, which prompts the user to maintain the biometric feature in that alignment throughout a subsequent biometric enrollment process (e.g., methods 1200 and / or 1400). Providing improved tactile feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs during biometric enrollment and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0227] In some embodiments, in response (1016) to detecting the biometric feature of the respective type that meets alignment criteria, the device stores (1020) image data corresponding to the biometric feature (e.g., 917). In some embodiments, on successful alignment, the device captures data associated with the biometric feature. Storing biometric (e.g., image) data in response to detecting successful alignment of the biometric feature allows the device to automatically capture data that be referenced during a subsequent biometric authorization attempt. Performing an optimized operation when a set of conditions has been met without requiring further user input user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0228] In some embodiments, the alignment criteria includes (1024) a requirement that at least a portion of the biometric feature (e.g., 917) is within the first portion of the field of view (e.g., inner display portion 912, 912-2) of the one or more cameras. For example, in some embodiments, the electronic device determines whether the image data includes data corresponding to the biometric feature that satisfies the alignment criteria. In some embodiments, the alignment criteria include (1050) lighting conditions criteria. In some embodiments, alignment criteria require that lighting conditions of the electronic device are adequate for capturing image data during biometric feature enrollment, including a requirement that at least a first threshold amount of light is detected and / or that no more than a second threshold amount of light is detected (e.g., by 903).
[0229] In some embodiments, the alignment criteria include (1052) a requirement that a portion of the biometric feature (e.g., a portion of 917) is oriented relative to the electronic device in a predetermined manner. In examples where the biometric feature is a face of a user, the alignment criteria optionally includes a requirement that the user gaze is directed toward at least one of the one or more cameras (e.g., 903) of the electronic device or the display (e.g., 901) of the electronic device. In some embodiments, the requirement that a portion of the biometric feature (e.g., a portion of user facial image 918) is oriented relative to the electronic device in a predetermined manner is a requirement that the biometric feature (e.g., 917) is positioned within a threshold angle (e.g., angle of elevation) relative to the one or more biometric sensors (e.g., 903). In some embodiments, the alignment criteria require that the biometric feature (e.g., 917) is positioned relative to the biometric sensors (e.g., 903) in a predetermined manner such that the biometric sensors can capture biometric data corresponding to the biometric feature at a particular angle, or within a range of angles. In some examples, the device blurs the display of the electronic device (e.g., display portions 912 and / or 914), for instance, based on the degree to which the biometric feature (e.g., 917) is outside of a predefined range of angles with respect to the one or more biometric sensors (e.g., 903).
[0230] In some embodiments, the alignment criteria include (1042) a requirement that the biometric feature (e.g., 917) is within a first threshold distance from the one or more biometric sensors (e.g., 903, e.g., the biometric feature is not too far from the biometric sensors) and a requirement that the biometric feature is not within a second threshold distance from the one or more biometric sensors (e.g., the biometric feature is not too close to the biometric sensors) (1026).
[0231] In some embodiments, while the biometric feature (e.g., 917) is at a first distance from the electronic device that is not within the predetermined range of distances from the electronic device, the device detects (1044), by the one or more cameras (e.g., 903), a change in distance of the biometric feature (e.g., 917) from the first distance to a second distance from the electronic device that is not within the predetermined range of distances from the electronic device. In response to detecting the change in distance, the device generates (1046) an output (e.g., an audio, tactile, and / or visual outputs 922, 924) having a value of an output characteristic (e.g., a magnitude or amplitude, or a frequency or repetition rate) that varies based on a distance of the biometric feature from the predetermined range of distances. In some embodiments, the electronic device issues an ongoing audio output (e.g., 924, e.g., a series of beeps) having a frequency that increases as the distance between the biometric feature (e.g., 917) and the electronic device approaches a target distance (or range of distances) from the electronic device. For example, the rate of beeping optionally increases. Conversely, the frequency of the audio output (e.g., 922) optionally decreases as the distance between the biometric feature and the electronic moves further away from the target distance (or range of distances) from the electronic device. For example, the rate of beeping optionally decreases. In some embodiments, similar feedback is generated with tactile outputs (e.g., output 924) or visual outputs. Issuing an audio, tactile, and / or visual output that varies based on the distance between the biometric feature and the device provides ongoing feedback to the user about the position of his or her biometric features relative to a range of distances from the biometric sensors corresponding to proper alignment. This in turn reduces the amount of time alignment interfaces are displayed and reduces the number of user inputs that are required during the alignment process. Providing improved audio, tactile and / or visual feedback to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently
[0232] After initiating the biometric enrollment process, in accordance with a determination that a biometric feature of the respective type (e.g., 917) that meets alignment criteria has been detected in the field of view of the one or more cameras (e.g., 903) (1022), the device emphasizes (1028) the first portion of the field of view (e.g., inner display portion 912 in FIG. 9J) of the one or more cameras relative to the second portion of the field of view (e.g., outer display portion 914 in FIG 9J) of the one or more cameras (e.g., darken, blur, and / or black out the second portion of the field of view without darkening, blurring, and / or blacking out the first portion of the field of view of the one or more cameras). For example, the alignment criteria include a requirement that a face of user (e.g., 917) is aligned with the camera (e.g., 903) in a predetermined alignment, or an eye of the user is aligned with the camera in a predetermined alignment. Providing a visual effect that emphasizes a portion of the display upon detecting successful alignment of the user's biometric features with the biometric sensors allows the user to quickly recognize that the current position of his or her biometric features is optimal for a subsequent biometric enrollment process (e.g., according to methods 1200 and / or 1400). Providing improved visual feedback when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0233] In some embodiments, the device darkens (1030) a portion of the digital viewfinder that corresponds to the second portion of the field of view (e.g., 914 in FIG. 9J) of the one or more cameras (e.g., 903). Darkening in this manner includes dimming or lowering brightness of the portion of the digital viewfinder that corresponds to the second portion of the field of view.
[0234] In some embodiments, the device ceases to display (1032) the portion of the digital viewfinder that corresponds to the second portion of the field of view (e.g., second display portion 914) of the one or more cameras. For example, ceasing to display the portion of the viewfinder corresponding to the second portion of the field of view includes blacking out the second portion of the field of view and / or replacing the display of the second portion of the field of view with display of other content.
[0235] In some embodiments, the device enlarges (1034) display of the first portion of the field of view (e.g., inner display portion 912) of the one or more cameras on the display. In some embodiments, enlarging display of the first portion includes enlarging display of some or all of first the portion of the field of view. In some embodiments, enlarging display of the first portion of the field of view includes zooming in on the first portion of the field of view. In some embodiments, emphasizing the first portion of the field of view (e.g., 912) of the one or more cameras relative to the second portion of the field of view (e.g., 914) of the one or more cameras includes shrinking or hiding some or all of first portion. In some embodiments, the device shrinks the first portion prior to enlarging display of first portion and / or shrinks the first portion after enlarging display of the first portion (e.g., to provide a zoom in and zoom out effect).
[0236] In some embodiments, the device modifies (1036) the alignment element (e.g., 910). For example, in some embodiments, modifying the alignment element includes removing the alignment element. In some embodiments, modifying the alignment element includes changing the shape and / or color of the alignment element (e.g., from 910 to 910-2 FIGS. 9J-9K). For example, the device modifies (1038) a shape of the alignment element from a first shape to a second shape. In some embodiments, the first shape (1040) is substantially rectangular and the second shape is substantially circular. Alternatively, the first shape and / or second shape is, optionally, any other shape or portion of a shape. In some embodiments, a shape is, optionally, a segmented shape, such as a segmented rectangle (e.g., a rectangle that is missing a portion of one or more sides).
[0237] In some embodiments, after emphasizing the first portion of the field of view (e.g., 912) of the one or more cameras relative to the second portion of the field of view (e.g., 914) of the one or more cameras (e.g., 903), the device detects (1054) that the biometric feature of the respective type that meets alignment criteria (e.g., 917) is no longer detected in the field of view of the one or more cameras. In response to detecting that the biometric feature of the respective type that meets alignment criteria is no longer detected in the field of view of the one or more cameras, the device outputting an indication of an alignment error (e.g., 950). For example, for correctable errors, the device identifies the error and prompts the user to correct the error. For uncorrectable errors, the device only identifies the error. Errors are identified by text and a tactile output (e.g., 950, 924, 925). In some embodiments, errors are identified using auditory outputs, such as those provided for accessibility purposes. In some embodiments, the criteria for detecting that the biometric feature is no longer detected in the field of view of the one or more cameras is the same as the criteria for determining that the biometric feature meets the alignment criteria. In some embodiments the alignment criteria are different from the criteria for detecting that the biometric feature is no longer detected in the field of view of the one or more cameras (e.g., once the biometric feature is aligned with the one or more cameras, the biometric feature can be moved slightly out of alignment without the device exiting the biometric enrollment process and outputting an indication of an alignment error). Outputting an indication that the user's biometric feature is no longer aligned with the biometric sensor provides feedback allowing the user to quickly recognize that the position and / or orientation of his or her biometric feature has deviated from previously established alignment. This feedback prompts the user to quickly reposition his or her biometric feature to re-establish proper alignment with the biometric sensor, reducing amount of time that alignment user interfaces are displayed, reducing the number of inputs required at these alignment user interfaces, and improving the quality of biometric feature enrollment. Providing improved audio, tactile and / or visual feedback to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0238] In some embodiments, outputting an indication of an alignment error includes outputting (1056) a tactile output of a second type (e.g., 951). For example, the tactile output is an output corresponding to a loss of successful alignment. In some embodiments, tactile outputs are error-specific, and, in some embodiments, auditory output is additionally or alternatively provided.
[0239] In some embodiments, outputting the indication of the alignment error includes (1058) deemphasizing the first portion of the field of view of the one or more cameras (e.g., 912-2) relative to the second portion of the field of view of the one or more cameras (e.g., 914-2). For example, the device, optionally, lightens, unblurs, and / or reveals the second portion of the field of view relative to the first portion of the field of view of the one or more cameras. In some embodiments, the electronic device lightens and unblurs the second portion of the field of view to deemphasize the first portion relative to the second portion. In some embodiments, if the biometric feature (e.g., 917) is successfully aligned after receiving the alignment error, the device resumes the biometric enrollment process from where the enrollment process was prior to outputting the indication of the alignment error (e.g., the enrollment progress up to the point when the alignment error was detected, is preserved). In some embodiments, a progress indicator (e.g., 940) that indicated enrollment progress disappears when the indication of the alignment error is output, but is redisplayed (e.g., 940-2) when the biometric feature is properly aligned with the one or more biometric sensors. In some cases, when the progress indicator is redisplayed it includes an indication of the progress made in enrolling the biometric feature prior to outputting the indication of the alignment error. Providing a visual effect that de-emphasizes a portion of the display upon detecting an alignment error allows the user to quickly recognize that the position and / or orientation of his or her biometric feature has deviated from previously established alignment. This feedback prompts the user to quickly reposition his or her biometric feature to re-establish proper alignment with the biometric sensor, which reducing amount of time that alignment user interfaces are displayed, reduces the number of inputs required at these alignment user interfaces, and improves the quality of subsequent biometric feature enrollment (e.g., according to methods 1200 and / or 1400). Providing improved visual feedback when a set of conditions has been met without requiring further user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0240] In some embodiments, in accordance with (1062) a determination that the alignment error is an alignment error of a first type (e.g., the biometric feature is too far from or too close to the electronic device), the device outputs (1064) (e.g., displays) a prompt (e.g., 920) to move the biometric feature to correct the alignment error of the first type. For example, the device prompts the user to move closer to or move further away from the electronic device, respectively.
[0241] In some embodiments, in accordance with a determination (1062) that the alignment error is an alignment error of a second type (e.g., the biometric feature is out of the first portion of the field of view), the device outputs (1064) (e.g., displays) a prompt (e.g., 950) to move the biometric feature to correct the alignment error of the second type. For example, the device prompts the user to move the biometric feature into the first portion of the field of view. In this case, the device forgoes (1068) outputting a prompt (e.g., 926) to move the biometric feature to correct the alignment error of the first type. In some embodiments, the second portion of the field of view (e.g., 914-2) is modified (e.g., blurred) in response to determining that the alignment error is an alignment error of a second type.
[0242] For example, the alignment error of the first type is (1074) that a portion of the biometric feature (e.g., portion of 917 shown in 939, 918-2) is oriented outside of the first portion of the field of view (e.g., 912, 912-2). In this case, the device outputs (1076) a prompt (e.g., 950) to move the portion of the biometric feature into the first portion of the field of view to prompt the user to correct the alignment error of the first type. Providing a prompt with instructions on how to correct the alignment error provides feedback that allows the user to quickly recognize how to reposition his or her biometric features in order to re-establish proper alignment and proceed with the enrollment process. This in turn reduces the amount of time in which the device displays alignment interfaces and reduces the number of user inputs required at these alignment interfaces. Providing improved visual feedback when a set of conditions has been met enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0243] In another example, the alignment error of the first type is (1078) that a distance between a portion of the biometric feature (e.g., 917) and the one or more biometric sensors (e.g., 903) is within a threshold distance (e.g., the biometric feature is too close to the one or more biometric sensors). In this case, the device outputs (1080) a prompt (e.g., 920) to move the biometric feature away from the electronic device to prompt the user to correct the alignment error of the first type.
[0244] In another example, the alignment error of the first type is (1082) that a distance between a portion of the biometric feature (e.g., 917) and the one or more biometric sensors (e.g., 903) exceeds a threshold distance (e.g., the biometric feature is too far from the one or more biometric sensors). In this case, the device outputs (1084) a prompt (e.g., 920) to move the biometric feature closer to the electronic device to prompt the user to correct the alignment error of the first type.
[0245] In another example, the alignment error of the first type is that an angle of the biometric feature (e.g., 917) relative to the one or more biometric sensors (e.g., 903) is outside of a predefined range of angles (e.g., angles of elevation) relative to the one or more biometric sensors. For example, the biometric feature is, in some circumstances, too high. In another example, the one or more biometric sensors is, in some circumstances, too low. In this case, the device outputs a prompt to move the biometric feature to adjust the angle (e.g., angle of elevation) of the biometric feature relative to the one or more biometric sensors.
[0246] In some embodiments, in accordance with a determination that the error condition of the first type persists for a threshold time period (1086), the device displays (1088) an accessibility interface (e.g., 908) that enables the user to proceed with the biometric enrollment without correcting the error condition. For example, in some embodiments, the device enables a user to proceed with biometric enrollment without moving the biometric feature (e.g., 917) relative to the device such that the error condition is corrected or without tilting the biometric feature to capture images of a different side of the biometric feature. In some embodiments, the device enables a user to proceed with biometric enrollment in this manner if the biometric feature is improperly aligned for a predetermined amount of time and / or in response to a predetermined number of failed requests.
[0247] In some embodiments, after outputting the alignment error, in accordance with a determination that a biometric feature of the respective type (e.g., 917) that meets alignment criteria has been detected in the field of view of the one or more cameras (e.g., 903), the device again emphasizes (1070) the first portion of the field of view (e.g., 912-2) of the one or more cameras relative to the second portion of the field of view (e.g., 914-2) of the one or more cameras. For example, optimally the device darkens, blurs, and / or blacks out the second portion of the field of view of the one or more cameras (e.g., 914-2) without darkening, blurring, and / or blacking out the first portion of the field of view of the one or more cameras (e.g., 912-2).
[0248] In some embodiments, after outputting the alignment error, and in accordance with a determination that a biometric feature of the respective type that meets alignment criteria (e.g., 917) has been detected in the field of view of the one or more cameras (e.g., 903), the device outputs (1072) a tactile output of the first type (e.g., 936). In some embodiments, however, the device outputs a tactile output of a third type different than the first type and the second type.
[0249] In accordance with a determination that a biometric feature of the respective type (e.g., 917) that meets alignment criteria has not been detected in the field of view of the one or more cameras (e.g., a face or eye of a user has not been detected in the predetermined alignment), the device maintains (1090) display of the digital viewfinder without emphasizing the first portion of the field of view (e.g., 912, 912-2) of the one or more cameras relative to the second portion of the field (e.g., 914, 914-2) of view of the one or more cameras (e.g., 903).
[0250] In some embodiments, the device detects (1092) a change in orientation and / or position of the biometric feature (e.g., 917) relative to the one or more biometric sensors (e.g., 903). For example, the device detects, optionally, a change in position, a change in orientation, or both a change in orientation and position.
[0251] In some embodiments, in response to detecting (1094) the change in orientation and / or position of the biometric feature (e.g., 917) relative to the one or more biometric sensors (e.g., 903), and in accordance with a determination that device movement criteria have been met (e.g., the device is physically moving more than the threshold amount in a manner that prevents reliable alignment / enrollment), the device outputs (1096) a prompt (e.g., 946, 948, a visual, tactile or audible alert) to reduce movement of the electronic device. In some embodiments, the device detects reduced movement of the device and in response to detecting the reduced movement of the device the device ceases to output the prompt. In some embodiments, movement of the device is determined based on the one or more biometric sensors (e.g., 903). For example, the change in orientation and / or position of the biometric feature relative to the one or more biometric sensors is consistent with movement of the device around the biometric feature rather than movement of the biometric feature in view of the one or more biometric sensors. In some embodiments, the movement of the device is determined based on one or more orientation sensors of the device, such as an accelerometer (e.g., 168), a magnetometer, an inertial measurement unit, or the like, that are separate from the one or more biometric sensors.
[0252] In some embodiments, while the biometric feature (e.g., 917) is within a first portion of a field of view (e.g., 912) of the one or more biometric sensors (e.g., 903) and is within a threshold distance of the one or more biometric sensors, and in accordance with a determination that the biometric feature is within of a predefined range of angles (e.g., angles of elevation relative to the one or more biometric sensors), the device displays an enrollment progress indicator (e.g., 940) for enrollment of the biometric feature (e.g., as described in greater detail with reference to method 1200 and FIGS. 11A-11E). Displaying the enrollment progress indicator optionally includes first emphasizing the first portion of the field of view (e.g., 912, 912-2) of the one or more cameras relative to the second portion of the field of view (e.g., 914, 914-2) of the one or more cameras as described above. Displaying the progress indicator during enrollment in this manner encourages the user to look at the display of the electronic device during the enrollment to improve the ability to detect when gaze is directed at the display, and thus whether or not the user is paying attention to the device. Encouraging the user to look at the display of the electronic device enhances the operability of the device and makes the user-device interface more efficient (e.g., by ensuring that the gaze of the user is directed at the display and thereby ensuring that the biometric feature of the user is properly enrolled) which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0253] In some embodiments, in accordance with a determination that the biometric feature (e.g., 917) is outside of the predefined range of angles (e.g., angles of elevation relative to the one or more biometric sensors 903), the device obscures (e.g., blurs, darks, or desaturates) at least a portion of the preview of the image data (e.g., display portions 912, 912-2, 914 and / or 914-2). In some embodiments, the device delays obscuring the portion of the preview of the image data (e.g., for at least a predetermined time period such as 1 second, 2 seconds, or 5 seconds after detecting that the biometric feature is within the first portion of the field of view and within the threshold distance of the one or more biometric sensors) so that the portion of the preview of the image data is not obscured if the user is actively shifting the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 903). In some embodiments, the obscuring is delayed as long as the angle of the biometric feature is changing. In some embodiments, the obscuring is delayed until the angle of the biometric feature has been continuously outside of the predefined range of angles for at least the predetermined time period. In some embodiments, only a portion of the preview is obscured (e.g., 912 or 914, 912-2 or 914-2). In some embodiments, all of the preview is obscured (e.g., 912 and 914, 912-2 and 914-2). Obscuring the digital viewfinder when the biometric sensors are positioned too high above or too far below the user's biometric feature allows the user to quickly recognize that his or her biometric feature is out of alignment. This in turn prompts the user to change the angle of elevation between the device and his or her biometric feature until proper alignment is established. Providing improved visual feedback when a set of conditions has been met enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0254] In some embodiments, while the portion of the preview of the image data (e.g., 912 or 914) is obscured, the device detects a change in the angle of the biometric feature (e.g., 917) with respect to the one or more biometric sensors (e.g., 903). In response to detecting the change in the angle of the biometric feature with respect to the one or more biometric sensors, and in accordance with a determination that the change in angle moves the biometric feature closer to the predefined range of angles without moving the biometric feature into the predefined range of angles, the device reduces an amount of the obscuring of the portion of the preview of the image data (e.g., 912 or 914, 912-2 or 914-2) while continuing to obscure the portion of the preview of the image data. In some embodiments, the amount by which the obscuring of the portion of the preview of the image data is reduced depends on an amount of the change in the angle of the biometric feature with respect to the one or more biometric sensors (e.g., the more the biometric feature moves toward the one or more biometric sensors, the greater the reduction in the amount of obscuring). In accordance with a determination that the change in angle moves the biometric feature into the predefined range of angles, the device ceases to obscure the portion of the preview of the image data. In some embodiments, when the change in angle of the biometric feature moves the biometric feature into the predefined range of angles, the device generates a tactile and / or audio output to inform the user that the angle of the biometric feature is within the predefined range of angles (e.g., 934, 936). Reducing obscuration of the digital viewfinder as the user's biometric feature moves closer to the pre-defined angle range allows the user to quickly recognize a set of positions that correspond to successful alignment of the biometric feature. This in turn prompts the user to change the angle of elevation between the device and his or her biometric feature until proper alignment is established. Providing improved visual feedback when a set of conditions has been met enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0255] In some embodiments, in response to detecting the change in angle of the biometric feature (e.g., 917) with respect to the one or more biometric sensors (e.g., 903), and in accordance with a determination that the change in angle moves the biometric feature further away from the predefined range of angles, the device increases an amount of the obscuring of the portion of the preview of the image data (e.g., 912 or 914, 912-2 or 914-2). In some embodiments, the amount by which the obscuring of the portion of the preview of the image data is increased depends on an amount of the change in the angle of the biometric feature with respect to the one or more biometric sensors (e.g., the more the biometric feature moves away the one or more biometric sensors, the greater the increase in the amount of obscuring).
[0256] In some embodiments, obscuring includes blurring the preview of the image data, and reducing the amount of the obscuring of the portion of the preview of the image data includes reducing an amount of blurring of the preview of the image data (e.g., by reducing a blur radius or other blur parameter). In some embodiments, increasing the amount of the obscuring of the portion of the preview of the image data includes increasing a blur radius or other blur parameter.
[0257] Note that details of the processes described above with respect to method 1000 (e.g., FIGS. 10A-10F) are also applicable in an analogous manner to the methods described below. For example, method 1000 optionally includes one or more of the characteristics of the various methods described below with reference to methods 800, 1200, 1400, 1600, 1800, 2000, 2200, 2400, and 2700. For example, the enrollment process as described in method 1200 can be applied with respect to the face enrollment interface (e.g., 954). For another example, hints as described in method 1400 can be applied with respect to the enrollment progress meter (e.g., 940). For another example, accessibility features, as described in method 1400, can be applied, in lieu of, or in combination with, the accessibility options (e.g., 928-2). For brevity, these details are not repeated below.
[0258] The operations in the information processing methods described above are, optionally, implemented by running one or more functional modules in an information processing apparatus such as general purpose processors (e.g., as described with respect to FIGS. 1A, 3, and 5A) or application specific chips. Further, the operations described above with reference to FIGS. 9A-9I are, optionally, implemented by components depicted in FIGS. 1A-1B. For example, displaying operation 1002, detecting operation 1004, displaying operation 1006, emphasizing operation 1028, and maintaining operation 1090 are, optionally, implemented by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects a contact on touch-sensitive surface 604, and event dispatcher module 174 delivers the event information to application 136-1. A respective event recognizer 180 of application 136-1 compares the event information to respective event definitions 186, and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as selection of an object on a user interface. When a respective predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or calls data updater 176 or object updater 177 to update the application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what is displayed by the application. Similarly, it would be clear to a person having ordinary skill in the art how other processes can be implemented based on the components depicted in FIGS. 1A-1B.
[0259] Attention is now directed to FIGS. 11A-11L, which illustrate exemplary user interfaces for registering a biometric feature on an electronic device (e.g., device 100, device 300, device 500, device 700 or device 900), in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIG. 12.
[0260] FIG. 11A illustrates an electronic device 1100 (e.g., portable multifunction device 100, device 300, device 500, device 700, or device 900). In the non-limiting exemplary embodiment illustrated in FIGS. 11A-11L, electronic device 1100 is a smartphone. In other embodiments, electronic device 1100 can be a different type of electronic device, such as a wearable device (e.g., a smartwatch). Electronic device 1100 has a display 1102, one or more input devices (e.g., touchscreen of display 1102, a button, a microphone), and a wireless communication radio. In some examples, the electronic device includes a plurality of cameras. In some examples, the electronic device includes only one camera. In some examples, the electronic device includes one or more biometric sensors (e.g., biometric sensor 1103) which, optionally, include a camera, such as an infrared camera, a thermographic camera, or a combination thereof. In some examples, the one or more biometric sensors 1103 are the one or more biometric sensors 703. In some examples, the device further includes a light-emitting device (e.g., light projector), such as an IR flood light, a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the biometric feature (e.g., the face) during capture of biometric data of biometric features by the one or more biometric sensors.
[0261] As illustrated in FIG. 11A, device 1100 displays a face enrollment user interface 1104 on display 1102. In some embodiments, face enrollment user interface 1104 is displayed after device 1100 detects successful alignment of the user's face relative its one or more cameras, as described above in connection with FIGS. 9A-9AE Face enrollment interface 1104 includes user facial image 1106. In some embodiments, user facial image 1106 is an image of the user captured by one or more cameras on device 1100. For example, user facial image 1106 optionally is live preview of the image data captured by the one or more cameras (e.g., a digital viewfinder) that updates continuously as the field of view of the camera and / or the field of view's contents change. In some embodiments, background content is removed such that only the user's face is visible in facial image 1106. Face enrollment interface also optionally includes orientation guide 1108 that is superimposed (e.g., overlaid) on user facial image 1106. As described above in connection with FIGS. 7I-7K, orientation guide 1108 is, optionally, a set of curved lines that extend into a virtual z-dimension (e.g., along an axis normal to the plane of the display) and intersect over the center of user facial image 100. Thus, the curved lines of orientation guide 1108 appear to bulge outwards relative to the plane of display 1102 to give a sense of the position of the user's head in three-dimensional space.
[0262] Face enrollment user interface 1104 also includes enrollment progress meter 1110. Enrollment progress meter 1110 includes a set of display elements (e.g., progress elements 1110a, 1110b, and 1110c) that are arranged around user facial image 1106 and orientation guide 1108. In the example of FIG. 11A, the progress elements are a set of lines that extend radially outward from user facial image 1106 arranged in a circular pattern. In some embodiments, progress elements 1110a, 1110b, 1110c, etc. indicate an orientation of the user's face needed to enroll corresponding facial features. For example, progress elements in the upper portion of enrollment meter 1110 optionally move, fill in, elongate, and / or change color when the user's head is tilted upwards, which allows the one or more cameras on device 1100 to capture image data of the under-side of the user's face. This process is described in more detail below. In the example of FIG. 9A, device 1110 displays progress elements in enrollment progress meter 1110 in an unenrolled state (e.g., the progress elements are greyed out).
[0263] Face enrollment interface 1104 also includes a text prompt 1112, which instructs the user to move (e.g., rotate and / or tilt) their head in a circular motion during the enrollment process. In some embodiments, text prompt 1112 is optionally accompanied by tactile and / or auditory prompt depending on device settings and / or user selections. In some embodiments, device 1112 displays text prompt 1112 on enrollment interface 1104 through the facial enrollment process.
[0264] As illustrated in FIG. 11B, device 1100 detects movement of the user's face relative to its one or more cameras. The movement of the user's face is, optionally, a rotating and / or tilting motion relative to the device 1100. In response, device 1100 continually updates (e.g., displays movement of) user facial image 1106 to reflect the change in orientation of the user's face. In some embodiments, orientation guide 1108 tracks the movement (e.g., moves along with) user facial image 1106 to provide visually emphasize tilting and rotational movements of the user's face in three-dimensions. For example, the center (e.g., intersection) of orientation guide 1108 is, optionally, positioned at a central point on user facial image 1106 and move along with it. In some examples, device 1100 also adjusts the curvature of the lines comprising orientation guide 1108 to give the appearance of three-dimensional rotation (e.g., with respect to an axis normal to display 1100). In some embodiments, device 1100 emphasizes orientation guide 1108 while it is in motion (e.g., while the orientation of the user's face is changing). For example, device 1100 optionally darkens orientation guide 1108 while it is in motion and / or display a fading trail as it tracks movement of the user's face. In this case, device 1100 optionally reduces this emphasis on orientation guide 1108 relative to user facial image 1106 when the user's face is not moving.
[0265] As shown in FIG. 11B, in response to detecting that the user's face is oriented towards progress meter portion 1114 (e.g., in accordance with a determination that the image data captured by biometric sensor 1103 includes an angular view of the user's face), device 1110 updates the display of the progress elements in meter portion 1114 to an "enrolling" state by changing the appearance of the progress elements in meter portion 1114. For example, device 1100 optionally enlarges and / or changes the color of progress elements in meter portion 1114 while user's face is oriented towards meter portion 1114. In some examples, device 1100 elongates the progress ticks and changes their color from grey to blue when updating progress elements to the "enrolling" state. Changing the display of progress elements to the "enrolling" state in this manner indicates that device 1100 is capturing (e.g., enrolling) facial imaging data for the angular view corresponding to the current orientation of the user's face. In the example of FIG. 11B, device 1100 maintains progress elements in meter portion 1116 in an unenrolled state to indicate that the user has not yet oriented their face towards meter portion 1116. In some embodiments, the display of meter portion 1114 is updated in this manner only if the user's face is sufficiently rotated towards meter portion 1114 (e.g., if the user's face is rotated by at least a threshold amount or angle).
[0266] In some embodiments, the enrollment progress meter is comprised of a set of progress meter portions such as meter portions 1114 and 1116. In some embodiments, each progress meter portion contains a predetermined number of progress elements associated with each portion (e.g., 3, 5, or 8 progress elements).
[0267] In some examples, as illustrated in FIG. 11C, device 1110 detects a small rotation and / or tilt of the user's face and updates the digital viewfinder containing user facial graphic 1106. For example, the user's face has begun to tilt downwards and rotate to the right. In the example of FIG. 11C, however, the user's face is still oriented towards progress meter portion 1114. As a result, device 1100 continues to display progress elements of meter portion 1114 in an enrolling state, even though the user begins to rotate and / or tilt their head downwards and to the right. In this case, device 1100 also maintains the display of progress elements proximate to meter portion 1114, since the user's head has not been rotated sufficiently to trigger enrollment of the corresponding orientations.
[0268] As illustrated in FIG. 11D, device 1110 detects that the user's face has been rotated and / or tilted towards meter portion 1118. In the example of FIG. 11D, the user's face continues the movement illustrated in FIG. 11C, tilting downwards and rotating to the right through its initial position in FIG. 11A, (e.g., the user's face moves so as not to become oriented towards other portions of enrollment meter 1110). In response to detecting the change in facial orientation, device 1100 moves orientation guide 1108, tracking the movement of user facial image 1106 in the digital viewfinder. In accordance with a determination that the user's face has become oriented towards meter portion 1118 (e.g., image data captured by biometric sensor 1103 includes a second angular view of the user's face), device 1100 updates progress elements in meter portion 1118 to the "enrolling" state described above. For example, device 1100 elongates the progress ticks within meter portion 1118 and changes their color. In some embodiments, device 1100 updates the display of meter portion 1118 only if the corresponding portion of the user's face has not been enrolled previously (e.g., if the progress elements in meter portion 1118 are in the "unenrolled," greyed out state). In some embodiments, device 1100 updates the display of meter portion 1118 regardless of whether the corresponding portion of the user's face has been previously enrolled (e.g., to provide further indication of the orientation of the user's face relative to biometric sensor 1103).
[0269] In the example of FIG. 11D, device 1100 also detects that the user's face is no longer oriented towards progress meter portion 1114 (since the user's face is currently oriented towards meter portion 1118). In response, device 1100 changes the appearance of progress elements in meter portion 1114 a second time to an "enrolled" state. In the example of FIG. 11D, device 1100 updates the display of progress ticks in portion 1114 from the elongated "enrolling" state by shortening the progress ticks and changing their color a second time. For example, progress elements in the "enrolled" state are the same length and / or size of progress elements in the "unenrolled" state, but are displayed in green to indicate that the corresponding portion of the user's face (e.g., the angular view captured in FIG. 11B) has been successfully enrolled as described above in connection with FIG. 11B.
[0270] In the example of FIG. 11D, device 1100 maintains progress elements in meter portion 1116 in an unenrolled state to indicate that the user has not yet oriented their face towards meter portion 1116.
[0271] FIGS. 11E through 11H illustrate face enrollment interface 1104 as the user rotates and / or tilts their face in a counter-clockwise motion through a series of orientations associated with the right-hand side of enrollment progress meter 1110. Beginning from progress meter portion 1118, device 1100 sequentially changes progress elements in the path of rotation to the "enrolling" state described above based on the user's facial orientation (e.g., in response to detecting that the user's face is oriented towards a corresponding portion of progress meter 1110). Once the user's face has rotated past these progress elements (e.g., in response to detecting that the user's face is no longer oriented towards corresponding portions of progress meter 1110), device 1100 updates the progress elements to the "enrolled" state to indicate successful enrollment of corresponding portions of the user's face. This process is described in more detail below. In some embodiments, visual characteristics of progress elements in the "enrolling" state is based on the rate at which the user's facial orientation changes. For example, device 1100 modifies the color of progress elements in the "enrolling" state in a first manner if the user's face is rotating a first speed, and modifies the color of these progress elements in a second manner if the user's face is rotating more slowly and / or more quickly.
[0272] As shown in FIG. 11E, device 1100 detects that the user's face has rotated in a counter-clockwise fashion relative to biometric sensor 1103 (e.g., the user's face rotates up and / or tilts to the left relative to its position in FIG. 11D). As described above, device 1100 continuously updates user facial image 1106 to reflect the change in orientation and moves orientation guide 1108 to track the movement of user facial image 1106 in the digital viewfinder. As the user's face is rotated upwards, device 1100 updates the display of one or more progress elements in meter portion 1116 (e.g., 1116a) to the "enrolling state" (e.g., by elongating and / or changing the color of the one or more progress elements as described above). As shown by the position of user facial image 1106 in FIG. 11E, the rotation moves the user's face past (e.g., out of) the orientation corresponding to one or more progress elements in meter portion 1118 (e.g., 1118a). In response to detecting the user's face is no longer in this orientation, device 1100 updates the display of the one or more progress elements (including 1118a) to the "enrolled" state described above to indicate successful enrollment of these portions. In the example of FIG. 11E, device 1100 maintains one or more elements of progress meter portion 1118 (e.g., 1118b) in the "enrolling" state, since the user's face has not yet rotated out of the corresponding orientation. Likewise, device 1100 also continues to display one or more progress elements in meter portion 1116 (e.g., 1116b) in the initial "unenrolled" state, since the user's face has not yet been positioned in a corresponding orientation.
[0273] FIG. 11F illustrates face enrollment interface 1104 as counter-clockwise rotation of the user's face continues relative to its position in FIG. 11E. Again, device 1100 continuously updates user facial image 1106 to reflect the change in orientation and moves orientation guide 1108 to track the movement of user facial image 1106 in the digital viewfinder. As shown by the position of user facial image 1106 in FIG. 11F, the rotation moves the user's face into an orientation corresponding to progress meter portion 1116. In response to detecting the user's face in this orientation, device 1110 changes the display of one or more progress elements in meter portion 1116 (e.g., 1116b) from the "unenrolled" state to the "enrolling" state (e.g., by elongating and / or changing the color of the one or more progress elements as described above). As shown by position of user facial image 1106 in FIG. 11F, the rotation also moves the user's face past (e.g., out of) the orientation corresponding to the remaining elements of progress meter portion 1118 (e.g., 1118b). In response to detecting the user's face is no longer in this orientation, device 1100 updates the display of these progress elements (including 1118b) to the "enrolled" state described above, indicating successful enrollment of an angular view of the user's face corresponding to meter portion 1118b. In the example of FIG. 11F, device 1100 also continues to display progress elements in meter portion 1120 in the initial "unenrolled" state described above, since the user's face has not yet been positioned in a corresponding orientation.
[0274] FIG. 11G illustrates face enrollment interface 1104 as counter-clockwise rotation of the user's face continues relative to its position in FIG. 11F. Again, device 1100 continuously updates user facial image 1106 to reflect the change in orientation and moves orientation guide 1108 to track the movement of user facial image 1106 in the digital viewfinder. As shown by the position of user facial image 1106 in FIG. 11G, the rotation moves the user's face into an orientation corresponding to progress meter portion 1120. In response to detecting the user's face in this orientation, device 1110 changes the display of progress elements in meter portion 1120 from the "unenrolled" state to the "enrolling" state (e.g., by elongating and / or changing the color of the one or more progress elements as described above). As shown by position of user facial image 1106 in FIG. 11G, the rotation also moves the user's face past (e.g., out of) the orientation corresponding to progress meter portion 1116. In response to detecting the user's face is no longer in this orientation, device 1100 updates the display of progress elements in meter portion 1116 to the "enrolled" state, indicating successful enrollment of an angular view of the user's face corresponding to meter portion 1116. In the example of FIG. 11G, device 1100 continues to display progress elements in meter portion 1122 in the initial "unenrolled" state, since the user's face has not yet been positioned in a corresponding orientation.
[0275] FIG. 11H illustrates face enrollment interface 1104 as counter-clockwise rotation of the user's face continues relative to its position in FIG. 11G. Again, device 1100 continuously updates user facial image 1106 to reflect the change in orientation and moves orientation guide 1108 to track the movement of user facial image 1106 in the digital viewfinder. As shown by the position of user facial image 1106 in FIG. 11H, the rotation moves the user's face into an orientation corresponding to progress meter portion 1122. In response to detecting the user's face in this orientation, device 1110 changes the display of progress elements in meter portion 1122 from the "unenrolled" state to the "enrolling" state (e.g., by elongating and / or changing the color of the one or more progress elements as described above). In some embodiments, this orientation causes device 1100 to change the display of one or more progress elements in meter portion 1114 from the "enrolled" state shown in FIGS. 11D through 11G to back the "enrolling" state based on the orientation of the user's face, even though the corresponding facial features have already been enrolled (e.g., to provide further indication of the orientation of the user's face relative to biometric sensor 1703). In this case, device 1100 reverts these elements of progress meter portion 1114 back to the "enrolled" state in response to detecting that the user's face is no longer oriented in that direction. As shown by position of user facial image 1106 in FIG. 11H, the rotation also moves the user's face past (e.g., out of) the orientation corresponding to progress meter portion 1120. In response to detecting the user's face is no longer in this orientation, device 1100 updates the display of progress elements in meter portion 1120 to the "enrolled" state, indicating successful enrollment of an angular view of the user's face corresponding to meter portion 1120. In the example of FIG. 11G, device 1100 continues to display the remaining progress elements of enrollment meter 1110 (e.g., progress elements not in meter portions 1114, 1116, 1118, 1120, or 1122) in the initial "unenrolled" state, since the user's face has not yet been positioned in a corresponding orientation.
[0276] Enrollment and / or scanning of the user's facial features proceeds in this manner until all elements of enrollment progress meter 1110 have been transitioned to the enrolled state (e.g., until image data of all corresponding angular views of the user's face have been captured by biometric sensor 1103). For example, enrollment proceeds until the user's face returns to the orientation corresponding to meter portion 1118 by way of counter-clockwise rotation.
[0277] Displaying and updating the progress indicator during enrollment in this manner encourages the user to look at the display of device 1100 during the enrollment to improve the ability to detect when gaze is directed at the display, and thus whether or not the user is paying attention to the device. Encouraging the user to look at the display of device 1100 enhances the operability of the device and makes the user-device interface more efficient (e.g., by ensuring that the gaze of the user is directed at the display and thereby ensuring that the biometric feature of the user is properly enrolled) which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0278] It should be appreciated that the examples of FIGS. 11D through 11H are merely illustrative. In particular, the enrollment of the user's facial features can begin at any portion of progress meter 1110 (e.g., meter portion 1114). Similarly, angular views of the user's face corresponding to each meter portion or progress element can be enrolled in any order (e.g., through clockwise rotation).
[0279] FIG. 11I illustrates face enrollment interface 1104 after image data of all corresponding angular views of the user's face have been captured by biometric sensor 1103. In the example of FIG. 11I, device 1100 has transitioned the display of all progress elements in enrollment meter 1110 to the "enrolled" state (e.g., during the enrollment process described above in connection with FIGS. 11B - 11H). For example, device 1100 changes the color of progress element to green to indicate successful enrollment. In the example of FIG. 11I, device 1100 displays text prompt 1124 indicating that a first scan of the user's facial features is complete. In some embodiments, device 1110 issues audio and / or tactile notification 1126 to provide an additional indication that the first scan is complete. In some embodiments, the audio and / or tactile output that indicates successful enrollment of the user's facial features is the same as an audio and / or tactile output that is used to indicate successful face authentication at device 1100. In the example of FIG. 11I, device 1100 continues to display user facial image 1106. In some embodiments, user facial image 1106 is still part of a live preview of the digital viewfinder. In other embodiments, device 1100 displays a single (e.g., still) user image captured during the enrollment process. In the example of FIG. 11I, device 1100 ceases to display orientation guide 1108 once the scan is complete.
[0280] As illustrated in FIGS. 11J-11K, in some embodiments, device 1100 displays an animation that transitions the display of enrollment progress meter 1110 to success-state meter 1128 shown in FIG. 11K. For example, device 1100 reduces the length of each progress tick mark as illustrated in FIG. 11J and merges the display of the previously discrete progress elements into a continuous circle. In the example of FIG. 11K, after displaying the animation, device 1100 displays scan completion interface 1130. Scan completion interface 1130 includes user facial image 1132 and success-state meter 1128. In the example of FIG. 11K, user facial image 1132 is blurred, faded, darkened or otherwise obscured to indicate that additional image data is no longer being collected as part of the facial scan. In some embodiments, success-state meter 1128 is a solid, continuous green circle surrounding user facial image 1132 that provides a visual indication that the first scan is complete. To provide a further visual notification, scan completion interface 1130 also includes text prompt 1134 (e.g., a completion message). Scan completion interface 1130 also includes continue affordance 1136. In some examples, while displaying enrollment completion interface 1130, device 1100 detects activation (e.g., selection) of continue affordance 1136 (e.g., by way of user input 1137). In some examples where display is touch-sensitive, user input 1337 is a tap, swipe or other gesture on the display surface substantially on continue affordance 1136. In other examples, activation of continue affordance 1136 is a keyboard input or activation of the affordance with a focus selector (e.g., a mouse cursor).
[0281] In some embodiments, after completion of the enrollment process described above with respect to FIGS. 11B-11G, a second iteration of facial enrollment is performed. As shown in FIG. 11L, in response to detecting activation of continue affordance 1136, device 1100 displays second face enrollment interface 1138. In the example of FIG. 11L, second face enrollment indicator includes second user facial image 1140 and second enrollment progress meter 1142. In some embodiments, second user facial image 1140 is a representation of the field of view of biometric sensor 1103 that has a similar visual treatment to user facial image 1106 (e.g., second user facial image 1140 is a live preview of image data captured by biometric sensor 1103 displayed as a digital viewfinder). In some embodiments, device 1100 displays a second orientation guide 1144 superimposed (e.g., overlaid on) second user facial image 1140. In the example of FIG. 11L, second orientation guide 1144 has a similar visual treatment to orientation guide 1108 (e.g., second orientation guide 1144 includes a number of curved lines that appear to extend out of the plane of display 1102 into a virtual z dimension). In some embodiments, second enrollment progress meter 1142 is comprised of a set of progress elements (e.g., 1142a, 1142b, 1142c) that are spaced around second user facial image 1140. In some examples, portions of second enrollment progress meter 1142 (e.g., meter portions 1146 and 1148) optionally correspond to particular orientations or portions of the user's face with respect to biometric sensor 1103. In some embodiments, some or all of the meter portions optionally include a greater number of progress elements than the respective portions of enrollment progress meter 1110. By way of example, each portion of second progress meter 1142 corresponds to the same facial orientation or angular view of the user's face as the corresponding portions of progress meter 1140 (e.g., meter portion 1146 corresponds to the same facial orientation as meter portion 1114 in FIGS. 11B-11H). In some embodiments, upon display of second enrollment interface 1138, device 1100 sets the visual state of progress elements in enrollment progress meter 1142 to the "unenrolled" state described above (e.g., enrollment progress from the first enrollment scan is reset). In the example of FIG. 11L, second face enrollment interface also includes text prompt 1150, which instructs the user to move (e.g., rotate and / or tilt) their head in a circular motion during the second enrollment process.
[0282] In some embodiments, as the second iteration of facial enrollment is performed, device 1110 updates the display of second user facial image 1140, second progress meter 1142, and orientation guide 1144 in response to changes in the orientation of the user's face with respect to biometric sensor 1103. For example, the user repeats the same (or similar) motion of his or her face that were performed in the first iteration of enrollment, and device 1100 updates the display of these elements of second user interface 1138 in the manner (or similar manner) described above with respect to FIGS. 11B-11H.
[0283] FIG. 11M illustrates second face enrollment interface 1128 after the second iteration of enrollment is complete (e.g., after image data of several angular views of the user's face have been captured by biometric sensor 1103). In the example of FIG. 11M, device 1100 has transitioned the display of all progress elements in second enrollment meter 1142 to the "enrolled" state described above. For example, the color of each progress element has been changed to green to indicate successful enrollment. In the example of FIG. 11M, device 1100 displays text prompt 1152 indicating that the second scan of the user's facial features is complete. In some embodiments, device 1110 issues audio and / or tactile notification 1154 to provide an additional indication that the second scan is complete. In some embodiments, audio and / or tactile notification 1154 is the same as tactile notification 1126 that is issued to indicate completion of the first scan. In some embodiments, the audio and / or tactile output that indicates a successful second scan of the user's facial features is the same as an audio and / or tactile output that is used to indicate successful face authentication at the device. In the example of FIG. 11M, device 1100 continues to display second user facial image 1140. In some embodiments, second user facial image 1140 is part of a live preview of the digital viewfinder. In other embodiments, device 1100 displays a single (e.g., still) user image captured during the enrollment process. In the example of FIG. 11M, device 1100 ceases to display second orientation guide 1144 once the scan is complete.
[0284] In the example of FIG. 11N, after issuing the notification indicating completion of the second scan, device 1100 displays second scan completion interface 1156. Second scan completion interface 1156 includes user facial image 1158 and second success-state meter 1160. In the example of FIG. 11N, user facial image 1158 is blurred, faded, darkened or otherwise obscured to indicate that additional image data is no longer being collected as part of the second facial scan. In some embodiments, second success-state meter 1160 is a solid, continuous green circle surrounding user facial image 1158 that provides a visual indication that the first scan is complete (e.g., similar to success-state meter 1128). To provide a further visual notification, second scan completion interface 1156 also includes text prompt 1162 (e.g., a second scan completion message). Second scan completion interface 1156 also includes continue affordance 1164. In some examples, while displaying second scan completion interface 1156, device 1100 detects activation (e.g., selection) of continue affordance 1164 (e.g., by way of user input 1165). In some examples where display 1102 is touch-sensitive, the activation is a tap, swipe or other gesture on the display surface substantially on continue affordance 1164. In other examples, activation of continue affordance 1164 is a keyboard input or activation of the affordance with a focus selector (e.g., a mouse cursor). In the example of FIG. 11N, user facial image 1158 is blurred, faded, darkened or otherwise obscured to indicate that additional image data is no longer being collected during the second facial scan.
[0285] In the example of FIG. 11O, in response to detecting activation of continuation affordance 1164, device 1100 displays enrollment completion interface 1166. As shown in FIG. 11O, enrollment completion interface 1166 includes biometric authentication glyph 1168. For example, biometric authentication glyph is, optionally, a line drawing of all or part of a face (e.g., a stylized face graphic). In the example of FIG. 11O, enrollment completion interface 1166 also includes text prompt 1170 indicating that the enrollment process is complete and face authentication at the device is set-up and / or enabled. In some examples, enrollment completion interface 1166 also includes completion affordance 1172, activation of which causes device 1100 to exit face authentication set-up. In some examples, enrollment completion interface 1166 does not include facial image 1158.
[0286] FIG. 12A-12B is a flow diagram illustrating a method for registering a biometric feature of the user on an electronic device in accordance with some embodiments. Method 1200 is performed at a device (e.g., 100, 300, 500, 1100) with a display, one or more input devices (e.g., a touchscreen, a mic, a camera), and a wireless communication radio (e.g., a Bluetooth connection, WiFi connection, a mobile broadband connection such as a 4G LTE connection). In some embodiments, the display is a touch-sensitive display. In some embodiments, the display is not a touch sensitive display. In some embodiments, the electronic device includes a plurality of cameras. In some embodiments, the electronic device includes only one camera. In some examples, the device includes one or more biometric sensors which, optionally, include a camera, such as a infrared camera, a thermographic camera, or a combination thereof. In some examples, the device further includes a light-emitting device, such as an IR flood light a structured light projector, or a combination thereof. The light-emitting device is, optionally, used to illuminate the biometric feature (e.g., the face) during capture of biometric data of the biometric features by the one or more biometric sensors. Some operations in method 2000 are, optionally, combined, the orders of some operations are, optionally, changed, and some operations are, optionally, omitted.
[0287] As described below, method 1200 provides an intuitive way to register a biometric feature of the user on an electronic device. The method reduces the cognitive burden on a user for enrolling a biometric feature on the device, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to enroll a biometric feature faster and more efficiently conserves power and increases the time between battery charges
[0288] The device displays (1202), on the display, a biometric enrollment interface (e.g., 1104). Displaying the biometric enrollment interface includes displaying (1204) a representation of a biometric feature (e.g., 1106). For example, the representation of the biometric feature is, optionally, a representation of a face, fingerprint, iris, handprint, or other physical biometric feature that can be used to distinguish one person from another person in a field of view of one or more cameras of the device (e.g., a representation of the head of a user of the device). The representation of the biometric feature has an orientation determined based on an alignment of the biometric feature to one or more biometric sensors of the device (e.g., 1103, based on camera data that includes the user's head positioned in the field of view of one or more of the cameras).
[0289] In some embodiments, the device displays (1206) a digital viewfinder (e.g., live preview of image data containing 1106) including a representation of a field of view of the one or more cameras (e.g., 1103). For example, in some embodiments, the device displays a live preview of image data captured by the one or more cameras. In some embodiments, the representation of the field of view of the one or more cameras has background content removed. The background optionally is determined based on depth information captured by the one or more cameras (e.g., removing the background content optionally includes removing any background or simply vignetting). In some embodiments, the device does not perform any background removal.
[0290] Displaying the biometric enrollment interface also includes concurrently displaying (1208) a progress indicator (e.g., 1110) including a first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122, a first set of objects (e.g., 1110a, 1110b, and 1110c, or 1116a and 1116b, or 1118a and 1118b) spaced around the representation of the biometric feature such as a first set of tick marks) at a first position on the display relative to the representation of the biometric feature (e.g., 1106) and a second progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122 a second set of objects (e.g., 1110a, 1110b, and 1110c, or 1116a and 1116b, or 1118a and 1118b)spaced around the representation of the biometric feature such as a second set of tick marks) at a second position on the display relative to the representation of the biometric feature (e.g., 1106). The representation of the biometric feature (e.g., 1106) is displayed between the first position and the second position on the display. Displaying the progress indicator during enrollment in this manner encourages the user to look at the display of the electronic device during the enrollment to improve the ability to detect when gaze is directed at the display, and thus whether or not the user is paying attention to the device. Encouraging the user to look at the display of the electronic device enhances the operability of the device and makes the user-device interface more efficient (e.g., by ensuring that the gaze of the user is directed at the display and thereby ensuring that the biometric feature of the user is properly enrolled) which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0291] In some embodiments, the progress indicator includes (1210) a plurality of progress-indicator portions (e.g., 1114, 1116, 1118, 1120, 1122, each progress indicator portion includes one or more progress elements (e.g., 1110a, 1110b, 1110c, 1116a, 1116b, 1118a, 1118b)). In some examples, the plurality of progress-indicator portions include the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) and the second progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122), and the plurality of progress-indicator portions surrounds at least a portion of the representation of the biometric feature (e.g., 1106). In some embodiments, one or more of the plurality of progress indicator portions includes (1212) a plurality of respective progress elements (e.g.,1110a, 1110b, 1110c, 1118a, 1118b). In some embodiments, the progress indicator optionally includes a set of one or more display elements (e.g.,1110a, 1110b, 1110c, 1116a, 1116b, 1118a, 1118b) arranged around the representation of the biometric feature (e.g., 1106). For example, these display elements optionally is a circle of radially extending lines indicating progress of enrollment lines ("ticks") around the user's face. The lines optionally indicate the direction in which respective changes of orientation of the biometric feature are sufficient for enrollment the biometric feature (e.g., point upward to get upper lines to move, even though bottom of biometric feature is being scanned). In some embodiments, a first set of lines correspond to the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) and a second set of lines correspond to the second progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122). For example, a predetermined number of ticks (e.g., 8) are associated with each portion of the progress indicator.
[0292] In some embodiments, the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) indicates (1214) the enrollment status of a first portion of the biometric feature that is detected by (e.g., visible to) the one or more biometric sensors (e.g., 1103) when the biometric feature (e.g., the user's face) is turned toward the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122). For example, the upper right portion of the progress indicator (e.g., 1120) changes in appearance when the user's face turns toward the upper right portion of the device to enroll the lower left portion of the user's face. Likewise, in some embodiments, the second progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) indicates the enrollment status of a second portion of the biometric feature, different from the first portion of the biometric feature, that is detected by (e.g., visible to) the one or more biometric sensors (e.g., 1103) when the biometric feature (e.g., the user's face) is turned toward the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122). For example, the lower right portion of the progress indicator (e.g., 1118) changes in appearance when the user's face turns toward the lower left portion of the device to enroll the upper right portion of the user's face.
[0293] In some embodiments, displaying (1202) the biometric enrollment interface (e.g., 1104) further includes displaying a prompt (e.g., 1112) to move the biometric feature. In some embodiments, the displayed prompt optionally is accompanied by a tactile and / or auditory prompt . In some embodiments, the types of responses are provided are based on settings of the electronic device and / or manually controlled by a user. Providing a prompt with instructions on how to properly move the biometric feature provides feedback to the user that allows them to quickly recognize and execute the required movements, reducing the amount of time required to complete the enrollment process. Providing improved visual prompting regarding proper inputs required for biometric enrollment therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0294] In some embodiments, the device displays a prompt (e.g., 1108) indicating a direction of movement. In some embodiments, the prompt is an orientation guide (e.g., 1108) overlaid on biometric enrollment interface (e.g., 1104). In some embodiments, the prompt is overlaid on the representation of the biometric feature (e.g., 1106). In some embodiments, the device overlays a three-dimensional object (e.g., 1108) on the representation of the biometric feature (e.g., 1106). For example, the three-dimensional object optionally is an arc that extends into a virtual z-dimension and moves as the user's head is rotated. In some embodiments, the three-dimensional object (e.g., 1108) includes a plurality of arcs that extend into a virtual z-dimension (e.g., two arcs that cross each other at a point in front of the user's face). In some embodiments, the three-dimensional object (e.g., 1108) is emphasized when the user is moving (e.g., the three-dimensional object darkens or displays a fading trail as it moves with the movement of the biometric feature), which emphasizes the three-dimensional object when it is in motion and reduces the emphasis on the three-dimensional object relative to the representation of the biometric feature when the biometric feature is not in motion.
[0295] While concurrently displaying the representation of the biometric feature (e.g., 1106) and the progress indicator (e.g., 1110), the device detects (1216) a change in the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 1103).
[0296] In some embodiments, in response to detecting the change in the orientation of the biometric feature relative to the one or more biometric sensors (1218), the device rotates the prompt (e.g., 1108) in accordance with the change in the orientation of the biometric feature to the one or more biometric sensors (e.g., 1103). In some embodiments, rotating the prompt includes rotating the three-dimensional object (e.g., 1108) at least partially into a virtual z-dimension of the display. Rotating the orientation guide overlaid on the representation of the biometric feature provides the user with feedback about the orientation of his or her biometric features relative to the biometric sensors of the device in three-dimensional space, enabling the user to place his or her biometric features more quickly move the biometric feature through the required range of orientations during the enrollment process. Providing improved visual feedback regarding the orientation of the biometric feature to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0297] In some embodiments, in response to detecting the change in the orientation of the biometric feature to the one or more biometric sensors, the device updates (1220) the representation of the biometric feature (e.g., 1106) in accordance with the change in the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 1103) . For example, in some embodiments, the orientation of the representation of the biometric feature (e.g., 1106) is changed without regard to whether enrollment criteria are met. In some embodiments, the orientation of the representation of the biometric feature (e.g., 1106) is only changed if the enrollment criteria are met. Updating the orientation of the displayed representation of the biometric feature provides the user with feedback about the orientation of his or her biometric features relative to the biometric sensors of the device, enabling the user to more quickly move the biometric feature through the required range of orientations during the enrollment process. Providing improved visual feedback regarding the orientation of the biometric feature to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0298] In accordance with a determination that the change in the orientation of the biometric feature meets enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion (e.g., 1114, 1116, 1118), the device updates (1222) one or more visual characteristics of the first progress-indicator portion. For example, the determining the change in the orientation of the biometric feature that meets enrollment criteria optionally is based on determining that the image data includes data corresponding to a first angular view of the face of the user from a first perspective angle (e.g., a bottom perspective of the face, such as when the user's face is tilted up). Updating the visual state of a portion of the progress meter corresponding to the current orientation of the biometric feature allows the user to recognize that a portion of the biometric feature is properly oriented for enrollment. This in turn indicates to the user how to change the orientation of the biometric feature to enroll other portions that correspond to other respective parts of the progress meter, reducing the amount of time required to complete the enrollment process. Providing improved visual feedback regarding the enrollment state of a biometric feature to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0299] In some embodiments, the enrollment criteria for the first portion of the biometric feature that corresponds to the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) includes a requirement that the first portion of the biometric feature is oriented relative to the one or more biometric sensors (e.g., 1103) in a predetermined manner (e.g., that the user's face is looking toward the first progress-indicator portion).
[0300] In some embodiments, the enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) include a requirement that the first portion of the biometric feature has not been enrolled.
[0301] In some embodiments, the enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) includes (1224) a requirement that the first portion of the biometric feature change in orientation (e.g., rotate) relative to the one or more biometric sensors (e.g., 1103) by at least a threshold amount.. In some examples, enrollment of the first portion of the biometric feature requires that the biometric feature move (rotate) sufficiently such that the first portion can be properly captured by the one or more biometric sensors (e.g., 1103).
[0302] In some embodiments, updating one or more visual characteristics of the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) includes updating the one or more visual characteristics of the first progress-indicator portion in a first manner (e.g. color) based on an enrollment state of the first portion of the biometric feature and updating the one or more visual characteristics of the first progress-indicator portion in a second manner (e.g., size or length of progress elements) based on the alignment of the biometric feature to the one or more biometric sensors (e.g., 1103) of the device. For example, the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) changes from black to green when a portion of the biometric feature that corresponds to the first-progress indicator portion has been enrolled and one or more lines (e.g.,1110a, 1110b, 1110c, 1116a, 1116b, 1118a, 1118b) corresponding in the first progress-indicator portion are elongated when the portion of the biometric feature that corresponds to the first-progress indicator portion are facing the one or more biometric sensors (e.g., 1103). In some embodiments, updating the one or more visual characteristics of the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) in a second manner is based on the direction of change in the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 1103). In some embodiments, updating in the second manner is performed additionally or alternatively based on the rate of change of the orientation of the biometric feature relative to the one or more biometric sensors. Changing a portion of the progress meter corresponding to the current orientation of the biometric feature from a first visual state to a second visual state allows the user to quickly recognize that a portion of the biometric feature is properly oriented for enrollment. This can in turn indicate to the user how to change the orientation of the biometric feature to enroll other portions that correspond to other respective parts of the progress meter, which reduces the amount of time required to complete the enrollment process. Providing improved visual feedback regarding the enrollment state of a biometric feature to the user therefore enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user to provide proper inputs and reducing user mistakes when operating / interacting with the device), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0303] In some embodiments, the device updates the one or more visual characteristics of the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) based on a rate of change in the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 1103). In some embodiments, updating the one or more visual characteristics in this manner includes modifying the color of the first progress-indicator portion based on the rate of change in the orientation of the biometric feature.
[0304] In some embodiments, the first progress indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) includes a plurality of display elements in a respective order (e.g.,1110a, 1110b, 1110c, 1114a, 1116a, 1116b, 1118a, 1118b). In accordance with a determination that the change in the orientation of the biometric feature relative to the one or more biometric sensors (e.g., 1103) is a change in a first direction (e.g. a clockwise rotation), the device optionally changes an appearance of the display elements starting from a first end of the respective order (e.g., starting at 1118a). For example, the device optionally starts to elongate lines in the first progress-indicator portion starting from a first side of the respective order moving to second side of the respective order (to 1114a). In accordance with a determination that the change in the orientation of the biometric feature relative to the one or more biometric sensors is a change in a second direction (e.g. counter-clockwise rotation), the device optionally changes an appearance of the display elements (e.g.,1110a, 1110b, 1110c, 1114a, 1116a, 1116b, 1118a, 1118b) starting from a second end of the respective order that is different from the first end of the respective order (e.g., starting from 1114a). For example, the device optionally elongates lines in the first progress-indicator portion starting from the second side of the respective order moving to the first side of the respective order (e.g., to 1118a). In some embodiments, a similar approach is taken when changing an appearance of the second progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122) or other progress indicator portions.
[0305] In some embodiments, the device updates the one or more visual characteristics of the first progress-indicator (e.g., 1114, 1116, 1118, 1120, or 1122) from a first state (e.g., "unenrolled") to a second state (e.g., "enrolling") that indicates that the first progress-indicator portion meets the enrollment criteria. For example, the device enlarges, grows or changes the color of display elements in a portion of the progress indicator (e.g., 1114) toward which the biometric feature is currently oriented, such as the portion of the progress indicator toward which the user's face is pointed (e.g., orientation of the 1106 in FIG. 11B).
[0306] In some embodiments, after updating one or more visual characteristics of the first progress-indicator portion, the device optionally detects a change in orientation of the biometric feature relative to the one or more biometric sensors so the biometric feature no longer meets enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion (e.g., 1114, 1116, 1118, 1120, or 1122). In response to detecting the change in orientation of the biometric feature relative to the one or more biometric sensors, the device optionally updates (1226) the one or more visual characteristics of the first progress-indicator portion from the second state ...
Claims
1. A method, comprising: at an electronic device with one or more biometric sensors and a display: displaying, on the display a biometric enrollment interface, wherein displaying the biometric enrollment interface includes concurrently displaying: a representation of a biometric feature, wherein the representation of the biometric feature has an orientation determined based on an alignment of the biometric feature to one or more biometric sensors of the device; a progress indicator including a first progress-indicator portion at a first position on the display relative to the representation of the biometric feature and a second progress-indicator portion at a second position on the display relative to the representation of the biometric feature, wherein the representation of the biometric feature is displayed between the first position and the second position on the display; and a simulated three-dimensional orientation guide overlaid on the representation of the biometric feature; while concurrently displaying the representation of the biometric feature and the progress indicator, detecting a change in the orientation of the biometric feature relative to the one or more biometric sensors that includes rotation about an axis parallel to the display of the electronic device; and in response to detecting the change in the orientation of the biometric feature relative to the one or more biometric sensors: changing visual characteristics of the simulated three-dimensional orientation guide in accordance with the change in orientation of the biometric feature relative to the one or more biometric sensors, including: simulating rotation of the simulated three-dimensional orientation guide about an axis parallel to the display of the electronic device to provide feedback about an orientation of the biometric feature relative to the one or more biometric sensors; and emphasizing the displayed simulated three-dimensional orientation guide while the biometric feature is moving; in accordance with a determination that the change in the orientation of the biometric feature meets enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion, updating one or more visual characteristics of the first progress-indicator portion that indicates that biometric information for the first portion of the biometric feature has been successfully captured by the device for use in completing enrollment of the biometric feature; and in accordance with a determination that the change in the orientation of the biometric feature meets enrollment criteria for a second portion of the biometric feature that corresponds to the second progress-indicator portion, updating one or more visual characteristics of the second progress-indicator portion that indicates that biometric information for the second portion of the biometric feature has been successfully captured by the device for use in completing enrollment of the biometric feature; and after capturing biometric information for one or more portions of the biometric feature, completing enrollment of the biometric feature based on the biometric information captured while displaying the biometric enrollment interface.
2. The method of claim 1, further comprising: in response to detecting the change in the orientation of the biometric feature to the one or more biometric sensors, updating the representation of the biometric feature in accordance with the change in the orientation of the biometric feature relative to the one or more biometric sensors.
3. The method of any of claims 1-2, wherein the progress indicator includes a plurality of progress-indicator portions, the plurality of progress-indicator portions including the first progress-indicator portion and the second progress-indicator portion, wherein the plurality of progress-indicator portions surrounds at least a portion of the representation of the biometric feature.
4. The method of any of claims 1-3, wherein the enrollment criteria for the first portion of the biometric feature that corresponds to the first progress-indicator portion includes a requirement that the first portion of the biometric feature is oriented relative to the one or more biometric sensors in a predetermined manner.
5. The method of any of claims 1-4, wherein the enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion include a requirement that the first portion of the biometric feature has not been enrolled.
6. The method of any of claims 1-5, wherein: the first progress-indicator portion indicates the enrollment status of a first portion of the biometric feature that is detected by the one or more biometric sensors when the biometric feature is turned toward the first progress-indicator portion; and the second progress-indicator portion indicates the enrollment status of a second portion of the biometric feature, different from the first portion of the biometric feature that is detected by the one or more biometric sensors when the biometric feature is turned toward the first progress-indicator portion.
7. The method of any of claims 1-6, wherein displaying the representation of the biometric feature includes displaying a digital viewfinder including a representation of a field of view of one or more cameras of the electronic device.
8. The method of any of claims 1-7, wherein the enrollment criteria for a first portion of the biometric feature that corresponds to the first progress-indicator portion includes a requirement that the first portion of the biometric feature change in orientation relative to the one or more biometric sensors by at least a threshold amount.
9. The method of any of claims 1-8, wherein displaying the biometric enrollment interface further includes displaying a prompt to move the biometric feature.
10. The method of any of claims 1-9, wherein updating one or more visual characteristics of the first progress-indicator portion includes updating the one or more visual characteristics of the first progress-indicator from a first state to a second state that indicates that the first progress-indicator portion meets the enrollment criteria.
11. The method of any of claims 1-10, wherein updating one or more visual characteristics of the first progress-indicator portion includes updating the one or more visual characteristics of the first progress-indicator portion in a first manner based on an enrollment state of the first portion of the biometric feature and updating the one or more visual characteristics of the first progress-indicator portion in a second manner based on the alignment of the biometric feature to the one or more biometric sensors of the device.
12. The method of any of claims 1-11, wherein the first progress-indicator portion includes a plurality of display elements in a respective order, and updating one or more visual characteristics of the first progress-indicator portion includes: in accordance with a determination that the change in the orientation of the biometric feature relative to the one or more biometric sensors is a change in a first direction, changing an appearance of the display elements starting from a first end of the respective order; and in accordance with a determination that the change in the orientation of the biometric feature relative to the one or more biometric sensors is a change in a second direction, changing an appearance of the display elements starting from a second end of the respective order that is different from the first end of the respective order.
13. The method of any of claims 1-12, wherein the one or more biometric sensors include one or more of: a visible light sensor, an infrared sensor, a time of flight sensor and / or a camera sensor.
14. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with one or more biometric sensors and a display, the one or more programs including instructions for performing the method of any of claims 1-13.
15. An electronic device, comprising: one or more biometric sensors; a display; one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any of claims 1-13.