Device, method, and graphical user interface for managing authentication credentials for user accounts
A graphical user interface on electronic devices with touch-sensitive surfaces automates password generation and sharing, addressing inefficiencies in credential management, reducing cognitive burden and conserving power.
Patent Information
- Application Number
- JP2024167793
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-06-03
- Filing Date
- 2024-09-26
- Publication Date
- 2025-01-23
- Estimated Expiration
- 2039-04-23
AI Technical Summary
Existing methods for managing authentication credentials on electronic devices with touch-sensitive surfaces are cumbersome and inefficient, leading to a high cognitive burden and energy consumption, particularly in battery-operated devices.
The implementation of a graphical user interface that includes automatically generating and managing strong passwords, sharing authentication credentials between devices, and recognizing verification codes, reducing the need for manual input and enhancing user interaction through touch and voice commands.
This approach reduces cognitive burden, enhances efficiency, and conserves power by automating password generation and sharing, thereby improving user satisfaction and device performance.
Smart Images

Figure 2025011133000001_ABST
Abstract
Description
[Technical field]
[0001] This application relates generally to electronic devices with touch-sensitive surfaces, including, but not limited to, electronic devices with touch-sensitive surfaces that manage authentication credentials for user accounts. [Background technology]
[0002] The use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has increased significantly in recent years. Exemplary touch-sensitive surfaces include touchpads and touchscreen displays. Such surfaces are widely used to manipulate user interface objects on the display.
[0003] Exemplary operations include adjusting the position and / or size of one or more user interface objects, activating a button or opening a file / application represented by the user interface object, associating metadata with one or more user interface objects, or otherwise manipulating the user interface. Exemplary user interface objects include digital images, video, text, icons, and control elements such as buttons and other graphics. A user may, in some circumstances, need to perform such operations on user interface objects in a file management program (e.g., Finder, made by Apple Inc. of Cupertino, California), a picture management application (e.g., Aperture, iPhoto, Photos, made by Apple Inc. of Cupertino, California), a digital content (e.g., video and music) management application (e.g., iTunes, made by Apple Inc. of Cupertino, California), a drawing application, a presentation application (e.g., Keynote, made by Apple Inc. of Cupertino, California), a word processing application (e.g., Pages, made by Apple Inc. of Cupertino, California), a website creation application (e.g., iWeb, made by Apple Inc. of Cupertino, California), a disc authoring application (e.g., iDVD, made by Apple Inc. of Cupertino, California), or a spreadsheet application (e.g., Numbers, made by Apple Inc. of Cupertino, California).
[0004] However, methods of performing these operations are cumbersome and inefficient. For example, using a series of mouse-based inputs to select one or more user interface objects and perform one or more actions on the selected user interface objects is tedious and creates a significant cognitive burden for the user. In addition, the methods take longer than necessary, thereby wasting energy. The latter problem is particularly acute in battery-operated devices. Summary of the Invention
[0005] Thus, there is a need for electronic devices with faster, more efficient methods and interfaces for managing authentication credentials for user accounts. Such methods and interfaces, optionally, complement or replace conventional methods for managing authentication credentials for user accounts. Such methods and interfaces reduce the cognitive burden on users and create a more efficient human-machine interface. For battery-operated devices, such methods and interfaces conserve power and extend the time between battery charges.
[0006] The above deficiencies and other problems associated with user interfaces for electronic devices having touch-sensitive surfaces are reduced or eliminated by the devices of the present disclosure. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also known as a "touch screen" or "touch screen display"). In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing a number of functions. In some embodiments, a user interacts with the GUI primarily through stylus and / or finger contacts and gestures on the touch-sensitive surface. In some embodiments, the functions optionally include image editing, drawing, presenting, word processing, website creation, disc authoring, spreadsheet creation, game playing, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, digital music playback, and / or digital video playback. Executable instructions to perform those functions are optionally contained on a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0007] According to some embodiments, a method is performed on an electronic device that includes a display device and one or more input devices. The method includes displaying a user interface via the display device, the user interface including a new password field. The method includes detecting user input via the one or more input devices corresponding to selection of the new password field. In response to detecting user input corresponding to selection of the new password field, the method includes displaying, on the display device, a representation of the new auto-generated password in the new password field, and displaying, on the display device, an affordance for accepting the new auto-generated password and an affordance for rejecting using the new auto-generated password.
[0008] According to some embodiments, a method is performed on an electronic device comprising a display device and one or more input devices. The method includes receiving, via the one or more input devices, a request to access a resource protected by a verification code. After receiving the request to access the resource, the method includes receiving an electronic message at the electronic device. After receiving the electronic message, while displaying, via the display device, a user interface for inputting the verification code, the method includes displaying an insertion affordance that, when selected, automatically inserts the content matching the predefined format into the user interface as a verification code pursuant to a determination that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content matching the predefined format.
[0009] According to some embodiments, a method is performed on a first electronic device comprising a display device and one or more input devices. The method includes receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service. In response to receiving the indication that the second electronic device requires authentication credentials for a service, in accordance with a determination that the first electronic device satisfies respective criteria, including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, the method includes displaying, via the display device, a confirmation prompt on the first electronic device that requires input of confirmation information from the second electronic device in order to proceed such that the respective criteria are satisfied. While displaying the confirmation prompt, the method includes receiving, via the one or more input devices, confirmation information from the second electronic device on the first electronic device. In response to receiving the confirmation information, the method includes initiating a process for sharing authentication credentials for the service from the first electronic device to the second electronic device.
[0010] According to some embodiments, a method is performed on an electronic device comprising a display device and one or more input devices. The method includes detecting an oral request via the one or more input devices to display password information. In response to receiving the oral request to display the password information, the method includes, in accordance with a determination that the request is for a password for a first user account accessible by the device and the user is authenticated, displaying the password for the first user account, and in accordance with a determination that the request is for a password for a second user account accessible by the device and the user is authenticated, displaying the password for the second user account.
[0011] According to some embodiments, an electronic device includes a display device configured to display a user interface, one or more input devices configured to receive user input, and a processing device coupled to the display device and the one or more input devices. The processing device is configured to display, via the display device, a user interface including a new password field. The processing is configured to detect, via the one or more input devices, user input corresponding to selection of the new password field. In response to detecting user input corresponding to selection of the new password field, the processing device is configured to display, on the display device, a representation of the new auto-generated password in the new password field and display, on the display device, an affordance for accepting the new auto-generated password and an affordance for rejecting using the new auto-generated password.
[0012] According to some embodiments, an electronic device includes a display device configured to display a user interface, one or more input devices configured to receive user input, and a processing device connected to the display device and the one or more input devices. The processing device is configured to receive a request to access a resource protected by a verification code via the one or more input devices. After receiving the request to access the resource, the processing device is configured to receive an electronic message at the electronic device. After receiving the electronic message, while displaying a user interface for inputting the verification code via the display device, the processing device is configured to display an insertion affordance that, when selected, automatically inserts content matching the predefined format into the user interface as a verification code according to a determination that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content matching the predefined format.
[0013] According to some embodiments, the first electronic device includes a display device configured to display a user interface, one or more input devices configured to receive user input, and a processing device connected to the display device and the one or more input devices. The processing device is configured to receive an indication at the first electronic device that the second electronic device needs authentication credentials for the service. In response to receiving the indication that the second electronic device needs authentication credentials for the service, and following a determination that the first electronic device meets the respective criteria, including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, the processing device is configured to display, via the display device, a confirmation prompt on the first electronic device that requires input of confirmation information from the second electronic device to proceed so that the respective criteria are met. While displaying the confirmation prompt, the processing device is configured to receive, via the one or more input devices, confirmation information from the second electronic device on the first electronic device. In response to receiving the confirmation information, the processing device is configured to initiate a process for sharing authentication credentials for the service from the first electronic device to the second electronic device.
[0014] According to some embodiments, the first electronic device includes a display device configured to display a user interface, one or more input devices configured to receive user input, and a processing device coupled to the display device and the one or more input devices. The processing device is configured to detect an oral request to display password information via the one or more input devices. In response to receiving the oral request to display the password information, the processing device is configured to display the password of the first user account according to a determination that the request is for a password of a first user account accessible by the device and the user is authenticated, and to display the password of the second user account according to a determination that the request is for a password of a second user account accessible by the device and the user is authenticated.
[0015] According to some embodiments, an electronic device comprises a display device, one or more input devices, one or more processors, a non-transitory memory, and one or more programs, the one or more programs being stored in the non-transitory memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing or causing the operation of any of the methods described herein. According to some embodiments, a non-transitory computer-readable storage medium stores instructions therein that, when executed by one or more processors of an electronic device comprising a display device and one or more input devices, causes the electronic device to perform or causes the electronic device to perform any of the methods disclosed herein. According to some embodiments, a graphical user interface on an electronic device comprising a display device, one or more input devices, a memory, and one or more processors executing one or more programs stored in the non-transitory memory includes one or more of the elements displayed in any of the methods described above, which are updated in response to inputs as described in any of the methods disclosed herein. According to some embodiments, an electronic device comprises a display device, one or more input devices, and means for performing or causing the operation of any of the methods disclosed herein. According to some embodiments, an information processing apparatus for use in an electronic device comprising a display device and one or more input devices comprises means for performing or causing to be performed any of the operations of the methods disclosed herein.
[0016] In this manner, electronic devices having a display device and one or more input devices are provided with faster, more efficient methods and interfaces for managing authentication credentials for user accounts, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may complement or replace conventional methods for managing authentication credentials for user accounts. [Brief description of the drawings]
[0017] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:
[0018] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.
[0019] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments.
[0020] [Diagram 2] 1 illustrates a portable multifunction device with a touch screen in accordance with some embodiments.
[0021] [Diagram 3] 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0022] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.
[0023] [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface separate from a display in accordance with some embodiments.
[0024] [Figure 5A] 1 illustrates an exemplary user interface for generating a new password for a user account and writing a verification code to the user interface according to some embodiments. [Figure 5B]1 illustrates an exemplary user interface for generating a new password for a user account and writing a verification code to the user interface according to some embodiments. [Figure 5C] 1 illustrates an exemplary user interface for generating a new password for a user account and writing a verification code to the user interface according to some embodiments. [Figure 5D] 1 illustrates an exemplary user interface for generating a new password for a user account and writing a verification code to the user interface according to some embodiments.
[0025] [Figure 6A] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6B] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6C] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6D] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6E] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6F] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6G] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments. [Figure 6H] 1 illustrates an exemplary user interface for sharing authentication credentials according to some embodiments.
[0026] [Figure 7A]1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7B] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7C] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7D] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7E] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7F] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7G] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7H] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7I] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7J] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7K] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7L] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7M] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7N] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7O] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7P] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7Q] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7R] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7S] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7T] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7U] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7V] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7W] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7X] 1 illustrates an exemplary user interface for displaying password information according to some embodiments. [Figure 7Y] 1 illustrates an exemplary user interface for displaying password information according to some embodiments.
[0027] [Figure 8A] FIG. 2 is a flow diagram illustrating a method for generating a new password for a user account according to some embodiments. [Figure 8B] FIG. 2 is a flow diagram illustrating a method for generating a new password for a user account according to some embodiments. [Figure 8C] FIG. 2 is a flow diagram illustrating a method for generating a new password for a user account according to some embodiments.
[0028] [Figure 9A] FIG. 1 is a flow diagram illustrating a method for writing a verification code to a user interface according to some embodiments. [Figure 9B] FIG. 1 is a flow diagram illustrating a method for writing a verification code to a user interface according to some embodiments. [Figure 9C] FIG. 1 is a flow diagram illustrating a method for writing a verification code to a user interface according to some embodiments. [Figure 9D] FIG. 1 is a flow diagram illustrating a method for writing a verification code to a user interface according to some embodiments.
[0029] [Figure 10A] FIG. 1 is a flow diagram illustrating a method for sharing authentication credentials according to some embodiments. [Figure 10B] FIG. 1 is a flow diagram illustrating a method for sharing authentication credentials according to some embodiments. [Figure 10C] FIG. 1 is a flow diagram illustrating a method for sharing authentication credentials according to some embodiments.
[0030] [Figure 11A] FIG. 1 is a flow diagram illustrating a method for displaying password information according to some embodiments. [Figure 11B] FIG. 1 is a flow diagram illustrating a method for displaying password information according to some embodiments. [Figure 11C] FIG. 1 is a flow diagram illustrating a method for displaying password information according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0031] As the number of service providers offering services (e.g., web services and mobile applications) increases, the number of user accounts associated with users also increases. Many user accounts are associated with authentication credentials, such as a username and password, that are provided to access resources provided as part of the service. Many users have difficulty remembering multiple username / password combinations. Thus, many users choose simple, weak, and / or insecure passwords, or use the same password for many different user accounts, also resulting in a lack of security. When providing a password to log into a user account new device, the user may easily forget a strong password or may be required to enter further authentication credentials in the form of a verification code.
[0032] Thus, in various embodiments, when provided with the option to generate a new password for a user account, the device automatically generates a strong new password. Additionally, the device stores the new password for easy retrieval via a verbal request. In various embodiments, the device shares the password (and / or other authentication credentials) with other devices and automatically recognizes received verification codes.
[0033] In the following, Figures 1A, 1B, 2, and 3 provide a description of an exemplary device. Figures 4A-4B, 5A-5AD, 6A-6H, and 7A-7Y illustrate exemplary user interfaces for managing authentication credentials for a user account. Figures 8A-8C illustrate a flow diagram of a method for generating a new password for a user account. Figures 9A-9D illustrate a flow diagram of a method for writing a verification code to a user interface. Figures 10A-10C illustrate a flow diagram of a method for sharing authentication credentials, according to some embodiments. Figures 11A-11C illustrate a flow diagram of a method for displaying password information. The user interfaces of Figures 5A-5AD, 6A-6H, and 7A-7Y are used to illustrate the processes of Figures 8A-8C, 9A-9D, 10A-10C, and 11A-11C. Exemplary Devices
[0034] Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments being described. However, it will be apparent to those skilled in the art that the various embodiments described may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0035] In this specification, terms such as first, second, etc. are used in some examples to describe various elements, but it will be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first contact can be referred to as a second contact, and similarly, a second contact can be referred to as a first contact, without departing from the scope of the various embodiments described. Although a first contact and a second contact are both contacts, they are not the same contact unless the context clearly indicates otherwise.
[0036] The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments described and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should also be understood that as used herein, the term "and / or" refers to and includes 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," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0037] As used herein, the term "if" is optionally interpreted to mean "when," "upon," "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" are optionally interpreted 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.
[0038] 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 communication device, such as a mobile phone, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, iPad®, Apple TV®, and HomePod® devices from Apple Inc. of Cupertino, Calif. Other portable electronic devices, such as laptops or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad), are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad).
[0039] In the following discussion, electronic devices are described that include a display and a touch-sensitive surface, however, it should be understood 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.
[0040] The device typically supports a variety of applications, such as one or more of 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 telephony application, a video conferencing application, an email application, an instant messaging application, a training 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.
[0041] The various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface, as well as corresponding information displayed on the device, are optionally adjusted and / or changed for each application and / or within each application. In this manner, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0042] Attention is now directed to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 having a touch-sensitive display system 112, according to some embodiments. Touch-sensitive display system 112 may be conveniently referred to as a "touch screen" or simply a touch-sensitive display. Device 100 includes memory 102 (optionally including one or more computer-readable storage media), 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 or control devices 116, and external port 124. Device 100 optionally includes one or more light sensors 164. Device 100 optionally includes one or more intensity sensors 165 for detecting the intensity of a contact 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 163 that generate tactile output on device 100 (e.g., generate tactile output 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.
[0043] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that will be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., the fingers, 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 a physical property of the device or a 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 feels a tactile sensation such as a "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 action. As another example, movement of a touch-sensitive surface is optionally interpreted or sensed by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Such user interpretation of touch depends on the user's personal sensory perception, but there are many sensory perceptions of touch that are common to a 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 noted, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that produces the described sensory perception for a typical (or average) user.
[0044] It is understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of its components. The various components shown in FIG. 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0045] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 102 by other components of device 100, such as CPU(s) 120 and peripherals interface 118, is optionally controlled by memory controller 122.
[0046] A peripheral interface 118 can be used to connect input and output peripherals of the device with the CPU(s) 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions and process data for the device 100.
[0047] In some embodiments, peripherals interface 118, CPU(s) 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.
[0048] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuits 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, etc. The RF circuitry 108 optionally communicates with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices, by wireless communication. The wireless communication optionally uses any of a number of communication standards, protocols, and technologies, including 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-HSPA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (WDMA), and other communication standards, protocols, and technologies.Wireless technology, such as IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n, voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (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 Extensions, and / or Session Initiation Protocol for Instant Messaging and Presence Extensions). Examples of suitable communication protocols include, but are not limited to, Simple Intermediate 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.
[0049] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripherals interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212, FIG. 2). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral such as an output-only headphone or a headset with both an output (e.g., one-ear or binaural headphones) and an input (e.g., a microphone).
[0050] I / O subsystem 106 couples input / output peripherals on device 100, such as touch-sensitive display system 112 and other input or control devices 116, with peripheral interface 118. I / O subsystem 106 optionally includes one or more input controllers 160 for display controller 156, light sensor controller 158, intensity sensor controller 159, haptic feedback controller 161, and other input or control devices. One or more input controllers 160 receive electrical signals from or send electrical signals to other input or control devices 116. Other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, a stylus, and / or a pointer device such as a mouse. The one or more buttons (e.g., 208, FIG. 2) optionally include up / down buttons for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206, FIG. 2).
[0051] Touch-sensitive display system 112 provides an input and output interface between the device and a user. Display controller 156 receives electrical signals from and / or sends electrical signals to touch-sensitive display system 112. Touch-sensitive display system 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects.
[0052] Touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic / tactile contact. Touch-sensitive display system 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detect contacts (and any movement or breaking of contact) on touch-sensitive display system 112 and translate the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) that are displayed on touch-sensitive display system 112. In one example embodiment, the point of contact between touch-sensitive display system 112 and the user corresponds to the user's finger or stylus.
[0053] Touch-sensitive display system 112 optionally uses liquid crystal display (LCD), light emitting polymer display (LPD), or light emitting diode (LED) technology, although other display technologies are used in other embodiments. Touch-sensitive display system 112 and display controller 156 optionally use any of a number of now known or later developed touch sensing technologies to detect contact and any movement or disruption thereof, 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-sensitive display system 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. of Cupertino, Calif.
[0054] Touch-sensitive display system 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the video resolution of the touch screen is greater than 400 dpi (e.g., 500 dpi, 800 dpi, or higher). A user optionally contacts touch-sensitive display system 112 using any suitable object or accessory, such as a stylus, finger, or the like. In some embodiments, the user interface is designed to work with finger-based contacts and gestures, which may be less precise than stylus-based inputs due to the larger contact area of a finger on a touch screen than that of a stylus. In some embodiments, the device translates the rough finger input into precise pointer / cursor positions or commands to perform the action desired by the user.
[0055] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad for activating or deactivating certain functions. In some embodiments, a touchpad is a touch-sensitive area of a device that, unlike a touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touch-sensitive display system 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0056] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power within a portable device.
[0057] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to light sensor controller 158 in I / O subsystem 106. Light sensor(s) 164 optionally include a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor(s) 164 receive light from the environment, projected through one or more lenses, and convert the light into data representing an image. In conjunction with imaging module 143 (also referred to as a camera module), light sensor(s) 164 optionally captures still images and / or video. In some embodiments, the light sensor is located on the back of device 100, opposite touch-sensitive display system 112 on the front of the device, so that the touch screen can be used as a viewfinder for still and / or video image acquisition. In some embodiments, another light sensor is placed on the front of the device so that an image of the user is captured (e.g., for a selfie, for a video conference while the user views other video conference participants on the touch screen, etc.).
[0058] Device 100 also optionally 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(s) 165 optionally include one or more piezoresistive strain gauges, capacitive force sensors, electrical 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(s) 165 receive 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 juxtaposed 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 touchscreen display system 112, which is located on the front of device 100.
[0059] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is coupled to input controller 160 in I / O subsystem 106. In some embodiments, the proximity sensor turns off and disables touch-sensitive display system 112 when the multifunction device is placed near a user's ear (e.g., when the user is making a phone call).
[0060] Device 100 optionally includes one or more tactile output generators 163. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator(s) 163 optionally include one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Tactile output generator(s) 163 receive tactile feedback generation instructions from haptic feedback module 133 and generate a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and generates a tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, the at least one tactile output generator sensor is located on the back of device 100, opposite touch-sensitive display system 112, which is located on the front of device 100.
[0061] Device 100 also optionally includes one or more accelerometers 167, gyroscopes 168, and / or magnetometers 169 (e.g., as part of an inertial measurement unit (IMU)) for obtaining information regarding the location (e.g., attitude) of the device. FIG. 1A shows sensors 167, 168, and 169 coupled to peripherals interface 118. Alternatively, sensors 167, 168, and 169 are optionally coupled to input controller 160 in I / O subsystem 106. In some embodiments, information is displayed on a touchscreen display in portrait or landscape view based on analysis of data received from the one or more accelerometers. Device 100 optionally includes a GPS (or GLONASS or other global navigation system) receiver for obtaining information regarding the location of device 100.
[0062] In some embodiments, the software components stored in memory 102 include an operating system 126, a communications module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a haptic feedback module (or instruction set) 133, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction set) 136. Additionally, in some embodiments, as shown in Figures 1A and 3, memory 102 stores device / global internal state 157. Device / global internal state 157 includes one or more of: active application state, which indicates which applications, if any, are currently active; display state, which indicates what applications, views, or other information are occupying various areas of touch-sensitive display system 112; sensor state, which includes information obtained from the device's various sensors and other input or control devices 116; and position and / or location information regarding the device's position and / or orientation.
[0063] Operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or VxWorks) includes various software components and / or drivers for controlling and managing overall system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware and software components.
[0064] The communications module 128 also includes various software components for facilitating communication with other devices via one or more external ports 124 and for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FIREWIRE®, etc.) are adapted to connect to other devices directly or indirectly via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors identical to, similar to, and / or compatible with the 30-pin connectors used in some iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. In some embodiments, the external ports are Lightning connectors identical to, similar to, and / or compatible with the Lightning connectors used in some iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California.
[0065] Contact / motion module 130 optionally detects contact with touch-sensitive display system 112 (in cooperation with display controller 156), and with other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes software components for performing various operations related to detecting contact (e.g., by a finger or stylus), such as determining whether contact has occurred (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact across the touch-sensitive surface and tracking that movement (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger up event or an interruption of contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point, as represented by the series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These actions are optionally applied to a single contact (e.g., a single finger contact or a stylus contact) or to multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts and / or stylus contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0066] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event, followed by a finger up (lift off) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger down event, followed by one or more finger drag events, followed by a finger up (lift off) event. Similarly, taps, swipes, drags, and other gestures are optionally detected by detecting a particular contact pattern with respect to the stylus with respect to the stylus.
[0067] Graphics module 132 includes various known software components for rendering and displaying graphics on touch-sensitive display system 112 or other display, including components for modifying the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, and animations.
[0068] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including, as appropriate, coordinate data and other graphic characteristic data, from an application or the like, and then generates screen image data for output to display controller 156.
[0069] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 163 to generate tactile outputs at one or more locations on the device 100 in response to user interaction with the device 100.
[0070] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0071] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based calling, to the camera 143 as photo / video metadata, and to applications that provide location-based services, such as a weather widget, a local yellow pages widget, and a maps / navigation widget).
[0072] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: ● a contacts module 137 (sometimes called an address book or contact list); ●Telephone module 138, ●Video conferencing module 139; ● an email client module 140; ● Instant messaging (IM) module 141; ● Training support module 142, A camera module 143 for still and / or video images, ● Image management module 144, ● Browser module 147, ● Calendar module 148, ● A widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; ● a widget creation module 150 for creating user-created widgets 149-6; ● Search module 151, ● Optionally, a video and music player module 152, comprising a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0073] Examples of other applications 136 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 duplication.
[0074] Contacts module 137, along with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, includes executable instructions (e.g., stored in memory 102 or in the application internal state 192 of contacts module 137 in memory 370) for managing an address book or contact list, including adding a name(s) to the address book, deleting a name(s) from the address book, associating phone number(s), email address(es), physical address(es), or other information with a name, associating an image with a name, categorizing and sorting names, providing phone numbers and / or email addresses to initiate and / or facilitate communication by telephone 138, video conference 139, email 140, or IM 141, and the like.
[0075] In cooperation with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, telephone module 138 includes executable instructions for entering a sequence of characters corresponding to a telephone number, accessing one or more telephone numbers in address book 137, modifying an entered telephone number, dialing each telephone number, conducting a conversation, and disconnecting or hanging up when the conversation is completed. As discussed above, the wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0076] In cooperation with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, text input module 134, contact list 137, and telephone module 138, video conferencing module 139 contains executable instructions to initiate, conduct, and terminate a video conference between a user and one or more other participants according to the user's commands.
[0077] In conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, email client module 140 contains executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by camera module 143.
[0078] Together with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant message module 141 includes executable instructions to input character strings corresponding to instant messages, modify previously input characters, send respective instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephone-based instant messaging, or using XMPP, SIMPLE, Apple Push Notification Service (APNs), or IMPS for Internet-based instant messaging), receive instant messages, and view received instant messages. In some embodiments, the sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments, as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and Internet-based messaging (e.g., messages sent using XMPP, SIMPLE, APNs, or IMPS).
[0079] In cooperation with the RF circuitry 108, the touch-sensitive display system 112, the display controller 156, the contact module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the video and music player module 152, the training support module 142 includes executable instructions to create workouts (e.g., having time, distance, and / or calorie consumption goals), communicate with training sensors (in the sports device and the smart watch), receive training sensor data, calibrate sensors used to monitor the workouts, select and play music for the workouts, and display, store, and transmit training data.
[0080] Camera module 143, along with touch-sensitive display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, and image management module 144, contain executable instructions to capture still images or videos (including video streams) and store them in memory 102, change characteristics of the still images or videos, and / or delete still images or videos from memory 102.
[0081] Image management module 144, along with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, contain executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.
[0082] Browser module 147, together with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet according to a user's commands, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0083] Calendar module 148, along with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, contain executable instructions to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar items, to-do lists, etc.) according to a user's instructions.
[0084] Together with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is optionally a mini-application downloaded and used by a user (e.g., weather widget 149-1, stock quotes widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5), or a mini-application created by a user (e.g., user-created widget 149-6). In some embodiments, a widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (e.g., Yahoo! Widget).
[0085] In cooperation with RF circuitry 108, touch-sensing display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, widget creation module 150 contains executable instructions for creating widgets (e.g., turning user-specified portions of a web page into widgets).
[0086] In cooperation with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, search module 151 contains executable instructions to search for text, music, sound, images, 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 a user's commands.
[0087] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 contains executable instructions that enable a user to download and play recorded music or other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions to display, present, or otherwise play videos (e.g., on touch-sensitive display system 112 or on an external display connected wirelessly or via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0088] In cooperation with the touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, notes module 153 contains executable instructions for creating and managing notes, to-do lists, and the like according to user commands.
[0089] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 can be used to receive, display, modify, and store maps and data associated with maps (e.g., driving directions, data about stores and other points of interest at or near a particular location, and other location-based data) in accordance with a user's instructions.
[0090] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, online video module 155 contains executable instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), and play (e.g., on touch screen 112 or on an external display connected wirelessly or via external port 124) online videos in one or more file formats, such as H.264, and send and otherwise manage emails with links to particular online videos. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140.
[0091] Each of the above-identified modules and applications corresponds to an executable instruction set that performs one or more of the functions described above, as well as the methods described in this application (e.g., computer-implemented methods and other information processing methods described herein). The modules (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of the modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0092] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.
[0093] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than a touchpad.
[0094] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (in FIG. 3) includes event sorter 170 (e.g., within operating system 126) and a respective application 136-1 (e.g., any of applications 136, 137-155, 380-390 described above).
[0095] Event sorter 170 receives the event information and determines which application 136-1 and application view 191 of application 136-1 to which the event information is to be delivered. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display system 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) are currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 to which the event information is to be delivered.
[0096] 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 indicating or ready to display information being displayed by application 136-1, state cues that allow a user to return to a previous state or view of application 136-1, and redo / undo cues of previous actions taken by the user.
[0097] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user's touch on touch-sensitive display system 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 167, gyroscope(s) 168, magnetometer(s) 169, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display system 112 or a touch-sensitive surface.
[0098] In some embodiments, event monitor 171 sends a request to 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 longer than a predetermined period of time).
[0099] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0100] Hit view determination module 172 provides software procedures for determining where in one or more views a sub-event occurred when touch-sensitive display system 112 displays more than one view. A view consists of controls and other elements that a user can see on the display.
[0101] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the respective application) in which the touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which the touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch gesture.
[0102] 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 the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest level view in which the initiating sub-event occurs (i.e., the first sub-event in a series of sub-events that form an event or potential event). Once a hit view is identified by the hit view determination module, 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.
[0103] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.
[0104] Event dispatcher module 174 dispatches the event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by each event receiver module 182 in an event queue.
[0105] 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 is part of another module stored in memory 102, such as contact / motion module 130.
[0106] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events that occur within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes multiple 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 or a higher level object from which application 136-1 inherits methods and other attributes. In some embodiments, each event handler 190 includes one or more of data updaters 176, object updaters 177, GUI updaters 178, and / or event data 179 received from event sorter 170. Event handlers 190 optionally utilize or call data updaters 176, object updaters 177, or GUI updaters 178 to update application internal state 192. Instead, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in each application view 191.
[0107] Each 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 an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).
[0108] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a movement of a touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device's attitude).
[0109] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a sequence of predefined sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events within each event, such as event 1 (187-1) or event 2 (187-2), include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. A double tap includes, for example, a first touch (beginning of touch) for a predefined stage on the displayed object, a first lift-off (end of touch) for a predefined stage, a second touch (beginning of touch) for a predefined stage on the displayed object, and a second lift-off (end of touch) for a predefined stage. In another example, a definition of event 2 (187-2) is a drag on the displayed object. A drag includes, for example, a touch (or contact) for a predefined stage on the displayed object, a movement of the touch across the touch-sensitive display system 112, and a lift-off of the touch (end of touch). In some embodiments, the event also includes information regarding one or more associated event handlers 190.
[0110] In some embodiments, the event definition for each event, such as event 1 (187-1) or event 2 (187-2), includes a definition of the event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view in which three user interface objects are displayed on touch-sensitive display system 112, when a touch is detected on touch-sensitive display system 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, event comparator 184 uses the result of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.
[0111] In some embodiments, the definition of each event, such as Event 1 (187-1) or Event 2 (187-2), also includes a delay action that delays delivery of the event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.
[0112] If the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch gesture.
[0113] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in a view or programmatic hierarchy.
[0114] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) the sub-events to the respective hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.
[0115] In some embodiments, the 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 the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.
[0116] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by video player module 145. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0117] 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.
[0118] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 with input devices, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple presses or holds of a keyboard, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0119] FIG. 2 illustrates portable multifunction device 100 having a touch screen (e.g., touch-sensitive display system 112, FIG. 1A ), according to some embodiments. The touch screen optionally displays one or more graphics in user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics is performed 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 (left to right, right to left, upwards and / or downwards), and / or rolling of a finger in contact with device 100 (right to left, left to right, upwards and / or downwards). In some implementations or situations, accidental contact with a graphic does not select that graphic: for example, a swipe gesture sweeping over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0120] Device 100 also optionally includes one or more physical buttons, such as a "home" or menu button 204. As mentioned above, menu button 204 is optionally used to navigate to any application 136 in a set of applications optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on a touch screen display.
[0121] In some embodiments, device 100 includes a touch screen display, a menu button 204, a push button 206 for powering the device on / off and locking the device, volume control button(s) 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and an external docking / charging port 124. Push button 206 is optionally used to power the device on / off by pressing and holding the button down for a predefined period of time, to lock the device by pressing and releasing the button before the predefined time has elapsed, and / or to unlock the device or initiate an unlocking process. In some embodiments, device 100 also accepts verbal input through microphone 113 to activate or deactivate some features. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting contact intensity on touch-sensitive display system 112 and / or one or more tactile output generators 163 for generating a tactile output to a user of device 100.
[0122] FIG. 3 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface, according to 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 commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interfaces 330, including a display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator(s) 163 described above with reference to FIG. 1A) for generating tactile output on device 300, sensors 359 (e.g., touch-sensitive, optical, contact intensity, proximity, acceleration, attitude, and / or magnetic contact intensity sensors similar to sensors 112, 164, 165, 166, 167, 168, and 169 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 located remotely from CPU(s) 310 .In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, 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 those modules.
[0123] Each of the above-identified elements in FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or programs (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of those modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0124] Attention is now directed to embodiments of a user interface (“UI”) that is optionally implemented on portable multifunction device 100.
[0125] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: ● signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth indicator 405, ● Battery status indicator 406, A tray 408 containing icons for frequently used applications, such as: ○ An icon 416 for the phone module 138, labeled “Phone”, optionally including an indicator 414 of the number of missed calls or voicemail messages; ○ An icon 418 of the email client module 140, labeled “Mail”, optionally including an indicator 410 of the number of unread emails; ○ An icon 420 of the browser module 147, labeled "Browser"; and ○ An icon 422 of the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod"; and ●Icons for other applications, such as: ○ Icon 424 for IM module 141, labeled "Text"; ○ Icon 426 of the calendar module 148, labeled "Calendar", ○ Icon 428 of the image management module 144, labeled "Photos"; ○ An icon 430 of the camera module 143, labeled “camera”; ○ Icon 432 of the online video module 155, labeled "Online Video"; Icon 434 of Stock Price Widget 149-2, labeled "Stock Price" ○ Icon 436 of map module 154, labeled "Map" ○ Icon 438 of weather widget 149-1, labeled "Weather"; ○ Icon 440 of alarm clock widget 169-6, labeled "Clock"; ○ Icon 442 of Training Support Module 142, labeled "Training Support"; ○ Icon 444 of the Notes module 153, labeled "Notes"; and ○ An icon 446 for a settings application or module that provides access to settings related to the device 100 and its various applications 136.
[0126] Note that the icon labels shown in FIG. 4A are merely examples. For example, in some embodiments, icon 422 for video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for the various application icons. In some embodiments, the label for each application icon includes the name of the application that corresponds to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application that corresponds to that particular application icon.
[0127] 4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch-sensitive surface 451 (e.g., tablet or touchpad 355, FIG. 3) separate from display 450. Device 300 optionally also includes one or more contact intensity sensors (e.g., one or more of sensors 359) that detect the intensity of a contact on touch-sensitive surface 451, and / or one or more tactile output generators 359 that generate a tactile output to a user of device 300.
[0128] FIG. 4B illustrates an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch-sensitive surface 451 (e.g., tablet or touchpad 355, FIG. 3) separate from a display 450. Although many of the following examples are given with reference to input on touchscreen display 112 (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface separate from the display, as shown in FIG. 4B. In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B) has a major axis (e.g., 452 in FIG. 4B) that corresponds to a major axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to those embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B) at locations that correspond to respective locations on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this manner, when the touch-sensitive surface is separate from the display, user input (e.g., contacts 460 and 462, and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B ) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B ) of the multifunction device. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0129] In addition, while the following examples are given primarily with reference to finger input (e.g., finger touch, finger tap gesture, finger swipe gesture, etc.), it should be understood that in some embodiments, one or more of those finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a touch) followed by movement of a cursor along the path of the swipe (e.g., instead of a contact movement). As another example, a tap gesture is optionally replaced by a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of detecting a contact and then stopping detection of the contact). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0130] The term "focus selector" as used herein refers to an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations involving a cursor or other location marker, the cursor functions as a "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 in FIG. 1A or touchscreen in FIG. 4A) that enables direct interaction with user interface elements on the touchscreen display, a contact detected on the touchscreen functions as a "focus selector" such that when an input (e.g., a press input by contact) is detected on the touchscreen display at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface (e.g., by using the tab or arrow keys to move focus from one button to another) without a corresponding cursor movement or contact movement on the touchscreen display. In these implementations, the focus selector moves to follow the movement of focus between various regions of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is generally a user interface element (or a contact on a touchscreen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with).For example, the position of a focus selector (e.g., a cursor, contact, or selection box) over a respective button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that respective button (and not other user interface elements shown on the device's display). User Interface and Related Processes
[0131] Attention is now directed to embodiments of user interfaces ("UI") and associated processing that may be implemented on an electronic device, such as portable multifunction device (PMD) 100 or device 300, that includes a display, a touch-sensitive surface, and one or more sensors for detecting the intensity of contact on the touch-sensitive surface.
[0132] 5A-5K show example user interfaces for generating a new password for a user account, according to some embodiments. FIGS. 5L-5AD show example user interfaces for writing a verification code into a user interface, according to some embodiments. FIGS. 6A-6H show example user interfaces for sharing authentication credentials, according to some embodiments. FIGS. 7A-7Y show example user interfaces for displaying password information, according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including those in FIGS. 8A-8C, 9A-9D, 10A-10C, and 11A-11C. Although some of the examples below are described with reference to input on a touch screen display (combining a touch-sensitive surface and a display), in some embodiments the device detects input on touch-sensitive surface 451 that is separate from display 450, as shown in FIG. 4B.
[0133] 5A illustrates a web browser user interface 502 as part of a user interface 500 displayed by portable multifunction device 100 (hereinafter "device 100"). In addition to web browser user interface 502, user interface 500 includes a device bar 501 at the top of the display that includes an identifying name for device 100 (e.g., "iPhone"), a wireless connection indicator, the current time, and a battery indicator that indicates the charge level of device 100.
[0134] User interface 500 includes a web browser user interface 502 below device bar 501 and across the remainder of the display. Web browser user interface 502 includes an address bar 521 and a content area 522. Address bar 521 includes the address (e.g., URL) of a web page whose content is displayed in content area 522. Address bar 521 also includes a reload affordance that, when selected, reloads the content of the web page in content area 522. In FIG. 5A, address bar 521 displays the address of a home page of a service.
[0135] 5A , content displayed in content area 522 includes an image (of an apple), sign-up affordance 531A, and sign-in affordance 531B. Sign-up affordance 531A, when selected, allows a user to register with a service, e.g., create a user account for the service, to access resources (e.g., content) protected by the user account's authentication credentials. Sign-in affordance 531B, when selected, allows a user to provide authentication credentials to access the service's resources.
[0136] FIG. 5A shows contact 550A detected at the location of sign-up affordance 531A.
[0137] FIGURE 5B illustrates the user interface 500 of FIGURE 5A in response to detecting contact 550A at the location of sign-up affordance 531A. In FIGURE 5B, address bar 521 includes an address of a sign-up page for a web service. In FIGURE 5B, content area 522 includes an image (of an apple), a number of fields 532A-532D for receiving text input, descriptive text associated with each of the fields 532A-532D, and a sign-up complete affordance 531C that, when selected, creates a user account with the authentication credentials entered into the fields 532A-532D.
[0138] The plurality of fields 532A-532D includes a new username field 532A for receiving text input indicating a username associated with the user account. The plurality of fields 532A-532D includes a phone number field 532B for receiving text input indicating a phone number associated with the user account (e.g., a phone number of the device 100 and / or the user). The plurality of fields 532A-532D includes a new password field 532C for receiving text input indicating a password associated with the user account. The plurality of fields 532A-532D includes a password confirmation field 532D for receiving text input in the new password field 532C that matches the password input.
[0139] FIG. 5B shows a contact 550B detected at the location of the new username field 532A.
[0140] FIG. 5C illustrates user interface 500 of FIG. 5B in response to detecting contact 550B at new username field 532A. In response to detecting selection of new username field 532A, content area 522 includes cursor 533 displayed in new username field 532A. Additionally, user interface 500 includes soft keyboard 503A having a number of character insertion affordances that, when selected, write a respective character into the selected field. Soft keyboard 503A includes navigation area 541. Navigation area 541 includes a previous affordance (indicated by an up arrow) that, when selected, selects and moves cursor 533 to the previous field, a next affordance (indicated by a down arrow) that, when selected, selects and moves cursor 533 to the next field, and an exit affordance (indicated by the text "Done") that, when selected, deselects the selected field and stops displaying cursor 533 and soft keyboard 503A.
[0141] Soft keyboard 503A includes a text suggestion area 542 that contains a text suggestion affordance that shows suggested text and, when selected, inserts the suggested text into the selected field.
[0142] FIG. 5C illustrates contact 550C at one of the letter insertion affordances of soft keyboard 503A.
[0143] FIG. 5D illustrates the user interface 500 of FIG. 5C in response to detecting contact 550C at one of the character insertion affordances (and additional contacts at other character insertion affordances to complete writing of the username "jappleseed" in the new username field 532A).
[0144] FIG. 5D shows contact 550D detected at the location of phone number field 532B.
[0145] FIG 5E illustrates the user interface 500 of FIG 5D in response to detecting contact 550D at the location of phone number field 532B. In response to detecting selection of phone number field 532B, cursor 533 is displayed in phone number field 532B. Additionally, soft keyboard 503A is replaced by a numeric soft keyboard 503B having a number of character insertion affordances that, when selected, write a respective numeric character into the selected field. Similar to soft keyboard 503A, numeric soft keyboard 503B includes a navigation region 541 and a text suggestion region 542.
[0146] FIG. 5E illustrates a contact 550E detected at the location of one of multiple character insertion affordances.
[0147] FIG. 5F illustrates the user interface 500 of FIG. 5E in response to detecting contact 550E at the location of one of the character insertion affordances (and additional contacts at other character insertion affordances to complete writing of the phone number "(408)555-1234" in phone number field 532B).
[0148] FIG. 5F shows contact 550F detected at the location of new password field 532C.
[0149] FIG. 5G1 illustrates a first embodiment of the user interface 500 of FIG. 5F in response to detecting contact 550F at the location of new password field 532C. In response to detecting selection of new password field 532C, cursor 533 is no longer displayed. Thus, cursor 533 is not displayed in new password field 532C. Instead, a representation of the automatically generated password is displayed in new password field 532C (and password confirmation field 532D). Additionally, numeric soft keyboard 503B is replaced by new password user interface 503C (also referred to as a "password keyboard" or "password soft keyboard"). In various implementations, new password user interface 503C is displayed at the bottom of the display, for example, in the same location as soft keyboard 503A and / or numeric soft keyboard 503B.
[0150] In various implementations, the automatically generated password is generated by device 100 based on one or more password constraints of the user interface, such as including at least a threshold number of characters, at least one capital letter, at least one numeric character, and / or at least one special character. In various implementations, device 100 determines the one or more password constraints based on text in content area 522 of user interface 500 and / or other information provided by the service.
[0151] New password user interface 503C includes text 544 that includes a description of the new auto-generated password and instructions for obtaining the new auto-generated password. For example, text 544 indicates that the new auto-generated password was auto-generated and meets password strength requirements. Text 544 indicates that the new auto-generated password has been stored by device 100 and may be accessed by the user, for example, via a verbal request as described in more detail below.
[0152] New password user interface 503C includes an acceptance affordance 543A for accepting the new auto-generated password and a rejection affordance 543B for rejecting using the new auto-generated password. A secondary rejection affordance 543BB for rejecting using the new auto-generated password is displayed separately from new password user interface 503C, and in particular, next to a representation of the new auto-generated password in new password field 532C.
[0153] In response to the selection of a particular field, device 100 determines whether to display soft keyboard 503A (as in FIG. 5C), soft keyboard 503B (as in FIG. 5E), or new password user interface 503C based on the type of the particular field. In various implementations, device 100 uses a field detection and classification algorithm to determine the type of field. In various implementations, device 100 classifies the field based on one or more of: (1) the text associated with the content in content area 522 of user interface 500; or (2) the number of fields in content area 522 of user interface 500. For example, in response to detecting a field located next to text containing the word "password" and in response to detecting "register" or "sign up" in the text in content area 522, the device classifies the field as a new password field (and displays new password user interface 503C). In contrast, in response to detecting a field located in text containing the word "password" and in response to detecting "login" or "sign in" in the text in content region 522, the device classifies the field as a password field (and displays soft keyboard 503A to receive user input of a password or automatically insert a known password into the password field). As another example, in response to detecting two fields in content region 522, one of which is located next to text containing the word "password," device 100 classifies the field as a password field for signing in to a user account. In contrast, in response to detecting three or more fields in content region 522, one of which is located next to text containing the word "password," the device classifies the field as a new password field for creating a user account.Similarly, in response to detecting at least two fields in content region 522, two of which are located adjacent to text containing the word “password,” device 100 classifies the first field as a new password field and the second field as a password confirmation field.
[0154] In FIG. 5G1, the representation of the new auto-generated password displayed in new password field 532C is the new auto-generated password itself. FIG. 5G2 illustrates a second embodiment of user interface 500 of FIG. 5F in response to detecting contact 550F at new password field 532C, which differs from FIG. 5G1 in that the representation of the new auto-generated password displayed in new password field 532C (and password confirmation field 532D) is a generic password indicator, such as a series of asterisks or a series of filled circles. FIG. 5G3 illustrates a third embodiment of user interface 500 of FIG. 5F in response to detecting contact 550F at new password field 532C, which differs from FIG. 5G1 in that the representation of the new auto-generated password displayed in new password field 532C (and password confirmation field 532D) indicates that a portion of the new auto-generated password is not displayed, e.g., the new auto-generated password is faded and obscured along its length. In some embodiments, the new auto-generated password is displayed by an oval (e.g., "Y2v'GS...").
[0155] FIG. 5G3 shows contact 550G detected at the location of rejection affordance 543B.
[0156] Figure 5H illustrates user interface 500 of Figure 5G3 in response to detecting contact 550G at the location of rejection affordance 543B (or, in various embodiments, contact at the location of secondary rejection affordance 543BB). In response to detecting selection of rejection affordance 543B, new password user interface 503C (including acceptance affordance 543A and rejection affordance 543B) is replaced with soft keyboard 503A, which includes multiple character insertion affordances. Additionally, cursor 533 is displayed within new password field 532C.
[0157] In various embodiments (as in FIG. 5H ), in response to detecting a selection of reject affordance 543B, the representation of the new auto-generated password is no longer displayed. Thus, by using soft keyboard 503A, the user can enter a password created and / or selected by the user. In various embodiments, the representation of the new auto-generated password remains displayed. Thus, by using soft keyboard 503A, the user can edit the new auto-generated password to the user's preferences or adhere to requirements for the new password, such as a requirement that certain characters (e.g., question marks or asterisks) not be used.
[0158] FIG. 5I shows the user interface 500 of FIG. 5G3 with contact 550H detected at the location of acceptance affordance 543A (as opposed to contact 550G detected at the location of rejection affordance 543B).
[0159] Figure 5J illustrates user interface 500 of Figure 5I in response to detecting contact 550H at the location of acceptance affordance 543A. In response to detecting selection of acceptance affordance 543A, new password user interface 503C (including acceptance affordance 543A and rejection affordance 543B) is removed from view.
[0160] FIG. 5J shows contact 550I detected at the location of sign-up complete affordance 531C.
[0161] Figure 5K shows the user interface 500 of Figure 5J in response to detecting contact 550I at the location of sign-up completion affordance 531C. In Figure 5K, address bar 521 includes the address of a completion sign-up page for the service. In Figure 5K, content area 522 includes an image (of an apple), text indicating that the registration process is complete, and a home affordance 531D that, when selected, returns web browser user interface 502 to the home page of the web service.
[0162] FIG. 5K shows contact 550J detected at the location of home affordance 531D.
[0163] Figure 5L shows the user interface 500 of Figure 5K in response to detecting contact 550J at the location of home affordance 531D. In Figure 5K, address bar 521 includes the address of a home page, and the content displayed in content region 222 includes an image (of an apple), a sign-up affordance 531A, and a sign-in affordance 531B.
[0164] FIG. 5L shows contact 550K detected at the location of sign-in affordance 531B.
[0165] FIGURE 5M illustrates the user interface 500 of FIGURE 5L in response to detecting contact 550K at the location of sign-in affordance 531B. In FIGURE 5M, address bar 521 includes an address of a sign-in page of the service. In FIGURE 5M, content area 522 includes an image (of an apple), a plurality of fields 532E-532F for receiving text input, descriptive text associated with each of the plurality of fields 532E-532F, and a continue sign-in affordance 531E that, when selected, requests access to resources of the service based on the authentication credentials entered into the plurality of fields 532E-532F.
[0166] The plurality of fields 532E-532F includes a username field 532E for receiving text input indicating a username associated with an existing user account. The plurality of fields 532E-532F includes a password field 532F for receiving text input indicating a password associated with the user account. In FIG. 5M, the username field 532E and the password field 532F have been auto-populated based on the detection and classification of the fields 532E-532F and authentication credentials stored by the device 100.
[0167] FIG. 5M shows contact 550L at the location of continue sign-in affordance 531E.
[0168] FIG. 5N illustrates the user interface 500 of FIG. 5M in response to detecting contact 550L at the location of the sign-in continue affordance 531E. In FIG. 5N, the address bar 521 includes an address of a confirmation page of the service. In FIG. 5N, the content area 522 includes an image (of an apple), a confirmation code field 532G for receiving text input, descriptive text respectively associated with the confirmation code field 532G, and another sign-in continue affordance 531F that, when selected, requests access to resources of the service based on the authentication credentials, specifically the confirmation code entered in the confirmation code field 532G. The content area 522 also includes a request code affordance 531G that, when selected, requests that an electronic message including the confirmation code be sent to the user, for example as a text message sent to the phone number provided in FIG. 5E.
[0169] Figure 5O illustrates the user interface 500 of Figure 5N after the electronic message has been received by device 100. In response to receiving the electronic message, message notification 561A is displayed. Message notification 561A includes text indicating the source of the electronic message (e.g., the phone number "987-66") and preview text that previews the contents of the electronic message.
[0170] FIG. 5O shows contact 550M detected at the location of message notification 561A.
[0171] FIG. 5P illustrates the user interface 500 of FIG. 5O in response to detecting contact 550M at the location of message notification 561A. User interface 500 includes a navigation bar 505 below device bar 501 that includes a back affordance 506 that, when selected, returns to web browser user interface 502. User interface 500 includes a text messenger user interface 504 below navigation bar 505 and across the remainder of the display. Text messenger user interface 504 includes a contact bar 562 and a content area 563. Contact bar 562 includes text indicating the source of the content displayed in content area 563. Contact bar 562 also includes a back affordance (indicated by "<") that, when selected, displays a list of contact affordances for accessing content provided by each contact (e.g., SMS text messages). Contact bar 562 also includes an information affordance (circled "i") that, when selected, provides information about the source of the content displayed in content area 563.
[0172] The content area 563 includes a message window 564 that includes the contents of the electronic message received from the source. In the message window 564, the contents of the text message that meet each of the criteria are displayed (e.g., highlighted) in a different manner than the remainder of the content. Specifically, in FIG. 5P, the contents of the text message that meet each of the criteria are underlined, while the remainder of the content is not underlined. In various embodiments, the contents of the text message that meet each of the criteria are displayed in a different color (e.g., blue) than the remainder of the content (e.g., black). In various embodiments, each of the criteria includes an email format requirement that the content matches an email format (e.g., includes characters preceding and following the at sign ("@")). In various embodiments, each of the criteria includes a phone number format requirement that the content matches a phone number format (e.g., includes at least a threshold number of numeric characters). In various embodiments, each of the criteria includes a verification code format requirement that the content matches a verification code format. A verification code format is one in which a numeric or alphanumeric value, such as 123456 or ab3d5f, is in close proximity to a keyword or short group of words that indicate the presence of a security code, such as "passcode", "authentication code", "two-factor authentication (2FA)", "your <service name> code", or "verify your account".
[0173] FIG. 5P shows contact 550N detected at a location of content displayed within message window 564 that meets the phone number format requirements.
[0174] Figure 5Q shows user interface 500 of Figure 5P in response to detecting contact 550N at a location of content meeting phone number format requirements displayed in message window 564. In Figure 5Q, user interface 500 includes a phone window 565A containing text indicating a phone number, a call affordance 566A that, when selected, causes device 100 to place a call to the phone number, and a cancel affordance 566B that, when selected, closes phone window 565A.
[0175] FIG. 5Q shows contact 550O detected at the location of cancellation affordance 566B.
[0176] Figure 5R illustrates the user interface 500 of Figure 5Q in response to detecting contact 550O at the location of cancel affordance 566B. In Figure 5R, phone window 565A is no longer displayed.
[0177] FIG. 5R shows contact 550P at the location of content that meets the verification code format requirements displayed in message window 564.
[0178] Figure 5S shows the user interface 500 of Figure 5R in response to detecting contact 550P at a location of content that meets the authentication code format requirements displayed in message window 564. In Figure 5S, user interface 500 includes a verification code window 565B that includes text indicating a verification code, a copy affordance 566C that, when selected, causes device 100 to store the verification code in a cache (e.g., copy the verification code to the clipboard), and a cancel affordance 566D that, when selected, closes the verification code window 565B.
[0179] FIG. 5S shows contact 550P detected at the location of copy affordance 566C.
[0180] 5T illustrates user interface 500 in response to detecting contact 550P at the location of copy affordance 566C. In FIG. 5T, verification code window 565B is no longer displayed.
[0181] FIG. 5T shows contact 550Q detected at the location of return affordance 506.
[0182] Figure 5U1 illustrates user interface 500 in response to detecting contact 550Q at the location of return affordance 506. In Figure 5U1, text messenger user interface 504 has been replaced with web browser user interface 502 of Figure 5N. Thus, Figure 5U1 differs from Figure 5N in that, although not shown, device 100 has received an electronic message and has stored a confirmation code in a cache (e.g., has copied the confirmation code to a clipboard).
[0183] In comparison to FIG. 5O, FIG. 5U2 illustrates another embodiment of the user interface 500 of FIG. 5N after an electronic message has been received by device 100. In response to receiving the electronic message, message notification 561B is displayed. Message notification 561B includes text indicating the source of the electronic message (e.g., phone number "987-66") and preview text that previews the content of the electronic message. In response to detecting electronic message content that meets the respective criteria, including the verification code format requirements, message notification 561B also includes copy affordance 561C that, when selected, causes device 100 to store the verification code in a cache (e.g., copies the verification code to a clipboard) and read affordance 561D that, when selected, closes message notification 561B.
[0184] FIG. 5U2 shows contact 550R detected at the location of copy affordance 561C.
[0185] Figure 5U3 shows user interface 500 of Figure 5U2 in response to detecting contact 550R at the location of copy affordance 561C. User interface 500 of Figure 5U3 is the same as user interface 500 of Figure 5U1.
[0186] FIG. 5U3 shows contact 550S detected at the location of verification code field 532G.
[0187] FIGURE 5V illustrates user interface 500 of FIGURE 5U3 (or, similarly, FIGURE 5U1) in response to detecting contact 550S at the location of verification code field 532G. In response to detecting selection of verification code field 532G, cursor 533 is displayed within verification code field 532G. User interface 500 further includes numeric soft keyboard 503B.
[0188] In response to including text stored in the cache, e.g., text copied to the clipboard, user interface 500 includes a paste affordance 534 that, when selected, inserts the text stored in the cache into the selected field.
[0189] FIG. 5V shows contact 550T detected at the location of paste affordance 534.
[0190] Figure 5W shows the user interface 500 of Figure 5V in response to detecting contact 550T at the location of paste affordance 534. In Figure 5W, the verification code from the cache has been inserted into verification code field 532G.
[0191] FIG. 5W shows contact 550U detected at the location of continue sign-in affordance 531F.
[0192] FIGURE 5X illustrates the user interface 500 of FIGURE 5W in response to detecting contact 550U at the location of sign-in continue affordance 531F. In FIGURE 5X, address bar 521 includes the address of a content page of the service. In FIGURE 5X, content area 522 includes resources provided by the service protected by authentication credentials (potentially including an authentication code).
[0193] In comparison to Figure 5O, Figure 5Y illustrates another embodiment of the user interface 500 of Figure 5N after an electronic message has been received by device 100. In response to receiving the electronic message, message notification 561A is displayed. Message notification 561A includes text indicating the source of the electronic message (e.g., the phone number "987-66") and preview text that previews the contents of the electronic message.
[0194] FIG. 5O shows contact 550M in the location of message notification 561A, while FIG. 5Y shows contact 550V in the location of verification code field 532G.
[0195] FIG. 5Z illustrates the user interface of FIG. 5Y in response to detecting contact 550V at the location of verification code field 532G. In response to detecting selection of verification code field 532G, cursor 533 is displayed within verification code field 532G. Additionally, user interface 500 includes numeric soft keyboard 503B. Numeric soft keyboard 503B includes navigation region 541 and text suggestion region 542. Subject to respective criteria being met, text suggestion region 542 includes an insertion affordance 545 that, when selected, automatically inserts a verification code within verification code field 532G. Although FIG. 5Z illustrates numeric soft keyboard 503B, in various implementations, insertion affordance 545 is displayed within text suggestion region 542 above soft keyboard 503A, a handwriting recognition user interface, or other user input region.
[0196] In various implementations, each criterion includes a requirement that the electronic message includes content that meets the verification code format requirements. In various embodiments, each criterion includes a timing requirement that the user interface is displayed within a predetermined period of time from when the electronic message is received. Thus, in various embodiments, the insertion affordance is displayed for a limited time, e.g., 3 minutes, from when the electronic message is received. In various embodiments, each criterion includes a characteristic requirement that the user interface includes a text input field having predetermined characteristics. In various embodiments, each criterion includes a selection requirement that the text input field is selected. For example, the insertion affordance 545 is displayed when a field that is classified as a verification code field (e.g., based on analytics or metadata about the field provided by the service) is selected. As another example, the insertion affordance 545 is displayed only when a field that is not otherwise classified, such as, for example, a username, a password, an email address, a phone number, a credit card number, an address, a multi-line input field, or the like, is selected.
[0197] In various implementations, the insertion affordance 545 includes an indication of the application from which the electronic message was received. For example, in FIG. 5Z, the insertion affordance 545 indicates a text messaging application ("Messages"). In other implementations, the insertion affordance indicates an email application or a chat application. In various implementations, the insertion affordance 545 includes an indication of the sender of the electronic message. For example, in FIG. 5Z, the insertion affordance indicates a phone number ("987-66"). In other implementations, the insertion affordance indicates the name of a service, e.g., "Apple Fun". In some implementations, the application indication or the sender indication are not displayed with the other.
[0198] FIG. 5Z shows contact 550W at the location of the insert affordance within text suggestion region 542.
[0199] FIG AA illustrates user interface 500 of FIG 5Z in response to detecting contact 550W at the location of insertion affordance 545. In FIG 5AA, a verification code has been inserted into verification code field 532G.
[0200] In various implementations, the user interface 500 of Figure 5AA is reached directly from the user interface of Figure 5Y without requiring selection of the insert affordance 545. Thus, in various implementations, in response to determining that the electronic message includes content that meets the respective criteria, the device 100 automatically inserts the content as an authentication code in the user interface.
[0201] In comparison to Figure 5O, Figure 5AB illustrates another embodiment of user interface 500 of Figure 5N after an electronic message has been received by device 100. In contrast to Figure 5O, in response to receiving the electronic message, message notification 561A is not displayed. Additionally, in response to determining that the electronic message includes content that meets the verification code format requirements, device 100 automatically inserts the content as an authentication code in authentication code field 532G without displaying or selecting insertion affordance 545.
[0202] In comparison with FIG. 5O, FIG. 5AC illustrates another embodiment of the user interface 500 of FIG. 5N after an electronic message is received by device 100. In response to receiving the electronic message, a message notification 561C is displayed. The message notification 561C includes text indicating the source of the electronic message (e.g., contact name "Gary") and preview text previewing the content of the electronic message. In contrast to FIG. 5O, the content of the electronic message does not include content that meets the respective criteria. Specifically, the content of the electronic message does not include content that meets the verification code formatting requirements. Thus, the message notification 561C does not include a copy affordance 561C, but instead includes a reply affordance 561E for creating a text message reply to the sender of the electronic message.
[0203] FIG. 5AC shows contact 550X at the location of verification code field 532G.
[0204] FIG. 5AD illustrates the user interface 500 of FIG. 5AC in response to detecting contact 550X at the location of the confirmation code field 532G. In response to detecting selection of the confirmation code field 532G, the content region 522 includes a cursor 533 displayed within the confirmation code field 532G. Additionally, the user interface 500 includes a soft keyboard 503A having a plurality of character insertion affordances that, when selected, write a character into the selected field. The soft keyboard 503A includes a navigation region 541 and a text suggestion region 542 that includes a text suggestion affordance showing suggested text and that, when selected, inserts the suggested text into the selected field. In FIG. 5AD, in contrast to FIG. 5Z, the text suggestion region 542 does not include an insertion affordance 545 for inserting a confirmation code because the electronic message displayed in the message notification 561C of FIG. 5AC does not include a confirmation code.
[0205] 6A illustrates an operating environment 600 including a first electronic device 610, a second electronic device 620, and a third electronic device 630. The first electronic device 610 corresponds to a portable electronic device such as the portable electronic device 100 of FIG. 1 or the device 300 of FIG. 3. The first electronic device 610 includes a display providing a first user interface 612. The second electronic device 620 is a media playback device connected to a display device 621 providing a second user interface 622. The third electronic device 630 is a remote control for the second electronic device 620. The third electronic device 630 includes a touch-sensitive input device 631 for generating user input that is sent to the second electronic device 620.
[0206] The second user interface 622 includes a number of affordances that, when selected, open an application or provide media content via the second user interface 622. In Figure 6A, an application affordance 623 of the multiple affordances is selected.
[0207] FIG. 6A shows a contact 650A detected on a touch-sensitive input device 631 while an application affordance 623 is selected.
[0208] FIG 6B illustrates the operating environment 600 of FIG 6A in response to detecting contact 650A on touch-sensitive input device 631 while application affordance 623 is selected. In FIG 6B, second user interface 622 includes a home screen of a service including an image (of an apple), a sign-up affordance 624A, and a sign-in affordance 624B. Sign-up affordance 624A, when selected, allows a user to register with the service, e.g., create a user account to access resources (e.g., content) protected by the user account's authentication credentials. Sign-in affordance 624B, when selected, allows a user to provide authentication credentials to access the service's resources. In FIG 6B, sign-in affordance 624B is selected.
[0209] FIG. 6B illustrates contact 650B detected on touch-sensitive input device 631 while sign-in affordance 624B is selected.
[0210] Figure 6C illustrates the operating environment 600 of Figure 6B in response to detecting contact 650B on touch-sensitive input device 631 while sign-in affordance 624B is selected. In Figure 6C, second user interface 622 includes a sign-in screen for the service that includes an image (of an apple), a username field 625A for receiving text input indicating a username associated with an existing user account, and a password field 625B for receiving text input indicating a password associated with the user account. Second user interface 622 includes a continue sign-in affordance 624C that, when selected, requests access to resources of the service based on the authentication credential input entered in fields 625A-625B.
[0211] In FIG. 6C, the second electronic device 620 sends an indication to the first electronic device 610 that the second electronic device 620 needs authentication credentials (eg, username and password) for the service.
[0212] 6D illustrates the first electronic device 610 in response to receiving an indication that the second electronic device 620 requires authentication credentials for a service. In FIG. 6D, the first user interface 612 includes the device bar 501 and an application launching user interface 507. The application launching user interface 507 includes a representation of a plurality of applications installed on the first electronic device 610 arranged in a grid. The first user interface 612 includes a sharing confirmation window 640 in front of the application launching user interface 507 (or any other user interface currently displayed).
[0213] The share confirmation window 640 includes text that describes an indication that the second electronic device 620 needs authentication credentials for the service. In various implementations, the text includes an indication of the service (e.g., "Apple Fun"). In various implementations, the text generally indicates that the second electronic device 620 needs authentication credentials for the service (e.g., "Johnny's Apple TV is asking for a password"). The share confirmation window 640 includes a share confirmation affordance 641 that, when selected, enables sharing of credentials between the first electronic device 610 and the second electronic device 620, as described further below. The share confirmation window 640 includes a share cancel affordance 642 that, when selected, denies sharing of credentials between the first electronic device 610 and the second electronic device 620.
[0214] In various implementations, the share confirmation window 640 is displayed on the first electronic device 610 pursuant to a determination that the first electronic device 610 is within a predetermined proximity to the second electronic device 620. In various implementations, the predetermined proximity is a distance to a closest device. In various implementations, the predetermined proximity is a predetermined range. In various implementations, the share confirmation window 640 is displayed on the first electronic device 610 pursuant to a determination that the first electronic device 610 is within a predetermined proximity to a third electronic device 630 associated with the second electronic device 620. In various implementations, the predetermined proximity is a distance to a closest device. In various implementations, the predetermined proximity is a predetermined range.
[0215] FIG. 6D shows contact 650C detected at the location of shared confirmation affordance 641.
[0216] FIG. 6E illustrates the operating environment 600 of FIG. 6C in response to detecting contact 650C at the location of the shared confirmation affordance 641. In FIG. 6E, the second user interface 622 displays confirmation information, e.g., an authorization code. In FIG. 6E, the first user interface 612 displays a confirmation prompt that requires the first electronic device 610 to input information from the second electronic device 620 (e.g., the confirmation information displayed by the second electronic device 620) in order to proceed. Specifically, the confirmation prompt is for establishing a secure connection between the first electronic device 610 and the second electronic device 620. The confirmation prompt includes a number of numeric character affordances for inputting information from the second electronic device 620 (e.g., the confirmation information displayed by the second electronic device 620). In various implementations, the confirmation prompt includes a soft keyboard, such as soft keyboard 503B, or other input user interface.
[0217] FIG. 6E illustrates a contact 650D at the location of one of a number character affordances.
[0218] 6F illustrates the first electronic device 610 in response to detecting contact 650D at one of the plurality of numeric character affordances and other contacts corresponding to confirmation information from the second electronic device 620. The first user interface 612 includes the device bar 501 and a service selection user interface 508. The service selection user interface 508 includes a list of service affordances 661A-661G associated with a plurality of services, user accounts for those services, and authentication credentials for those user accounts. The service selection user interface 508 includes a search field 662 for receiving text input and searching the plurality of services based on the text input.
[0219] 6F, the list of service affordances 661A-661G is sorted based at least in part on the relevance of the respective services. Specifically, an indication that the second electronic device 620 requires authentication credentials for a service indicates that service is listed at the top of the list of service affordances 661A-661G.
[0220] FIG. 6F shows a contact 650E detected at the location of the first service affordance 661A in the list of service affordances 661A-661G.
[0221] FIGURE 6G illustrates the operating environment 600 of FIGURE 6E in response to detecting contact 650E at the location of the first service affordance 661A. In FIGURE 6G, in the second user interface 622, the username field 625A and password field 625B are auto-populated with the authentication credentials received from the first electronic device 610. Additionally, the sign-in affordance 624C is selected. In the first user interface 612, a share complete window 643 is displayed including a notification indicating that the authentication credentials have been shared with the second electronic device 620.
[0222] FIG. 6G shows contact 650F detected on touch-sensitive input device 631 while continue sign-in affordance 624C is selected.
[0223] Figure 6H illustrates the operating environment 600 of Figure 6G in response to detecting contact 650F on touch-sensitive input device 631 while continue sign-in affordance 624C is selected. In Figure 6H, second user interface 622 includes a content screen of the service.
[0224] 7A illustrates application launch user interface 707 as part of a user interface 700 displayed by portable multifunction device 100 (hereinafter "device 100"). In addition to application launch user interface 507, user interface 700 includes a device bar 701 at the top of the display that includes an identifying name for device 100 (e.g., "iPhone"), a wireless connection indicator, the current time, and a battery indicator that indicates the charge level of device 100.
[0225] User interface 700 includes an application launch user interface 707 below device bar 701 and across the remainder of the display. Application launch user interface 707 includes representations of multiple applications installed on device 100, including a settings representation 710. As shown in FIG. 7A, each representation includes an icon associated with the corresponding application and text describing the application (e.g., the application's name or function). As for application launch user interface 707, in response to detecting user input at a designated location in the representation of an individual application, device 100 launches the individual application.
[0226] 7A illustrates an application launching user interface 707 in the form of a home screen, in various embodiments, the application launching user interface 707 is a taskbar or a file manager. Additionally, while FIG. 7A illustrates only a single page of a home screen, in various embodiments, the application launching user interface 707 includes multiple pages.
[0227] FIG. 7A shows a contact 750A detected at the location of the setting representation 710.
[0228] FIGURE 7B illustrates the user interface 700 of FIGURE 7A in response to detecting contact 750A at the settings representation 710. In response to detecting contact 750A at the settings representation 710, the application launch user interface 707 is replaced with a general settings user interface 704. The general settings user interface 704 includes a number of settings affordances 725A-F, including a connectivity management affordance 725A, a display management affordance 725B, a sound management affordance 725C, a storage management affordance 725D, a power management affordance 725E, and a password management affordance 725F. In various implementations, the general settings user interface 704 can include additional, fewer, or other settings affordances.
[0229] FIG. 7B shows contact 750B detected at the location of password management affordance 725F.
[0230] FIG. 7C illustrates the user interface 700 of FIG. 7B in response to detecting contact 750B at the password management affordance 725F. In response to detecting contact 750B at the password management affordance 725F, the general settings user interface 704 is replaced with a password management user interface 703. The password management user interface 703 includes a password list affordance 726A that, when selected, displays a list of user accounts each having associated authentication credentials. The password management user interface 703 includes a list of account affordances 726B-726D that, when selected, provide information and configurable settings for each user account in the list of user accounts. The password management user interface 703 includes an add account affordance 726E that, when selected, allows the user to add a user account to the list of user accounts. The password management user interface 703 includes a fetch settings affordance 726F that, when selected, allows the user to select a fetch setting for fetching data from the user accounts.
[0231] FIG. 7C shows contact 750C at the location of password restore affordance 726A.
[0232] FIGURE 7D illustrates user interface 700 in response to detecting contact 750C at password list affordance 726A. In FIGURE 7D, password management user interface 703 has been replaced with password list user interface 708. Password list user interface 708 includes a list of user account affordances 727A-727G, each associated with a plurality of user accounts and associated with a respective plurality of services and authentication credentials for those user accounts. Some of the user account affordances 727A, 727C, 727G include alert markers 781 that indicate that the password associated with the respective user account is the same as a password associated with one or more other user accounts.
[0233] In various implementations, a toggle affordance is provided that allows a user to toggle the display of alert marker 781. Additionally, in some implementations, alert marker 781 is not shown in any of the user account affordances when two user accounts are determined to be related and share authentication credentials, even if the two user accounts have the same password. For example, if facespace.com and hotels4less.com are related, e.g., owned by the same entity and / or known to use the same authentication credentials, alert marker 781 is not shown in any of the user account affordances 727E-727F.
[0234] The password list user interface 708 includes a search field 729 for receiving text input and searching multiple user accounts based on the text input. The password list user interface 708 includes a return affordance 728A for returning to the password management user interface 703.
[0235] FIG. 7D illustrates a contact 750D detected at the location of a fourth user account affordance 727D.
[0236] FIG. 7E illustrates the user interface 700 in response to detecting a contact at the location of the fourth user account affordance 727D. In FIG. 7E, the password list user interface 708 is replaced with a password details user interface 709A for the first user account for the first service. The password details user interface 709A includes a username affordance 730A including text indicating a username associated with the first user account for the first service and a password affordance 730B including text indicating a password associated with the first user account. The password details user interface 709A includes text indicating a website 731A associated with the first service. The password details user interface 709A includes a return affordance 728B for returning to the password list user interface 708.
[0237] 7F illustrates a lock screen user interface 705 as part of a user interface 700 displayed by portable multifunction device 100 (hereinafter "device 100"). In addition to lock screen user interface 705, user interface 700 includes a device bar 701 at the top of the display that includes an identifying name for device 100 (e.g., "iPhone"), a wireless connection indicator, the current time, and a battery indicator showing the charge level of device 100. In various implementations, lock screen user interface 705 is displayed while device 100 is in a locked state.
[0238] FIG. 7F shows a contact 750E detected moving upward from a location near the bottom of the display.
[0239] FIG. 7G illustrates the user interface 700 of FIG. 7F in response to detecting contact 750E moving upward from a location near the bottom of the display. In FIG. 7G, an authenticating window 741 is displayed indicating that an authentication process is being performed to authenticate the user. In various implementations, the authentication process includes receiving authentication information and authenticating the user based on the authentication information. In various implementations, the authentication information is a biometric of the user, such as one or more facial features or a fingerprint. Thus, in various implementations, the authentication information is received via a camera (e.g., a depth camera) or a fingerprint sensor. In various implementations, the authentication information is a passcode or password provided by the user. Thus, in various implementations, the authentication information is received and provided via the touch-sensitive surface.
[0240] 7H shows the user interface 700 of FIG. 7G in response to authenticating the user. In FIG. 7H, the authenticating window 741 has been replaced with an authenticated window 742.
[0241] 7I illustrates the user interface 700 of FIG. 7H after unlocking the device (e.g., placing the device 100 in an unlocked state) in response to authenticating a user. In FIG. 7I, the lock screen user interface 705 has been replaced with an application launch user interface 707.
[0242] 7I shows a spoken request 751A detected by device 100. In various embodiments, the spoken request 751A is displayed as part of user interface 700. In various embodiments, the spoken request 751A is not displayed. In FIG. 7I, the spoken request 751A is a spoken request to display password information for a first user account.
[0243] FIG. 7J illustrates the user interface 700 of FIG. 7I in response to detecting an oral request 751A to display password information for a first user account. In FIG. 7J, an authenticating window 741 is displayed indicating that an authentication process is being performed to authenticate the user. Thus, in various embodiments, even if the device 100 is in an unlocked state, the authentication process is performed before the password information is displayed. As described above, in various embodiments, the authentication process includes receiving authentication information and authenticating the user based on the authentication information. In various embodiments, authentication information suitable for unlocking the device (e.g., a passcode) may be inappropriate for displaying password information, which may require, for example, more secure authentication information (e.g., a biometric of the user). However, in various embodiments, authentication information suitable for displaying password information includes a passcode (e.g., if biometric authentication fails or is not configured).
[0244] Figure 7K shows the user interface 700 of Figure 7J in response to authenticating the user. In Figure 7K, authenticating window 741 has been replaced with authenticated window 742.
[0245] Figure 7L shows the user interface 700 of Figure 7K in response to authenticating the user and responding to the verbal request 751 A. In Figure 7L, the application launch user interface 705 has been replaced with a password details user interface 709A.
[0246] FIG. 7L shows contact 750F detected at the location of password affordance 730B.
[0247] Figure 7M illustrates the user interface 700 of Figure 7L in response to detecting contact 750F at the password affordance 730B. In response to detecting contact 750F at the password affordance 730B, the user interface 700 includes a copy affordance 732A that, when selected, stores the password associated with the first user account in a cache (e.g., copies the password to a clipboard) and a share affordance 732B that, when selected, initiates a process for sharing the password (and / or other authentication credentials) associated with the first user account.
[0248] FIG. 7M shows contact 750G detected at the location of shared affordance 732B.
[0249] FIG. 7N illustrates the user interface 700 of FIG. 7M in response to detecting contact 750G at the location of share affordance 732B. In FIG. 7N, the user interface 700 includes a recipient selection card 733 that includes a plurality of recipient affordances 734A-C that, when selected, initiate a process for sharing a password (and / or other authentication credentials) associated with the first user account with a respective recipient. In various embodiments, the recipient selection card 733 includes recipient affordances for nearby devices. In various embodiments, the recipient selection card 733 includes recipient affordances for contacts stored by the device 100.
[0250] In various implementations, device 100 displays the verification information (e.g., text and / or visual pattern) that is required to be entered into device 100 (e.g., via a keyboard or camera for visual patterns) before a password (and / or other authentication credential) is shared with the recipient device. In various implementations, the recipient device displays the verification information (e.g., text and / or visual pattern) that is required to be entered into device 100 (e.g., via a keyboard or camera for visual patterns) before a password (and / or other authentication credential) is shared with the recipient device. Examples of requiring verification information from one device to be entered into another device are described above with reference to FIGS. 6A-6H.
[0251] In comparison to Figure 7I, Figure 7O illustrates another embodiment of the user interface 700 of Figure 7H after unlocking the device in response to authenticating a user (e.g., after placing device 100 in an unlocked state). In Figure 7O, the lock screen user interface 705 has been replaced with an application launch user interface 707.
[0252] 7O illustrates a spoken request 751B detected by device 100. In various embodiments, spoken request 751B is displayed as part of user interface 700. In various embodiments, spoken request 751B is not displayed. In FIG 7O, spoken request 751B is a spoken request to display password information for a second user account.
[0253] FIG. 7P illustrates the user interface 700 of FIG. 7O in response to authenticating the user and responding to the verbal request 751B. In FIG. 7P, the application launch user interface 705 is replaced with a password details user interface 709B for a second user account for a second service. The password details user interface 709B includes a username affordance 730C including text indicating a username associated with the second user account for the second service and a password affordance 730D including text indicating a password associated with the second user account. The password details user interface 709B includes text indicating a website 731B associated with the second service. The password details user interface 709B includes a return affordance 728B for returning to the password list user interface 708.
[0254] Password details user interface 709B includes an alert 735 indicating that the password associated with the second user account is the same as a password associated with one or more other accounts. Alert 735 includes a change password affordance 736 that, when selected, displays a resource, e.g., a web page or application, for changing the password for the second account. In various implementations, change password affordance 736 links to a general web page / application, while in various implementations change password affordance 736 links to a change password user interface of the web page / application. In some embodiments, multiple services place their change password user interfaces under a commonly named path, e.g., ".well-known / change-password," and link change password affordance 736 to this path.
[0255] FIG. 7P shows contact 750H detected at the location of password change affordance 736.
[0256] Figure 7Q shows the user interface 700 of Figure 7P in response to detecting contact 750H at the location of password change affordance 736. In Figure 7Q, password details user interface 709B has been replaced with a web browser user interface 702 that includes a user interface for changing the password for the second user account.
[0257] In comparison to Figure 7I, Figure 7R illustrates another embodiment of the user interface 700 of Figure 7H after unlocking the device (e.g., placing the device 100 in an unlocked state) in response to user authentication. In Figure 7R, the lock screen user interface 705 has been replaced with an application launch user interface 707.
[0258] FIGURE 7R illustrates a spoken request 751C detected by device 100. In various embodiments, the spoken request 751C is displayed as part of user interface 700. In various embodiments, the spoken request 751C is not displayed. In FIGURE 7R, the spoken request 751C is a spoken request to display general password information.
[0259] Figure 7S shows the user interface 700 of Figure 7O in response to authenticating the user and responding to the verbal request 751C. In Figure 7S, the application launch user interface 707 has been replaced with a password list user interface 708 (as described in detail above with respect to Figure 7D).
[0260] In comparison to Figure 7I, Figure 7T illustrates another embodiment of the user interface 700 of Figure 7H after unlocking the device (e.g., placing the device 100 in an unlocked state) in response to user authentication. In Figure 7T, the lock screen user interface 705 has been replaced with an application launch user interface 707.
[0261] 7T shows a spoken request 751D detected by device 100. In various embodiments, the spoken request 751D is displayed as part of user interface 700. In various embodiments, the spoken request 751D is not displayed. In FIG. 7T, the spoken request 751D is a spoken request to display password information for a third user account.
[0262] FIG. 7U illustrates the user interface 700 of FIG. 7T in response to authenticating the user and responding to the verbal request 751D. Because the third user account is not one of the user accounts in the list of user accounts 727A-727G, the application launch user interface 707 is replaced with the password list user interface 708 (as described above with respect to FIG. 7D) rather than the password details user interfaces 709A-709B. However, in FIG. 7U, the search field 729 is pre-populated based on the verbal request, and the list of user accounts 727A-727G is sorted based on the pre-population of the search field 729. In some embodiments, the list of user accounts is filtered based on the pre-population of the search field 729 such that user accounts that do not match the pre-population of the search field 729 are not displayed.
[0263] In comparison to FIG. 7F, FIG. 7V illustrates a lock screen user interface 705 as part of a user interface 700 displayed by portable multifunction device 100 (hereinafter "device 100").
[0264] FIGURE 7V illustrates a spoken request 751E detected by device 100. In various embodiments, spoken request 751E is displayed as part of user interface 700. In various embodiments, spoken request 751E is not displayed. In FIGURE 7V, spoken request 751D is a spoken request to display password information for a first user account.
[0265] FIGURE 7W illustrates the user interface of FIGURE 7V in response to detecting an oral request to display password information for the first user account, where an authenticating window 741 is displayed to indicate that an authentication process is being performed to authenticate the user.
[0266] 7X shows the user interface 700 of FIG. 7W in response to authenticating a user. In FIG. 7X, authenticating window 741 has been replaced with authenticated window 742.
[0267] Figure 7Y shows the user interface 700 of Figure 7X after unlocking the device (e.g., placing the device 100 in an unlocked state) in response to authenticating the user and in response to a verbal request 751E. In Figure 7Y, the lock screen user interface 705 has been replaced with a password details user interface 709A.
[0268] 8A-8C show a flow diagram of a method 800 for generating a new password for a user account, according to some embodiments. Method 800 is performed on an electronic device (e.g., portable multifunction device 100 of FIG. 1A or device 300 of FIG. 3) having a display device and one or more input devices. In some embodiments, the display device is a touch screen display and one or more of the input devices are on or integrated into the display device. In some embodiments, the display device is separate from the one or more input devices. Some operations of method 800 are optionally combined and / or the order of some operations is optionally changed.
[0269] As described below, method 800 provides an intuitive way to generate a new password for a user account. Method 800 reduces the cognitive burden on a user in generating a new password for a user account, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, allowing a user to generate a new password for a user account faster and more efficiently conserves power and extends the time between battery charges.
[0270] The device displays (802) on a display device a user interface including a new password field. In various embodiments, the user interface includes an electronic form including multiple fields. For example, in FIG. 5B, device 100 displays web browser user interface 502 including new password field 532C.
[0271] The device detects (804) a user input, via one or more input devices, corresponding to selection of the new password field. In various implementations, the user input includes contact at the location of the new password field, clicking while the cursor is at the location of the new password field, tabbing to the new password field, or selecting the next affordance while a field ordered before the new password field is selected. For example, in FIG. 5F, device 100 detects contact 550F at the location of new password field 532C. As another example, referring to FIG. 5F, the user input corresponding to selection of the new password field can include contact at the location of the next affordance in navigation region 541.
[0272] In some embodiments, detecting a user input corresponding to a selection of a new password field includes determining that the selected field is a new password field (806) based on one or more of a number of fields in the user interface or text associated with the user interface. For example, in FIG. 5F, device 100 classifies the field selected by contact 550F as a new password field based on the text "password" next to the selected field, the text "register" in address bar 521, the number of fields 532A-532D being greater than two, and / or the number of fields having the text "password" next to the field being greater than one. By determining that the selected field is a new password field (rather than a field of a different type), the user interface provides different options in response to detecting a field of a different type, thus providing an efficient mechanism for a user to perform various different actions, thereby reducing the amount of user interaction to perform various actions. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in faster execution of various operations, thus reducing power consumption for performing various operations and extending the battery life of the device.
[0273] In response to detecting a user input corresponding to a selection into the new password field (808), the device displays (810) a representation of the new automatically generated password in the display device, the new password field. Automatically generating a new password for the user account provides an efficient mechanism for a user to generate a new password for the user account, thereby reducing the amount of user interaction for generating a new password for the user account. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in faster generation of a new password for the user account, thus reducing power consumption for generating a new password for the user account and extending the battery life of the device. Additionally, automatically generating a new password for the user account provides a unique, strong, and / or secure password for the user account, increasing security for the user account.
[0274] In some embodiments, the device displays (812) the new auto-generated password. For example, in FIG. 5G1, device 100 displays the new auto-generated password in new password field 532G. Displaying the new password provides a sense of security to the user, increases the likelihood that the user will accept the new password, and reduces user interaction to generate a different new password. Reducing user interaction reduces wear on the device, reduces power consumption, and extends the device's battery life.
[0275] In some embodiments, the device displays (814) a generic password indicator. For example, in FIG. 5G2, device 100 displays a series of asterisks (or bullets) in new password field 532C. Displaying a generic password indicator (rather than a new password) reduces user confusion during user account registration, particularly during password generation, and reduces user interaction during registration. Reducing user interaction reduces wear and tear on the device, reduces power consumption, and extends the device's battery life.
[0276] In some embodiments, the device displays a portion of the new auto-generated password and indicates that a portion of the new auto-generated password is not displayed (816). For example, in FIG. 5G3, device 100 indicates a portion of the new auto-generated password and that a portion of the new auto-generated password is not displayed, e.g., that the new auto-generated password has faded and become less visible along its length. Displaying a portion of the new password provides the benefits of both of the above embodiments, providing a sense of security to the user while reducing user confusion, thereby reducing user interaction with the device. Reducing user interaction reduces wear and tear on the device, reduces power consumption, and extends the battery life of the device.
[0277] In some embodiments, a new automatically generated password is generated (818) based on one or more user interface password generation constraints. For example, in FIG. 5G1, the new automatically generated password includes an uppercase letter (e.g., Y), a lowercase letter (e.g., v), a number (e.g., 2), a special character (e.g., %), and at least a threshold number of characters. Automatically generating a password based on the user interface password generation constraints increases the likelihood that the password will be accepted by the user, reduces the probability that the password will be rejected by the service, and ultimately reduces the amount of user interaction with the device. Reducing user interaction reduces wear and tear on the device, reducing power consumption and extending the device's battery life. Furthermore, adhering to the user interface password generation constraints increases the strength of the password, providing increased security for the user account.
[0278] Additionally, in response to detecting user input corresponding to selecting the new password field (808), the device displays (820) on the display device an affordance for accepting the new auto-generated password and an affordance for declining to use the new auto-generated password. For example, in FIG. 5G3, device 100 displays an accept affordance 543A and a decline affordance 543B. Displaying an affordance for accepting the new password (and a representation of the new password) in response to detecting user input corresponding to selecting the new password field (e.g., as opposed to a user input that requires the device to provide a new auto-generated password) increases the likelihood that the user will accept the new password and reduces user interaction to generate the new password. Thus, the security of the user account is increased, and the reduced user interaction reduces wear on the device, reduces power consumption, and extends the battery life of the device.
[0279] In some embodiments, the device displays (822) a new password user interface that includes an affordance for accepting the new auto-generated password and an affordance for rejecting using the new auto-generated password. For example, in FIG. 5G3, device 100 displays new password user interface 503C, which includes acceptance affordance 543A and rejection affordance 543B.
[0280] In some embodiments, the device displays (824) the new password user interface, excluding the display of multiple character insertion affordances displayed in the soft keyboard. For example, in FIG. 5G3, device 100 displays new password user interface 503C, but does not display soft keyboard 503A of FIG. 5C (or numeric soft keyboard 503B of FIG. 5E). By excluding the display of the soft keyboard, the likelihood that the user will accept the new password increases, resulting in increased security and reduced user interaction with the device. Furthermore, by excluding the display of the soft keyboard, less space is used on the screen, and thus the same usability can be provided on smaller (and less expensive) screens.
[0281] In some embodiments, the device detects (826) user input corresponding to selection of the user identifier field via one or more input devices. In various implementations, the user identifier field includes a username field, an email address field, a phone number field, etc. For example, in FIG. 5B, device 100 detects contact 550B at username field 532A. As another example, in FIG. 5D, device 100 detects contact 550D at phone number field 532B. In some embodiments, in response to detecting user input corresponding to selection of the user identifier field, the device displays (828) a soft keyboard including a plurality of character insertion affordances on a display device. For example, in FIG. 5C, in response to detecting contact 550B at username field 532A, device 100 displays soft keyboard 503A. As another example, in FIG. 5E, in response to detecting contact 550D at phone number field 532B, device 100 displays numeric soft keyboard 503B. Providing different user interfaces in response to detecting different types of fields provides an efficient mechanism for a user to perform a variety of different actions, thus reducing the amount of user interaction to perform the various actions, which reduces wear and tear on the device and extends the device's battery life.
[0282] In some embodiments, the new password user interface includes a description of the new auto-generated password and instructions for retrieving the new auto-generated password (830). For example, in FIG. 5G3, the new password user interface 503C includes text 544 including a description of the new auto-generated password and instructions for retrieving the new auto-generated password. Specifically, text 544 indicates that the new auto-generated password was auto-generated and meets password strength requirements. Text 544 indicates that the new auto-generated password is stored by device 100 and can be accessed by the user, for example, via a verbal request. Including the description of the new password and instructions for retrieval increases the likelihood that the user will accept the new password and reduces user interaction to generate the new password. Thus, security of the user account is increased, and reduced user interaction reduces wear on the device, reduces power consumption, and extends the device's battery life.
[0283] In some embodiments, the device displays (832) a second affordance to decline to use the new auto-generated password separately from the new password user interface. For example, in FIG. 5G3, device 100 displays a secondary decline affordance 543BB to decline to use the new auto-generated password separately from the new password user interface, specifically next to a representation of the new auto-generated password in new password field 532C. Displaying a second affordance to decline to use the new password results in a more efficient human-machine interface because the user can more easily find a mechanism to decline to use the new password. For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Additionally, a more efficient human-machine user interface reduces the amount of user interaction with the device, reducing wear and tear on the device.
[0284] In some embodiments, the device detects (834) user input, via one or more input devices, corresponding to a selection of an affordance to accept the new auto-generated password. For example, in FIG. 5I, device 100 detects contact 550H at the location of acceptance affordance 543A. In some embodiments, in response to detecting user input corresponding to a selection of an affordance to accept the new auto-generated password, the device stops displaying (836) the affordance to accept the new auto-generated password and the affordance to decline to use the new auto-generated password. For example, in FIG. 5J, in response to detecting contact 550H at the location of acceptance affordance 543A, the device stops displaying new password user interface 503C, including acceptance affordance 543A and decline affordance 543B.
[0285] In some embodiments, the device detects (838) user input via one or more input devices corresponding to a selection of an affordance for rejecting using the new auto-generated password. For example, in FIG. 5G3, device 100 detects contact 550G at the location of reject affordance 543B. In some embodiments, in response to detecting user input corresponding to a selection of an affordance for accepting the new auto-generated password, device replaces (840) the affordance for accepting the new auto-generated password and the affordance for rejecting using the new auto-generated password with a soft keyboard including multiple character insertion affordances. For example, in FIG. 5H, in response to detecting contact 550G at the location of reject affordance 543B, device 100 replaces new password user interface 503C including acceptance affordance 543A and rejection affordance 543B with soft keyboard 503B. Replacing the new password user interface with a soft keyboard provides an efficient mechanism for a user to generate a new password, thereby reducing the amount of user interaction for generating a new password. The reduced user interaction reduces wear and tear on the device. The reduction in user interaction also results in faster generation of new passwords, thus reducing power consumption for performing storage management operations and extending the device's battery life.
[0286] It should be understood that the particular order described for the operations in Figures 8A-8C is merely an example, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Furthermore, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 900, 1000, and 1100) are also applicable in a similar manner to method 800 described above with respect to Figures 8A-8C. For example, the user interface (including fields, affordances, and responses thereof), user input, password representation, and authentication credentials described above with reference to method 800, optionally have one or more of the characteristics of the user interface (including fields, affordances, and responses thereof), user input, password representation, and authentication credentials described herein with reference to other methods described herein (e.g., methods 900, 1000, and 1100). For the sake of brevity, those details will not be repeated here.
[0287] 9A-9D show a flow diagram of a method 900 of writing a verification code to a user interface, according to some embodiments. Method 900 is performed on an electronic device (e.g., portable multifunction device 100 of FIG. 1A or device 300 of FIG. 3) having a display device and one or more input devices. In some embodiments, the display device is a touch screen display and one or more of the input devices are on or integrated into the display device. In some embodiments, the display device is separate from the one or more input devices. Some operations of method 900 are optionally combined and / or the order of some operations is optionally changed.
[0288] As described below, method 900 provides an intuitive way of writing a verification code into a user interface. Method 900 reduces the cognitive burden on a user in writing a verification code into a user interface, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, allowing a user to write a verification code into a user interface faster and more efficiently conserves power and extends the time between battery charges.
[0289] The device receives (902) a request to access a protected resource via one or more input devices with a verification code. In various implementations, the verification code is a one-time use or on-demand code sent via an authorized communication channel, such as via text or email. In various implementations, the request includes selection of a login affordance or selection of a request code affordance. For example, in FIG. 5M, device 100 detects contact 550L at the location of continue sign-in affordance 531E.
[0290] After receiving the request to access the resource, the device receives (904) an electronic message at the electronic device. In various implementations, the electronic message is an SMS text message, an email, or a chat message. For example, in FIG. 5O, device 100 displays message notification 561A indicating that a text message has been received. However, in various implementations described below, the device receives the electronic message without displaying a message notification.
[0291] In some embodiments, in response to receiving the electronic message, the device displays a message notification on a display device (906). For example, in FIG. 5O, in response to receiving the electronic message, device 100 displays message notification 561A. In some embodiments, the message notification includes a copy affordance that, when selected, copies the content to a clipboard (908). For example, in FIG. 5U2, device 100 displays message notification 561A including copy affordance 561C. The copy affordance provides an efficient mechanism for a user to write a verification code without having to manually write each character of the verification code, reducing user interaction with the device. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in faster writing of the verification code, thus reducing power consumption for writing the verification code and extending the battery life of the device.
[0292] In some embodiments, the device detects (910) a user input corresponding to a selection of a message notification via one or more inputs. For example, in FIG. 5O, device 100 detects contact 550M at the location of message notification 561A. In some embodiments, in response to detecting a user input corresponding to a selection of a message notification, the device displays (912) an electronic message on a display device with highlighted content matching a predefined format (as described further below with respect to block 916). For example, in FIG. 5P, device 100 displays message window 564 including the content of the electronic message received from the source with highlighting (e.g., underlining) of the content matching the predefined format (e.g., verification code "03201981"). Displaying the electronic message in response to detecting a selection of a message notification provides a more efficient human-machine interface (because the user does not have to access an application launch user interface to launch an application that displays the electronic message). Additionally, displaying the electronic message with highlighted content matching the predefined format guides the user to quickly find the verification code, providing a more efficient human-machine interface. For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Additionally, a more efficient human-machine user interface reduces the amount of user interaction with the device, reducing wear and tear on the device.
[0293] In some embodiments, in response to receiving the electronic message, the device (914) displays a message notification on a display device pursuant to a determination that the electronic message does not include content meeting the respective criteria (as described further below with respect to block 916) and withholds (or suppresses) the display of the message notification pursuant to a determination that the electronic message does include content meeting the respective criteria. For example, in FIG. 5AC, in response to a determination that the received text message does not include a verification code, the device 100 displays a message notification 561C. However, in FIG. 5AB, in response to a determination that the received text message does include a verification code, the device 100 withholds the display of the message notification. Withholding the display of the message notification simplifies the process of writing the verification code, reduces the likelihood that a user will launch an application in which the electronic message was received, and increases the likelihood that a user will use an insertion affordance to write the verification code. This reduces user interaction with the device, reduces wear and tear, and increases battery life.
[0294] After receiving the electronic message, while displaying a user interface on the display device for inputting the verification code, in accordance with a determination that the electronic message includes content that meets the respective criteria, including a format requirement that the electronic message includes content that matches a predetermined format, the device displays (916) an insertion affordance on the display device that, when selected, automatically inserts the content that matches the predetermined format into the user interface as a verification code. For example, in FIG. 5Z, after receiving the text message that prompted the display of the message notification 561A in FIG. 5Y, while displaying a web browser user interface 502 that includes a verification code field 532G, in accordance with a determination that the text message includes a verification code, the device 100 displays an insertion affordance 545 that, when selected, inserts the verification code into the verification code field 532G. The insertion affordance provides an efficient mechanism for a user to write the verification code, thus reducing the amount of user interaction for writing the verification code. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in a faster initiation of execution of the storage management operation, thus reducing power consumption for executing the storage management operation and extending the battery life of the device.
[0295] In some embodiments, each criterion includes a timing requirement that the user interface for entering the verification code be displayed within a predetermined period of time from when the message is received (918). For example, in FIG. 5Z, device 100 displays insert affordance 545 pursuant to a determination that verification code field 532G is selected within three minutes of receipt of the text message that prompted the display of message notification 561A in FIG. 5Y. Displaying the insert affordance for a limited time increases the likelihood that a user will select the insert affordance, decreases the likelihood that the insert affordance will be displayed when the user is unlikely to select it, and saves space on the screen. By using less space on the screen, the same usability can be provided with a smaller (and less expensive) screen.
[0296] In some embodiments, each criterion includes a characteristic requirement that the user interface for entering the confirmation code includes a text input field having a predetermined characteristic (920). For example, in FIG. 5Z, device 100 displays insert affordance 545 pursuant to a determination that web browser user interface 502 includes confirmation code field 532G. In some embodiments, each criterion includes a selection requirement that a text input field having a predetermined characteristic is selected (922). For example, in FIG. 5Z, device 100 displays insert affordance 545 pursuant to a determination that confirmation code field 532G is selected (e.g., by detecting contact 550V of FIG. 5Y). Displaying the insert affordance when the confirmation code field is selected increases the likelihood that the user will select the insert affordance and reduces the likelihood that the insert affordance will be displayed when the user is unlikely to select it, saving space on the screen. By using less space on the screen, the same usability can be provided with a smaller (and less expensive) screen.
[0297] In some embodiments, the predefined format is based on the text of the electronic message (924). For example, in FIG. 5Z, device 100 displays insert affordance 545 pursuant to detection of the text "code" in the text message that prompted the display of message notification 561A of FIG. 5Y. In some embodiments, the predefined format is based on content including a character string that meets predefined character criteria (926). For example, in FIG. 5Z, device 100 displays insert affordance 545 pursuant to detection of a character string that includes a series of eight numeric characters ("03201981").
[0298] In some embodiments, the insert affordance is displayed (928) along with a soft keyboard that includes multiple character insertion affordances. For example, in FIG. 5Z, device 100 displays insert affordance 545 as part of numeric soft keyboard 503B above the multiple character insertion affordances. In some embodiments, the insert affordance is displayed (930) within a text suggestion area. For example, in FIG. 5Z, device 100 displays insert affordance 545 within the text suggestion area of numeric soft keyboard 503B. In various implementations, the text suggestion area is above the soft keyboard, located on a touch bar, or within a pop-up menu. Displaying the insert affordance along with the soft keyboard provides a more efficient human-machine interface by providing the user with different options (e.g., using the insert affordance or typing a verification code using the soft keyboard) without additional user interaction to access the different options. Reducing the amount of user interaction with the device reduces wear on the device and extends the device's battery life.
[0299] In some embodiments, the insertion affordance includes an indication of the application from which the electronic message was received (932). For example, in FIG. 5Z, the insertion affordance 545 includes an indication that the verification code was received from a text messaging application. In some embodiments, the insertion affordance includes an indication of the sender of the electronic message (934). For example, in FIG. 5Z, the insertion affordance 545 includes an indication that the verification code was received from the telephone number "987-66." Including an indication of the application and / or sender of the electronic message increases the likelihood that a user will select the insertion affordance to effectively write the verification code and reduces user interaction with the device to otherwise write the verification code. Reducing the amount of user interaction with the device reduces wear on the device and extends the battery life of the device.
[0300] In some embodiments, after receiving the electronic message, while displaying a user interface on the display device for inputting the verification code, in accordance with a determination that the electronic message does not include content that meets the respective criteria, the device refrains from displaying (936) the insertion affordance. For example, in FIG. 5AD, after receiving the text message that prompted the display of the message notification 561C in FIG. 5AC, while displaying the web browser user interface 502 including the verification code field 532G, in accordance with a determination that the text message does not include the verification code, the device does not display (938) the insertion affordance on the display device, which, when selected, automatically inputs a respective word into the user interface. For example, in FIG. 5AD, the device 100 displays an alternative insertion affordance in the text suggestion area 542.
[0301] In some embodiments, the device detects (940) user input corresponding to selection of the insert affordance via one or more input devices. For example, in FIG. 5Z, device 100 detects contact 550W at the location of insert affordance 545. In some embodiments, in response to detecting user input corresponding to selection of the insert affordance, the device automatically inserts (942) content consistent with a predetermined format into the user interface as a verification code. For example, in FIG. 5AA, device 100 inserts verification code "03201981" into verification code field 532G. Automatically inserting the verification code into the user interface provides an efficient human-machine interface for writing the verification code. For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Additionally, a more efficient human-machine user interface reduces the amount of user interaction with the device, reducing wear and tear on the device.
[0302] In some embodiments, in response to determining that the electronic message includes content that meets the respective criteria, the device automatically inserts (944) content that matches the predefined format as a verification code in the user interface. For example, in FIG. 5AB, in response to receiving the text message, in response to receiving the prompt of message notification 561A of FIG. Y, device 100 automatically writes the verification code "03201981" in verification code field 532G. Automatically writing the verification code in the user interface provides an efficient human-machine interface for writing the verification code. For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Additionally, a more efficient human-machine user interface reduces the amount of user interaction with the device, reducing wear and tear on the device.
[0303] It should be understood that the particular order described for the operations in Figures 9A-9D is merely an example, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Furthermore, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 800, 1000, and 1100) may also be applied in a similar manner to method 900 described above with respect to Figures 9A-9D. For example, the user interface (including fields, affordances, and responses thereof), user inputs, notifications, and criteria described above with reference to method 900 may optionally have one or more of the characteristics of the user interface (including fields, affordances, and responses thereof), user inputs, notifications, and criteria described herein with reference to other methods described herein (e.g., methods 800, 1000, and 1100). For the sake of brevity, those details will not be repeated here.
[0304] 10A-10C show a flow diagram of a method 1000 for sharing authentication credentials, according to some embodiments. Method 1000 is performed on a first electronic device (e.g., portable multifunction device 100 of FIG. 1A or device 300 of FIG. 3) having a display device and one or more input devices. In some embodiments, the display device is a touch screen display and one or more of the input devices are on or integrated into the display device. In some embodiments, the display device is separate from the one or more input devices. Some operations of method 1000 are optionally combined and / or the order of some operations is optionally changed.
[0305] As described below, method 1000 provides an intuitive way to share authentication credentials. Method 1000 reduces the cognitive burden on users when sharing authentication credentials, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, allowing users to share authentication credentials faster and more efficiently conserves power and extends the time between battery charges.
[0306] The first electronic device receives an indication at the first electronic device that the second electronic device requires authentication credentials for the service 1002. For example, in FIG. 6D , the first electronic device 610 displays a share confirmation window 640 in response to receiving the indication that the second electronic device 620 requires authentication credentials for the service.
[0307] In response to receiving an indication that the second electronic device requires authentication credentials for the service, and following a determination that the first electronic device satisfies the respective criteria, including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, the first electronic device displays (1004) a confirmation prompt on a display device that requires input of confirmation information from the second electronic device on the first electronic device to proceed such that the respective criteria are satisfied. For example, in FIG. 6E, the first electronic device 610 displays a first user interface 612 on the first electronic device 610 that includes a confirmation prompt that requires input of information from the second electronic device 620 (e.g., confirmation information displayed by the second electronic device 620) to proceed.
[0308] In some embodiments, the first electronic device refrains from displaying the confirmation prompt (1006) in accordance with a determination that the first electronic device does not meet the respective criteria. For example, in FIG. 6E, a third electronic device that does not meet the respective criteria refrains from displaying the confirmation prompt. Forgoing the display of the confirmation prompt on a user device that is not in close proximity to the second electronic device provides a more efficient human-machine interface, reduces the amount of user interaction to close the confirmation prompt, and uses less on-screen space for unnecessary information. For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Furthermore, a more efficient human-machine user interface reduces the amount of user interaction with the device and reduces wear and tear on the device. By using less space on the screen, the same usability can be provided with a smaller (and less expensive) screen.
[0309] In some embodiments, each criterion includes a requirement that the first electronic device be in proximity to a third electronic device associated with the second electronic device (1008). In some embodiments, the second electronic device is a media playback device and the third electronic device is a remote control for the second electronic device (1010). For example, in FIG. 6E, the first electronic device 610 displays a confirmation prompt according to its proximity to the third electronic device 630.
[0310] In some embodiments, the first electronic device displays (1012) on a display device a share confirmation notification including a share confirmation affordance that, when selected, causes a confirmation prompt to appear and detects user input via one or more input devices corresponding to selection of the share confirmation affordance. For example, in FIG. 6E, the first electronic device 610 displays a share confirmation window 640 including a share confirmation affordance 641 and detects contact 650C at the location of the share confirmation affordance 641. The share confirmation window reduces the likelihood that authentication credentials are accidentally shared. Thus, security of the user account is increased.
[0311] In some embodiments, the confirmation information from the second electronic device is displayed by the second electronic device 1014. For example, in FIG. 6E, the confirmation information from the second electronic device 620 is displayed by the second electronic device 620 on the display device 621.
[0312] While displaying the confirmation prompt, the first electronic device receives confirmation information from the second electronic device on the first electronic device via one or more input devices (1016). For example, in FIG. 6E, the first electronic device detects contact 650D (and additional contacts) that correspond to the confirmation information displayed by the second electronic device 620.
[0313] In some embodiments, the confirmation prompt is for establishing a secure connection between the first electronic device and the second electronic device (1018), and receiving the confirmation information from the second electronic device on the first electronic device includes receiving input that satisfies a condition for establishing the secure connection between the first electronic device and the second electronic device.
[0314] In response to receiving the confirmation information, the first electronic device initiates a process for sharing authentication credentials for the service from the first electronic device to the second electronic device (1020). For example, in FIG. 6F, in response to receiving the confirmation information, the first electronic device 610 displays a service selection user interface 508 including a list of service affordances 661A-661G, each associated with a plurality of services, user accounts for those services, and authentication credentials for those user accounts, and in FIG. 6G, in response to detecting a selection of a particular service, shares the authentication credentials for the service from the first electronic device 610 to the second electronic device 620. Sharing the authentication credentials provides an efficient mechanism for a user to enter authentication credentials on the second electronic device without using other user interaction. The reduction in user interaction reduces wear on the device. The reduction in user interaction also results in a quicker initiation of the entry of authentication credentials on the second electronic device, thus reducing power consumption for entering authentication credentials and extending the battery life of the device.
[0315] In some embodiments, the first electronic device detects (1022) a sequence of one or more inputs via one or more input devices to share authentication credentials for the service. For example, in FIG. 6F , the device detects contact 650E at the location of the first service affordance 661A and, in response, shares authentication credentials for the first service from the first electronic device 610 to the second electronic device 620.
[0316] In some embodiments, the first electronic device displays 1024 on a display device a service list including a plurality of service affordances corresponding to a plurality of services, each associated with a plurality of authentication credentials. For example, in FIG. 6F, the first electronic device 610 displays a service selection user interface 508 including a list of service affordances 661A-661G, each associated with a plurality of services, user accounts for those services, and authentication credentials for those user accounts.
[0317] In some embodiments, the first electronic device sorts the service list based at least in part on the relevance of each service (1026). In various implementations, the relevance of each service is based on a domain name, application name, or identifier name for the service that requires authentication credentials to be provided by the second device and applied by the first device. For example, in FIG. 6F, an indication that the second electronic device 620 needs authentication credentials for a service indicates that the service is listed at the top of the list of service affordances 661A-661G. Sorting the service list provides an efficient mechanism for a user to select a service affordance associated with an intended service and increases security by reducing user interaction with the device and reducing the possibility that a user may accidentally share authentication credentials (for another user account).
[0318] In some embodiments, the first electronic device detects (1028) a user input, via one or more input devices, corresponding to a selection of one of a plurality of service affordances corresponding to a service associated with the authentication credentials for the service. For example, in FIG. 6F , the device detects contact 650E at the location of the first service affordance 661A and, in response, shares the authentication credentials for the first service from the first electronic device 610 to the second electronic device 620.
[0319] In some embodiments, in response to detecting the sequence of one or more inputs, the first electronic device shares (1030) authentication credentials for the service from the first electronic device to the second electronic device. For example, in FIG. 6G, in response to detecting contact 650E at the location of the first service affordance 661A of FIG. 6F, the first electronic device 610 shares authentication credentials for the first service from the first electronic device 610 to the second electronic device 620.
[0320] In some embodiments, the first electronic device transmits (1032) authentication credentials for the service wirelessly over a secure connection from the first electronic device to the second electronic device. For example, the authentication credentials may be transmitted over a peer-to-peer WiFi connection or a Bluetooth connection. In some embodiments, the first electronic device shares (1034) the authentication credentials, including a user identification name and password, from the first electronic device to the second electronic device.
[0321] In some embodiments, prior to transmitting the authentication credentials, the first electronic device authenticates the user. Thus, in some embodiments, the first electronic device obtains (1036) authentication information via one or more input devices and authenticates (1038) the user based on the authentication information. Authenticating the user prior to sharing the authentication credentials increases the security of the user account by reducing the likelihood that the authentication credentials will be shared without the user's knowledge.
[0322] In some embodiments, after the process of sharing the authentication credentials for the service, the first electronic device displays 1040 a notification on a display device indicating that the process for sharing the authentication credentials for the service is complete. For example, in FIG. 6G, the first electronic device 610 displays a sharing completion window 643 that includes a notification indicating that the authentication credentials have been shared with the second electronic device 620.
[0323] It should be understood that the particular order described for the operations in Figures 10A-10C is merely an example, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Furthermore, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 800, 900, and 1100) can also be applied in a manner similar to method 1000 described above with respect to Figures 10A-10C. For example, the user interface (including fields, affordances, and responses thereof), user input, electronic device, and authentication credentials described above with reference to method 1000, optionally have one or more of the characteristics of the user interface (including fields, affordances, and responses thereof), user input, electronic device, and authentication credentials described herein with reference to other methods described herein (e.g., methods 800, 900, and 1100). For the sake of brevity, those details will not be repeated here.
[0324] 11A-11C show a flow diagram of a method 1100 for displaying password information, according to some embodiments. Method 1100 is performed on an electronic device (e.g., portable multifunction device 100 of FIG. 1A or device 300 of FIG. 3) having a display device and one or more input devices. In some embodiments, the display device is a touch screen display and one or more of the input devices are on or integrated into the display device. In some embodiments, the display device is separate from the one or more input devices. Some operations of method 1100 are optionally combined and / or the order of some operations is optionally changed.
[0325] As described below, the method 1100 provides an intuitive way to display password information. The method 1100 reduces the cognitive burden on a user when displaying password information, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, allowing a user to display password information faster and more efficiently conserves power and extends the time between battery charges.
[0326] The device detects (1102) an oral request to display password information via one or more input devices. In various implementations, the device detects the oral request via a microphone. For example, in FIG. 7I, device 100 detects an oral request 751A to display password information. As another example, in FIG. 7O, device 100 detects an oral request 751B to display password information. As another example, in FIG. 7R, device 100 detects an oral request 751C to display password information. As another example, in FIG. 7T, device 100 detects an oral request 751D to display password information.
[0327] In response to receiving the verbal request to display password information, in accordance with a determination that the request is for a password of a first user account accessible by the device and the user is authenticated, the device displays (1104) the password of the first user account. For example, in FIG. 7L, in accordance with a determination that the verbal request 751A is for a password of a user account associated with the fourth user account affordance 727D of FIG. 7D and after authenticating the user (as shown in FIGS. 7J-7K), device 100 displays password affordance 730B including text indicating a password associated with the user account. As another example, in FIG. 7P, in accordance with a determination that the verbal request 751B is for a password of a user account associated with the seventh user account affordance 727G of FIG. 7D and after authenticating the user, device 100 displays password affordance 730D including text indicating a password associated with the user account. Displaying password information in response to a verbal request provides an efficient mechanism for displaying password information, thus reducing the amount of user interaction for displaying password information. Reduced user interaction reduces wear on the device. Reduced user interaction also results in earlier initiation of display of the password information, thus reducing power consumption for displaying the password information and extending the battery life of the device.
[0328] In some embodiments, the device displays (1106) information about a first user account accessible by the device. For example, in FIG. 7L, the device 100 displays a password details user interface 709A including a username affordance 730A including text indicating a username associated with the user account for the service, a password affordance 730B including text indicating a password associated with the user account, and text indicating a website 731A associated with the service of the user account. As another example, in FIG. 7P, the device 100 displays a password details user interface 709B including a username affordance 730C including text indicating a username associated with the user account for the service, a password affordance 730D including text indicating a password associated with the user account, and text indicating a website 731B associated with the service of the user account. Providing additional information about the first user account increases the user's confidence regarding the display of the first password and reduces the likelihood that the user will perform further user interaction to display the first password. Reducing user interaction reduces wear on the device and extends the device's battery life.
[0329] In some embodiments, the information about the first user account accessible by the device includes password security information for a password for the first user account (1108). In some embodiments, the information about the first user account accessible by the device includes an alert indicating that the password for the first user account is the same as a password for another user account accessible by the device (1110). For example, in FIG. 7P, the device 100 displays an alert 735 indicating that a password associated with the second user account is the same as a password associated with one or more other accounts. In some embodiments, the password security information about the password for the first user account includes information about the strength of the password, such as whether it is easily guessed, short, has low entropy, contains common words, etc. In some embodiments, the alert includes an affordance that, when selected, displays a resource for changing the password for the first user account (1112). For example, in FIG. 7P, the alert 735 includes a password change affordance 736 that, when selected, displays a resource, e.g., a web page or an application, for changing the password for the user account. Providing an affordance for changing weak or duplicate passwords provides an efficient mechanism for users to change passwords, thus reducing the amount of user interaction to change a password. Reducing user interaction reduces wear and tear on the device. Reducing user interaction also results in faster initiation of the password change, thus reducing power consumption to change the password and extending the battery life of the device. Furthermore, providing an efficient mechanism for users to change passwords increases the likelihood that a user will perform such action, increasing the security of the user account.
[0330] In response to receiving the verbal request to display password information, in accordance with a determination that the request is for a password of a second user account accessible by the device and the user has been authenticated, the device displays (1114) the password of the second user account. For example, in FIG. 7L, in accordance with a determination that the verbal request 751A is for a password of a user account associated with the fourth user account affordance 727D of FIG. 7D and after authenticating the user (as shown in FIGS. 7J-7K), device 100 displays password affordance 730B including text indicative of a password associated with the user account. As another example, in FIG. 7P, in accordance with a determination that the verbal request 751B is for a password of a user account associated with the seventh user account affordance 727G of FIG. 7G and after authenticating the user, device 100 displays password affordance 730D including text indicative of a password associated with the user account.
[0331] In some embodiments, in response to receiving an oral request to display password information and following a determination that the request is for general password information, the device displays (1116) a list of password display affordances that, when selected, display the respective passwords of the respective user accounts accessible by the device. For example, in FIG. 7S, in response to receiving the oral request 751C of FIG. 7R, the device 100 displays a password list user interface 708 that includes a list of user account affordances 727A-727G that are respectively associated with a plurality of user accounts with respective services and authentication credentials for those user accounts. Displaying password information in response to an oral request provides an efficient mechanism for displaying password information, thus reducing the amount of user interaction for displaying password information. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in a faster initiation of displaying password information, thus reducing power consumption for displaying password information and extending the battery life of the device.
[0332] In some embodiments, in response to receiving a verbal request to display password information, and following a determination that the request is for a password of a user account that is not accessible by the device, the device displays (1118) a list of password display affordances that, when selected, display a respective password for a respective user account that is accessible by the device. For example, in FIG. 7U, in response to receiving verbal request 751D of FIG. 7T, device 100 displays a password list user interface 708 that includes a list of user account affordances 727A-727G that are respectively associated with a plurality of user accounts with respective services and authentication credentials for those user accounts. In some embodiments, the device displays (1120) a search field that is pre-populated based on the verbal request. For example, in FIG. 7U, search field 729 is pre-populated with the word "Hotels" based on verbal request 751D of FIG. 7T.
[0333] In some embodiments, the device detects (1122) user input via one or more input devices corresponding to selection of a password for the first user account. For example, in FIG. 7L, device 100 detects contact 7520F at the location of password affordance 730B. In some embodiments, in response to detecting user input corresponding to selection of a password for the first user account, the device displays (1124) a share affordance on a display device that, when selected, initiates a process for sharing the password for the first user account. For example, in FIG. 7M, device 100 displays share affordance 732B that, when selected, initiates a process for sharing a password (and / or other authentication credentials) associated with the first user account. Thus, the user interface provides an efficient mechanism for users to share authentication credentials and reduces the amount of user interaction for sharing authentication credentials. The reduced user interaction reduces wear and tear on the device. The reduced user interaction also results in faster initiation of sharing of authentication credentials, thus reducing power consumption for sharing authentication credentials and extending the battery life of the device.
[0334] In some embodiments, the device detects (1126) user input via one or more input devices corresponding to a selection of the share affordance. For example, in FIG. 7M, device 100 detects contact 750G at the location of share affordance 732B. In some embodiments, in response to detecting user input corresponding to a selection of the share affordance, the device displays (1128) a recipient selection card on a display device that includes one or more recipient affordances that, when selected, share a password for the first user account with the respective device. For example, in FIG. 7N, device 100 displays recipient selection card 733 that includes a plurality of recipient affordances 734A-734C that, when selected, initiate a process for sharing a password (and / or other authentication credentials) associated with the first user account with the respective recipient.
[0335] In some embodiments, in response to receiving an oral request to display the password information and following a determination that the user is not authenticated, the device proceeds to authenticate the user and display the requested password information. Thus, in some embodiments, in response to receiving an oral request to display the password information and following a determination that the user is not authenticated, the device obtains authentication information via one or more input devices and authenticates the user based on the authentication information (1130). For example, in FIGS. 7J-7K, in response to detecting an oral request 751A, the device 100 obtains authentication information via one or more input devices (as shown by authenticated window 741 in FIG. 7J) and authenticates the user based on the authentication information (as shown by authenticated window 742 in FIG. 7K). In some embodiments, the authentication information includes a biometric of the user, such as a facial feature or a fingerprint (1132). Authenticating the user increases the security of the user account by ensuring that password information is not displayed without the user's knowledge.
[0336] In some embodiments, prior to receiving the verbal request to display the password information and while the device is locked, the device detects (1134) a user input via one or more input devices requesting unlocking of the device, and in response to the user input requesting unlocking of the device, the device obtains unlock information via the one or more input devices, and the device unlocks the device based on the unlock information. For example, in FIG. 7F, the device 100 detects a user input requesting unlocking of the device in the form of contact 750E detected moving upward from a position near the bottom of the display. In FIG. 7G, the device 100 obtains the unlock information (as indicated by authenticating window 741). In FIG. 7H, the device 100 unlocks the device 100 based on the unlock information (as indicated by authenticated window 742).
[0337] In some embodiments, the unlocking information includes a passcode and the authentication information includes a user biometric or includes a passcode if the biometric authentication fails (1136). Thus, in various implementations, the authentication information is more secure than the unlocking information. However, in various implementations, the authentication information includes a passcode (e.g., if the biometric authentication fails, if the biometric authentication fails twice, or if not configured).
[0338] In some embodiments, the authentication information is obtained while the device is locked, and authenticating the user based on the authentication information further includes unlocking the device based on the authentication information (1138). For example, in FIG. 7W, the device 100 obtains authentication information (as indicated by the authenticating window 741) while the device is locked (as indicated by the lock screen user interface 705). In FIG. 7Y, the device 100 is unlocked based on the authentication information (as indicated by the password details user interface 709A). Unlocking the device and authenticating the user based on the same information results in a more efficient human-machine interface (as the user does not have to separately unlock and authenticate the device). For battery-operated electronic devices, a more efficient human-machine user interface conserves power and extends the time between battery charges. Additionally, a more efficient human-machine user interface reduces the amount of user interaction with the device, reducing wear and tear on the device.
[0339] It should be understood that the particular order described for the operations in Figures 11A-11C is merely an example, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Furthermore, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 800, 900, and 1000) are also applicable in methods similar to method 1100 described above with respect to Figures 11A-11C. For example, the user interface (including fields, affordances, and responses thereto), user input (particularly verbal requests and commands), and authentication credentials described above with reference to method 1100, optionally have one or more of the characteristics of the user interface (including fields, affordances, and responses thereto), user input (particularly verbal requests and commands), and authentication credentials described herein with reference to other methods described herein (e.g., methods 800, 900, and 1000). For the sake of brevity, those details will not be repeated here.
[0340] The operations in the information processing methods described above are optionally performed by executing one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A and 3) or an application-specific chip.
[0341] The operations described above with reference to Figures 8A-8C, 9A-9D, 10A-10C, and 11A-11C are optionally performed by the components depicted in Figures 1A-1B. For example, display operation 802, detect operation 804, display operation 810, display operation 820, receive operation 902, receive operation 904, display operation 916, receive operation 1002, display operation 1004, receive operation 1016, initiate operation 1020, detect operation 1102, display operation 1104, or display operation 1114 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information with a respective event definition 186 to determine whether a first contact (or rotation of the device) at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as selecting an object on a user interface or rotating the device from one orientation to another. When a respective predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with the detection of that event or sub-event. Event handler 190 optionally uses or calls data updater 176 or object updater 177 to update 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 will be clear to one skilled in the art how other processes may be implemented based on the components depicted in FIGS. 1A-1B.
[0342] The above has been described with reference to specific embodiments for purposes of explanation. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, and thereby enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suited to the particular uses contemplated.
Claims
1. In an electronic device having a display device and one or more input devices, displaying on the display device a user interface including a new password field; detecting user input via the one or more input devices corresponding to a selection of the new password field; in response to detecting the user input corresponding to a selection of the new password field, displaying on said display device a representation of a new automatically generated password in said new password field; displaying on the display device an affordance for accepting the new auto-generated password and an affordance for rejecting using the new auto-generated password; A method comprising:
2. The method of claim 1 , wherein displaying the representation of the new auto-generated password comprises displaying the new auto-generated password.
3. 2. The method of claim 1 , wherein displaying the representation of the new auto-generated password includes displaying a portion of the new auto-generated password and an indication that the portion of the new auto-generated password is not being displayed.
4. The method of claim 1 , wherein displaying the representation of the new automatically generated password comprises displaying a generic password indicator.
5. 5. The method of claim 1, wherein displaying the affordance for accepting the new auto-generated password and the affordance for declining to use the new auto-generated password comprises displaying a new password user interface including the affordance for accepting the new auto-generated password and the affordance for declining to use the new auto-generated password.
6. The method of claim 5 , wherein displaying the new password user interface excludes displaying a plurality of character insertion affordances displayed in a soft keyboard.
7. detecting user input via the one or more input devices corresponding to a selection of a user identification name field; in response to detecting the user input corresponding to a selection of the user identification name field, displaying, on the display device, the soft keyboard including the plurality of character insertion affordances; The method of claim 6 further comprising:
8. 8. The method of claim 5, wherein the new password user interface further includes a description of the new automatically-generated password and instructions for obtaining the new automatically-generated password.
9. 9. The method of claim 5, wherein displaying the new password user interface further comprises displaying, separate from the new password user interface, a second affordance for declining to use the new automatically-generated password.
10. detecting a user input via the one or more input devices corresponding to a selection of the affordance for accepting the new automatically-generated password; in response to detecting the user input corresponding to the selection of the affordance for accepting the new auto-generated password, ceasing to display the affordance for accepting the new auto-generated password and the affordance for declining to use the new auto-generated password; The method of claim 1 , further comprising:
11. detecting a user input via the one or more input devices corresponding to a selection of the affordance to decline to use the new automatically-generated password; in response to detecting the user input corresponding to the selection of the affordance to accept the new auto-generated password, replacing the affordance to accept the new auto-generated password and the affordance to decline to use the new auto-generated password with a soft keyboard including a plurality of character insertion affordances; The method of claim 1 , further comprising:
12. 12. The method of claim 1, wherein detecting the user input corresponding to a selection of the new password field comprises determining that the selected field is a new password field based on one or more of a number of fields in the user interface or text associated with the user interface.
13. The method of claim 1 , wherein the new automatically generated password is generated based on one or more password generation constraints of the user interface.
14. a display device configured to display a user interface; one or more input devices configured to receive input; a processing device coupled to the display device and the one or more input devices; 1. An electronic device comprising: displaying on the display device a user interface including a new password field; detecting user input via the one or more input devices corresponding to a selection of the new password field; in response to detecting the user input corresponding to a selection of the new password field, displaying on said display device a representation of the new automatically generated password in said new password field; displaying on the display device an affordance for accepting the new automatically-generated password and an affordance for rejecting use of the new automatically-generated password.
1. An electronic device configured to:
15. 15. The electronic device of claim 14, wherein the processing device is configured to display the representation of the new auto-generated password by displaying the new auto-generated password.
16. 15. The electronic device of claim 14, wherein the processing device is configured to display the representation of the new auto-generated password by displaying a portion of the new auto-generated password and an indication that the portion of the new auto-generated password is not displayed.
17. The electronic device of claim 14 , wherein the processing device is configured to display the representation of the new automatically-generated password by displaying a generic password indicator.
18. 18. The electronic device of claim 14, wherein the processing device is configured to display the affordance for accepting the new auto-generated password and the affordance for rejecting using the new auto-generated password by displaying a new password user interface including the affordance for accepting the new auto-generated password and the affordance for rejecting using the new auto-generated password.
19. 20. The electronic device of claim 18, wherein the processing device is configured to display the new password user interface without displaying a plurality of character insertion affordances displayed in a soft keyboard.
20. the processing device comprising: detecting user input via the one or more input devices corresponding to a selection of a user identification name field; displaying, on the display device, the soft keyboard including the plurality of character insertion affordances in response to detecting the user input corresponding to a selection of the user identification name field. The method is further configured as follows:
20. The electronic device of claim 19.
21. 21. The electronic device of claim 18, wherein the new password user interface further includes a description of the new automatically-generated password and instructions for obtaining the new automatically-generated password.
22. 22. The electronic device of claim 18, wherein the processing device is configured to display the new password user interface while displaying, separately from the new password user interface, a second affordance for declining to use the new automatically-generated password.
23. the processing device comprising: detecting user input via the one or more input devices corresponding to a selection of the affordance to accept the new automatically-generated password; in response to detecting the user input corresponding to the selection of the affordance for accepting the new auto-generated password, ceasing to display the affordance for accepting the new auto-generated password and the affordance for declining to use the new auto-generated password.
23. The electronic device of claim 14, further configured to:
24. The processing device further comprises: detecting user input via the one or more input devices corresponding to a selection of the affordance to decline to use the new automatically-generated password; in response to detecting the user input corresponding to the selection of the affordance for accepting the new auto-generated password, replacing the affordance for accepting the new auto-generated password and the affordance for rejecting using the new auto-generated password with a soft keyboard including a plurality of character insertion affordances.
23. An electronic device according to any one of claims 14 to 22.
25. 25. The electronic device of claim 14, wherein the processing device is configured to detect the user input corresponding to a selection of the new password field by determining that the selected field is a new password field based on one or more of a number of fields in the user interface or text associated with the user interface.
26. 26. The electronic device of claim 14, wherein the new automatically generated password is generated based on one or more password generation constraints of the user interface.
27. A display device; one or more input devices; one or more processors; A non-transient memory; and one or more programs, The one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: displaying on the display device a user interface including a new password field; detecting user input via the one or more input devices corresponding to a selection of the new password field; in response to detecting the user input corresponding to a selection of the new password field, displaying on said display device a representation of the new automatically generated password in said new password field; displaying on the display device an affordance for accepting the new automatically-generated password and an affordance for rejecting use of the new automatically-generated password. Includes instructions for Electronic devices.
28. A non-transitory computer-readable storage medium having stored thereon one or more programs, the one or more programs, when executed by an electronic device having a display device and one or more input devices, causing the electronic device to: displaying on said display device a user interface including a new password field; detecting a user input via the one or more input devices corresponding to a selection of the new password field; in response to detecting the user input corresponding to a selection of the new password field, displaying, on said display device, a representation of a new automatically generated password in said new password field; displaying on the display device an affordance for accepting the new automatically-generated password and an affordance for rejecting use of the new automatically-generated password. A non-transitory computer-readable storage medium containing instructions.
29. A display device; one or more input devices; means for displaying on said display device a user interface including a new password field; means for detecting user input via said one or more input devices corresponding to selection of said new password field; means for displaying, in response to detecting the user input corresponding to selection of the new password field, a representation of a new auto-generated password in the new password field on the display device and displaying, on the display device, an affordance for accepting the new auto-generated password and an affordance for rejecting using the new auto-generated password; 2. An electronic device comprising:
30. A display device; one or more input devices; one or more processors; A non-transient memory; and one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing or causing the performance of any of the methods according to claims 1 to 13.
31. A non-transitory computer readable storage medium having stored thereon one or more programs, the one or more programs including instructions that, when executed by an electronic device comprising a display device and one or more input devices, cause the electronic device to perform or to cause the electronic device to perform any of the methods of claims 1 to 13.
32. A display device; one or more input devices; Means for carrying out or causing to be carried out any of the methods according to claims 1 to 13; 2. An electronic device comprising:
33. A graphical user interface on an electronic device having a display device, one or more input devices, a non-transitory memory, and one or more processors executing one or more programs stored in the non-transitory memory, the graphical user interface comprising a user interface displayed according to any of the methods of claims 1 to 13.
34. 1. An information processing apparatus for use in an electronic device having a display device and one or more input devices, comprising: Means for carrying out or causing to be carried out any of the methods according to claims 1 to 13 An information processing device comprising:
35. In an electronic device having a display device and one or more input devices, receiving, via the one or more input devices, a request to access a resource protected by a verification code; receiving an electronic message at the electronic device after receiving the request to access the resource; after receiving the electronic message and while displaying, via the display device, a user interface for inputting the verification code, pursuant to a determination that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content that conforms to a predetermined format, displaying an insertion affordance that, when selected, automatically inserts the content that conforms to the predetermined format as a verification code within the user interface; A method comprising:
36. 36. The method of claim 35, wherein the respective criteria includes a timing requirement that the user interface for entering the verification code be displayed within a predetermined period of time from when the message is received.
37. 37. The electronic device of claim 35 or 36, wherein the respective criterion comprises a characteristic requirement that the user interface for entering the verification code comprises a text input field having predetermined characteristics.
38. 38. The method of claim 37, wherein the respective criteria includes a selection requirement that the text entry field having the predetermined characteristic be selected.
39. 39. The method of any one of claims 35 to 38, wherein the predetermined format is based on the text of the electronic message.
40. 40. The method of any one of claims 35 to 39, wherein the predetermined format is based on the content including strings of characters that meet predetermined character criteria.
41. and forgoing display of the insertion affordance in accordance with a determination that the electronic message does not contain content that meets the respective criteria.
41. The method of any one of claims 35 to 40, further comprising:
42. pursuant to a determination that the electronic message does not contain content meeting the respective criteria, displaying one or more alternative insertion affordances that, when selected, automatically enter the respective word into the user interface.
42. The method of claim 41 further comprising:
43. detecting a user input via the one or more input devices corresponding to a selection of the insert affordance; In response to detecting the user input corresponding to a selection of the insertion affordance, automatically inserting the content that matches the predetermined format into the user interface as a verification code; 43. The method of any one of claims 35 to 42, further comprising:
44. responsive to said determining that said electronic message includes said content that meets said respective criteria, automatically inserting said content that matches said predetermined format into said user interface as a verification code; 44. The method of any one of claims 35 to 43, further comprising:
45. 45. The method of any one of claims 35 to 44, wherein displaying the insertion affordance comprises displaying the insertion affordance together with a soft keyboard including a plurality of character insertion affordances.
46. 46. The method of any one of claims 35 to 45, wherein displaying the insert affordance comprises displaying the insert affordance within a text suggestion area.
47. 47. The method of any one of claims 35 to 46, wherein the insertion affordance includes an indication of the application from which the electronic message was received.
48. 48. The method of any one of claims 35 to 47, wherein the insertion affordance comprises an indication of the sender of the electronic message.
49. In response to receiving the electronic message, displaying a message notification in response to a determination that the electronic message does not contain content that meets the respective criteria; and withholding display of the message notification in response to a determination that the electronic message contains content that meets the respective criteria; 49. The method of any one of claims 35 to 48, further comprising:
50. 49. The method of any one of claims 35 to 48, further comprising displaying a message notification in response to receiving the electronic message.
51. detecting a user input via the one or more input devices corresponding to a selection of the message notification; In response to detecting the user input corresponding to a selection of the message notification, displaying the electronic message with emphasis on the content that matches the predetermined format; 51. The method of claim 50, further comprising:
52. 52. The method of claim 50 or 51, wherein the message notification includes a copy affordance that, when selected, copies the content to a clipboard.
53. a display device configured to display a user interface; one or more input devices configured to receive input; An electronic device in communication with the display device and the one or more input devices, the electronic device comprising: receiving, via the one or more input devices, a request to access a protected resource with a verification code; receiving an electronic message at the electronic device after receiving the request to access the resource; after receiving the electronic message and while displaying, via the display device, a user interface for inputting the verification code, pursuant to a determination that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content that conforms to a predetermined format, displaying an insertion affordance that, when selected, automatically inserts the content that conforms to the predetermined format as a verification code within the user interface.
1. An electronic device configured to:
54. 54. The electronic device of claim 53, wherein the respective criteria include a timing requirement that the user interface for entering the verification code is displayed within a predetermined period of time from when the message is received.
55. 55. The electronic device of claim 53 or 54, wherein the respective criteria includes a characteristic requirement that the user interface for entering the verification code includes a text input field having predetermined characteristics.
56. 56. The electronic device of claim 55, wherein the respective criteria includes a selection requirement that the text input field having the predetermined characteristic is selected.
57. 57. The electronic device of any one of claims 53 to 56, wherein the predetermined format is based on the text of the electronic message.
58. 58. The electronic device of any one of claims 53 to 57, wherein the predetermined format is based on the content including strings of characters meeting predetermined character criteria.
59. the processing device comprising:
59. The electronic device of any one of claims 53 to 58, further configured to withhold display of the insertion affordance in accordance with a determination that the electronic message does not contain content satisfying the respective criterion.
60. the processing device comprising: pursuant to a determination that the electronic message does not contain content meeting the respective criteria, displaying one or more alternative insertion affordances that, when selected, automatically enter the respective word into the user interface.
60. The electronic device of claim 59, further configured to:
61. the processing device comprising: Detecting user input via the one or more input devices corresponding to a selection of the insertion affordance; In response to detecting the user input corresponding to a selection of the insertion affordance, automatically inserting the content that matches the predetermined format into the user interface as a verification code.
61. The electronic device of any one of claims 53 to 60, further configured to:
62. the processing device comprising: In response to the determination that the electronic message includes the content that meets the respective criteria, automatically inserting the content that matches the predetermined format into the user interface as a verification code.
62. The electronic device of any one of claims 53 to 61, further configured to:
63. 63. The electronic device of any one of claims 53 to 62, wherein the processing device is configured to display the insertion affordance together with a soft keyboard including a plurality of character insertion affordances.
64. 64. The electronic device of claim 53, wherein the processing device is configured to display the insertion affordance within a text suggestion area.
65. 65. The electronic device of claim 53, wherein the insertion affordance includes an indication of the application from which the electronic message was received.
66. 66. The electronic device of claim 53, wherein the insertion affordance comprises an indication of the sender of the electronic message.
67. the processing device, in response to receiving the electronic message, displaying a message notification in response to a determination that the electronic message does not contain content that meets the respective criteria; withholding display of the message notification in response to a determination that the electronic message contains content that meets the respective criteria.
67. The electronic device of any one of claims 53 to 66, further configured to:
68. 67. The electronic device of any one of claims 53 to 66, wherein the processing device is further configured to display a message notification in response to receiving the electronic message.
69. the processing device comprising: detecting a user input via the one or more input devices corresponding to a selection of the message notification; In response to detecting the user input corresponding to a selection of the message notification, displaying the electronic message with emphasis on the content that matches the predetermined format.
69. The electronic device of claim 68, further configured to:
70. 70. The electronic device of claim 68 or 69, wherein the message notification includes a copy affordance that, when selected, copies the content to a clipboard.
71. A display device; one or more input devices; one or more processors; A non-transient memory; and one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: receiving, via the one or more input devices, a request to access a protected resource with a verification code; receiving an electronic message at the electronic device after receiving the request to access the resource; after receiving the electronic message and while displaying, via the display device, a user interface for inputting the verification code, pursuant to determining that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content that conforms to a predetermined format, displaying an insertion affordance that, when selected, automatically inserts the content that conforms to the predetermined format as a verification code within the user interface. Including instructions for Electronic devices.
72. A non-transitory computer-readable storage medium having stored thereon one or more programs, the one or more programs, when executed by an electronic device having a display device and one or more input devices, causing the electronic device to: receiving, via the one or more input devices, a request to access a protected resource with a verification code; receiving an electronic message at the electronic device after receiving the request to access the resource; after receiving the electronic message and while displaying, via the display device, a user interface for inputting the verification code, pursuant to determining that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content that conforms to a predetermined format, displaying an insertion affordance that, when selected, automatically inserts the content that conforms to the predetermined format as a verification code within the user interface. A non-transitory computer-readable storage medium containing instructions.
73. A display device; one or more input devices; means for receiving, via the one or more input devices, a request to access a resource protected by a verification code; means for receiving an electronic message at the electronic device after receiving the request to access the resource; means for displaying, after receiving the electronic message and while displaying, via the display device, a user interface for inputting the verification code, in accordance with a determination that the electronic message includes content that meets respective criteria including a format requirement that the electronic message includes content that matches a predetermined format, an insertion affordance that, when selected, automatically inserts the content that matches the predetermined format into the user interface as a verification code; 2. An electronic device comprising:
74. A display device; one or more input devices; one or more processors; A non-transient memory; and one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing or causing the performance of any of the methods according to claims 35 to 52. Electronic devices.
75. 53. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by an electronic device comprising a display device and one or more input devices, cause the electronic device to perform, or cause the electronic device to perform, any of the methods according to claims 35 to 52.
76. A display device; one or more input devices; Means for carrying out or causing to be carried out any of the methods according to claims 35 to 52; 2. An electronic device comprising:
77. 53. A graphical user interface on an electronic device having a display device, one or more input devices, non-transitory memory, and one or more processors executing one or more programs stored in the non-transitory memory, the graphical user interface comprising a user interface displayed according to any of the methods of claims 35 to 52.
78. 1. An information processing apparatus for use in an electronic device having a display device and one or more input devices, comprising: Means for carrying out or causing to be carried out any of the methods according to claims 35 to 52 An information processing device comprising:
79. A first electronic device having a display device and one or more input devices, receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service; in response to receiving the indication that the second electronic device requires authentication credentials for the service, pursuant to a determination that the first electronic device satisfies each criterion including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, displaying via the display device a confirmation prompt requiring input of confirmatory information from the second electronic device onto the first electronic device in order to proceed since the respective criterion has been satisfied; receiving, on the first electronic device, the confirmation information from the second electronic device via the one or more input devices while displaying the confirmation prompt; In response to receiving the confirmation information, initiating a process for sharing authentication credentials for the service from the first electronic device to the second electronic device; A method comprising:
80. Initiating the process for sharing authentication credentials for the service from the first electronic device to the second electronic device. detecting a sequence of one or more inputs via the one or more input devices to share authentication credentials for the service; sharing authentication credentials for the service from the first electronic device to the second electronic device in response to detecting the series of one or more inputs; 80. The method of claim 79, comprising:
81. receiving the series of one or more inputs; displaying, via the display device, a service list including a plurality of service affordances corresponding to a plurality of services, each of which is associated with a respective plurality of authentication credentials; detecting a user input via the one or more input devices corresponding to a selection of one of the plurality of service affordances corresponding to the service associated with the authentication credentials for the service; 81. The method of claim 80, comprising:
82. 82. The method of claim 81, wherein displaying the list of services includes sorting the list of services based at least in part on a relevance of the respective services.
83. 83. The method of any one of claims 80 to 82, wherein sharing the authentication credentials for the service from the first electronic device to the second electronic device comprises transmitting the authentication credentials for the service wirelessly from the first electronic device to the second electronic device over a secure connection.
84. 84. The method of any one of claims 80 to 83, wherein sharing the authentication credentials for the service from the first electronic device to the second electronic device comprises sharing a user identification name and password from the first electronic device to the second electronic device.
85. Sharing the authentication credentials for the service from the first electronic device to the second electronic device. obtaining authentication information via the one or more input devices; authenticating the user based on the authentication information; 85. The method of any one of claims 80 to 84, comprising:
86. 86. The method of any one of claims 79 to 85, further comprising withholding display of the confirmation prompt in accordance with a determination that the first electronic device does not meet the respective criterion.
87. 87. The method of any one of claims 79 to 86, wherein the respective criteria include a requirement that the first electronic device be in proximity to a third electronic device associated with the second electronic device.
88. 88. The method of claim 87, wherein the second electronic device is a media playback device and the third electronic device is a remote control for the second electronic device.
89. 89. The method of any one of claims 79 to 88, wherein the confirmation prompt is for establishing a secure connection between the first electronic device and the second electronic device, and receiving the confirmation information from the second electronic device on the first electronic device includes receiving input that satisfies the condition for establishing the secure connection between the first electronic device and the second electronic device.
90. in response to receiving the indication that the second electronic device requires authentication credentials for the service, displaying, on the display device, a share confirmation notification that includes a share confirmation affordance that, when selected, causes the confirmation prompt to be displayed; detecting a user input via the one or more input devices corresponding to a selection of the shared confirmation affordance; 90. The method of any one of claims 79 to 89, further comprising:
91. 91. The method of any one of claims 79 to 90, further comprising, after the process for sharing the authentication credentials for the service, displaying on the display device a notification indicating that the process for sharing the authentication credentials for the service is complete.
92. 92. The method of any one of claims 79 to 91, wherein the confirmation information from the second device is displayed by the second device.
93. a display device configured to display a user interface; one or more input devices configured to receive input; A first electronic device comprising: a processing device connected to the display device and the one or more input devices, the processing device comprising: receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service; in response to receiving the indication that the second electronic device requires authentication credentials for the service, and in accordance with a determination that the first electronic device satisfies respective criteria including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, displaying via the display device a confirmation prompt requiring input of confirmation information from the second electronic device on the first electronic device in order to proceed since the respective criteria are satisfied; receiving, on the first electronic device, the confirmation information from the second electronic device via the one or more input devices while displaying the confirmation prompt; In response to receiving the confirmation information, initiate a process for sharing authentication credentials for the service from the first electronic device to the second electronic device. A first electronic device configured as follows:
94. The process for sharing authentication credentials for the service from the first electronic device to the second electronic device, detecting a sequence of one or more inputs via the one or more input devices to share authentication credentials for the service; sharing authentication credentials for the service from the first electronic device to the second electronic device in response to detecting the series of one or more inputs; 94. The electronic device of claim 93, configured to be initiated by:
95. The electronic device converts the series of one or more inputs into displaying, via the display device, a service list including a plurality of service affordances corresponding to a plurality of services, each of which is associated with a plurality of authentication credentials; detecting a user input via the one or more input devices corresponding to a selection of one of the plurality of service affordances corresponding to the service associated with the authentication credentials for the service; 95. The electronic device of claim 94, configured to receive by:
96. 96. The electronic device of claim 95, wherein the processing device is configured to display the list of services by sorting the list of services based at least in part on the relevance of the respective services.
97. 97. The electronic device of any one of claims 94 to 96, wherein the processing device is configured to share the authentication credentials for the service from the first electronic device to the second electronic device by transmitting the authentication credentials for the service wirelessly from the first electronic device to the second electronic device over a secure connection.
98. 98. The electronic device of any one of claims 94 to 97, wherein the processing device is configured to share the authentication credentials for the service from the first electronic device to the second electronic device by sharing a user identification name and password from the first electronic device to the second electronic device.
99. the processing device transmitting the authentication credentials for the service from the first electronic device to the second electronic device; obtaining authentication information via the one or more input devices; authenticating the user based on the authentication information; 99. The electronic device of any one of claims 94 to 98, configured for sharing by.
100. 100. The electronic device of any one of claims 93 to 99, wherein the processing device is further configured to refrain from displaying the confirmation prompt in accordance with a determination that the first electronic device does not satisfy the respective criterion.
101. 101. The electronic device of any one of claims 93 to 100, wherein the respective criteria include a requirement that the first electronic device be in proximity to a third electronic device associated with the second electronic device.
102. 102. The electronic device of claim 101, wherein the second electronic device is a media playback device and the third electronic device is a remote control for the second electronic device.
103. 103. The electronic device of any one of claims 93 to 102, wherein the confirmation prompt is for establishing a secure connection between the first electronic device and the second electronic device, and the processing device is configured to receive the confirmation information from the second electronic device on the first electronic device by receiving input that satisfies the condition for establishing the secure connection between the first electronic device and the second electronic device.
104. In response to the processing device receiving the indication that the second electronic device requires authentication credentials for the service, displaying, on the display device, a share confirmation notification that includes a share confirmation affordance that, when selected, causes the confirmation prompt to be displayed; detecting a user input via the one or more input devices corresponding to a selection of the shared confirmation affordance; 104. The electronic device of any one of claims 93 to 103, further configured to:
105. 105. The electronic device of claim 93, wherein the processing device is further configured to, after the process for sharing the authentication credentials for the service, display a notification on the display device indicating that the process for sharing the authentication credentials for the service is completed.
106. 106. The electronic device of any one of claims 93 to 105, wherein the confirmation information from the second device is displayed by the second device.
107. A display device; one or more input devices; one or more processors; A non-transient memory; one or more programs stored in the memory and configured to be executed by the one or more processors; A first electronic device comprising: The one or more programs are receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service; in response to receiving the indication that the second electronic device requires authentication credentials for the service, and in accordance with a determination that the first electronic device satisfies respective criteria including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, displaying via the display device a confirmation prompt requiring input of confirmation information from the second electronic device on the first electronic device in order to proceed since the respective criteria are satisfied; receiving, on the first electronic device, the confirmation information from the second electronic device via the one or more input devices while displaying the confirmation prompt; In response to receiving the confirmation information, initiate a process for sharing authentication credentials for the service from the first electronic device to the second electronic device. A first electronic device comprising instructions for:
108. A non-transitory computer-readable storage medium having stored thereon one or more programs, the one or more programs, when executed by a first electronic device having a display device and one or more input devices, causing the first electronic device to: receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service; in response to receiving the indication that the second electronic device requires authentication credentials for the service, and pursuant to a determination that the first electronic device satisfies respective criteria including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, displaying via the display device a confirmation prompt requiring input of confirmation information from the second electronic device on the first electronic device in order to proceed since the respective criteria are satisfied; receiving, on the first electronic device, the confirmation information from the second electronic device via the one or more input devices while displaying the confirmation prompt; In response to receiving the confirmation information, initiating a process for sharing authentication credentials for the service from the first electronic device to the second electronic device. A non-transitory computer-readable storage medium containing instructions.
109. A display device; one or more input devices; means for receiving, at the first electronic device, an indication that a second electronic device requires authentication credentials for a service; means for displaying, in response to receiving the indication that the second electronic device requires authentication credentials for the service, via the display device, a confirmation prompt requiring input of confirmation information from the second electronic device onto the first electronic device in order to proceed, in accordance with a determination that the first electronic device satisfies respective criteria including a requirement that the first electronic device be within a predetermined proximity to the second electronic device, since the respective criteria are satisfied; means for receiving, on the first electronic device, the confirmation information from the second electronic device via the one or more input devices while displaying the confirmation prompt; means for initiating a process for sharing authentication credentials for the service from the first electronic device to the second electronic device in response to receiving the confirmation information; A first electronic device comprising:
110. A display device; one or more input devices; one or more processors; A non-transient memory; one or more programs stored in said memory and configured to be executed by said one or more processors, said one or more programs including instructions for performing or causing the performance of any of the methods according to claims 79 to 92; A first electronic device comprising:
111. 93. A non-transitory computer readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by a first electronic device comprising a display device and one or more input devices, cause the first electronic device to perform or to cause the first electronic device to perform any of the methods recited in claims 79 to 92.
112. A display device; one or more input devices; Means for carrying out or causing to be carried out any of the methods according to claims 79 to 92; A first electronic device comprising:
113. 93. A graphical user interface on a first electronic device having a display device, one or more input devices, a non-transitory memory, and one or more processors executing one or more programs stored in the non-transitory memory, the graphical user interface comprising a user interface displayed according to any of the methods of claims 79 to 92.
114. 1. An information processing apparatus for use in a first electronic device having a display device and one or more input devices, comprising: Means for carrying out or causing to be carried out any of the methods according to claims 79 to 92; An information processing device comprising:
115. In an electronic device having a display device and one or more input devices, detecting a verbal request via the one or more input devices to display password information; in response to receiving the verbal request to display the password information, pursuant to a determination that the request is for a password for a first user account accessible by the device and that the user is authenticated, displaying the password for the first user account; pursuant to a determination that the request is for a password for a second user account accessible by the device and that the user is authenticated, displaying the password for a second user account; A method comprising:
116. in response to receiving the verbal request to display the password information and in response to a determination that the user is not authenticated; obtaining authentication information via the one or more input devices; authenticating the user based on the authentication information; 116. The method of claim 115, further comprising:
117. 117. The method of claim 116, wherein the authentication information includes a biometric of the user or, in response to a biometric authentication failure, a passcode.
118. detecting a user input via the one or more input devices requesting unlocking of the device prior to receiving the verbal request to display the password information and while the device is locked; obtaining unlock information via the one or more input devices in response to the user input requesting unlocking of the device; unlocking the device based on the unlocking information; 118. The method of claim 116 or 117, further comprising:
119. 119. The method of claim 118, wherein the unlocking information includes a passcode and the authentication information includes information regarding a biometric feature of the user captured by a biometric sensor of the device.
120. 118. The method of claim 116 or 117, wherein the authentication information is received while the device is locked, and authenticating the user based on the authentication information further comprises unlocking the device based on the authentication information.
121. 121. The method of any one of claims 115 to 120, wherein displaying the password for the first user account further comprises displaying information about the first user account that is accessible by the device.
122. 122. The method of claim 121, wherein the information regarding the first user account accessible by the device includes password security information for the password for the first user account.
123. 123. The method of claim 121 or 122, wherein the information about the first user account accessible by the device includes an alert indicating that the password for the first user account is the same as a password for another user account.
124. 124. The method of claim 123, wherein the alert includes an affordance that, when selected, displays a resource for changing the password for the first user account.
125. 125. The method of any one of claims 115 to 124, further comprising, in response to receiving the verbal request to display the password information and following a determination that the request is for general password information, displaying a list of password-display affordances that, when selected, display a respective password for each account accessible by the device.
126. 126. The method of any one of claims 115 to 125, further comprising, in response to receiving the verbal request to display the password information, and in accordance with a determination that the request is for a password of an account that is not accessible by the device, displaying a list of password-display affordances that, when selected, display a respective password for each account that is accessible by the device.
127. 127. The method of claim 126, wherein displaying the list of password-display affordances includes displaying a pre-populated search field based on the verbal request.
128. detecting a user input via the one or more input devices corresponding to a selection of the password for the first user account; In response to detecting the user input corresponding to a selection of the password for the first user account, displaying a share affordance that, when selected, initiates a process for sharing the password for the first user account; 128. The method of any one of claims 115 to 127, further comprising:
129. Detecting user input via the one or more input devices corresponding to a selection of the shared affordance; in response to detecting the user input corresponding to a selection of the share affordance, displaying a recipient selection card including one or more recipient affordances that, when selected, initiate a process for sharing the password of the first user account with a respective device; 129. The method of claim 128, further comprising:
130. a display device configured to display a user interface; one or more input devices configured to receive input; a processing device connected to the display device and the one or more input devices, The display device is detecting a verbal request via the one or more input devices to display password information; in response to receiving the verbal request to display the password information, pursuant to a determination that the request is for a password for a first user account accessible by the device and that the user is authenticated, displaying the password for the first user account; pursuant to a determination that the request is for a password for a second user account accessible by the device and that the user is authenticated, displaying the password for the second user account.
1. An electronic device configured to:
131. the processing device comprising: in response to receiving the verbal request to display the password information and in response to a determination that the user is not authenticated; acquiring authentication information via the one or more input devices; authenticating the user based on the authentication information; 131. The method of claim 130, further comprising:
132. 132. The electronic device of claim 131, wherein the authentication information includes a biometric of the user.
133. the processing device comprising: detecting a user input via the one or more input devices requesting unlocking of the electronic device prior to receiving the verbal request to display the password information and while the electronic device is locked; obtaining unlock information via the one or more input devices in response to the user input requesting unlocking of the device; unlocking the electronic device based on the unlocking information; 133. The electronic device of claim 131 or 132, further configured to:
134. 134. The electronic device of claim 133, wherein the unlocking information includes a passcode, and the authentication information includes information regarding a biometric characteristic of the user captured by a biometric sensor of the electronic device.
135. 133. The electronic device of claim 131 or 132, wherein the authentication information is received while the electronic device is locked, and the processing device is configured to authenticate the user based on the authentication information and unlock the electronic device based on the authentication information.
136. 136. The electronic device of any one of claims 130 to 135, wherein the processing device is configured to display the password for the first user account together with information about the first user account accessible by the device.
137. 137. The electronic device of claim 136, wherein the information regarding the first user account accessible by the device includes password security information for the password for the first user account.
138. 138. The electronic device of claim 136 or 137, wherein the information about the first user account accessible by the device includes an alert indicating that the password for the first user account is the same as a password for another user account.
139. 139. The electronic device of claim 138, wherein the alert includes an affordance that, when selected, displays a resource for changing the password for the first user account.
140. 140. The electronic device of any one of claims 130 to 139, wherein the processing device is further configured, in response to receiving the verbal request to display the password information and in accordance with a determination that the request is for generic password information, to display a list of password-display affordances that, when selected, display respective passwords for respective accounts accessible by the device.
141. 141. The electronic device of any one of claims 130 to 140, wherein the processing device is further configured to, in response to receiving the verbal request to display the password information and in accordance with a determination that the request is for a password of an account that is not accessible by the device, display a list of password display affordances that, when selected, display a respective password for each account that is accessible by the device.
142. 142. The electronic device of claim 141, wherein the processing device is configured to display the list of password-display affordances along with a search field pre-populated based on the verbal request.
143. the processing device comprising: detecting a user input via the one or more input devices corresponding to a selection of the password for the first user account; In response to detecting the user input corresponding to a selection of the password for the first user account, displaying a share affordance that, when selected, initiates a process for sharing the password for the first user account.
143. The electronic device of any one of claims 130 to 142, further configured to:
144. the processing device comprising: Detecting user input via the one or more input devices corresponding to a selection of the shared affordance; in response to detecting the user input corresponding to a selection of the share affordance, displaying a recipient selection card including one or more recipient affordances that, when selected, initiate a process for sharing the password of the first user account with a respective device.
144. The electronic device of claim 143, further configured as follows:
145. A display device; one or more input devices; one or more processors; A non-transient memory; one or more programs stored in the memory and configured to be executed by the one or more processors; The one or more programs include: detecting a verbal request via the one or more input devices to display password information; in response to receiving the verbal request to display the password information, pursuant to a determination that the request is for a password for a first user account accessible by the device and that the user is authenticated, displaying the password for the first user account; displaying the password for a second user account accessible by the device pursuant to a determination that the request is for a password for a second user account accessible by the device and that the user is authenticated. Including instructions for Electronic devices.
146. A non-transitory computer-readable storage medium having stored thereon one or more programs, the one or more programs, when executed by an electronic device having a display device and one or more input devices, causing the electronic device to: detecting a verbal request to display password information via the one or more input devices; in response to receiving the verbal request to display the password information, pursuant to a determination that the request is for a password for a first user account accessible by the device and that the user is authenticated, causing the password for the first user account to be displayed; pursuant to a determination that the request is for a password for a second user account accessible by the device and that the user is authenticated, causing the password for a second user account to be displayed. A non-transitory computer-readable storage medium containing instructions.
147. A display device; one or more input devices; means for detecting, via said one or more input devices, a verbal request to display password information; in response to receiving the verbal request to display the password information, pursuant to a determination that the request is for a password for a first user account accessible by the device and that the user is authenticated, displaying the password for the first user account; displaying the password for a second user account accessible by the device pursuant to a determination that the request is for a password for a second user account accessible by the device and that the user is authenticated. Means, 2. An electronic device comprising:
148. A display device; one or more input devices; one or more processors; A non-transient memory; One or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing or causing the performance of any of the methods of claims 115 to 129. Electronic devices.
149. A non-transitory computer readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by an electronic device comprising a display device and one or more input devices, cause the electronic device to perform, or cause the first electronic device to perform, any of the methods of claims 115 to 129.
150. A display device; one or more input devices; Means for carrying out or causing to be carried out any of the methods according to claims 115 to 129; 2. An electronic device comprising:
151. A graphical user interface on an electronic device having a display device, one or more input devices, a non-transitory memory, and one or more processors executing one or more programs stored in the non-transitory memory, the graphical user interface comprising a user interface displayed according to any of the methods of claims 115 to 129.
152. 1. An information processing apparatus for use in an electronic device having a display device and one or more input devices, comprising: Means for carrying out or causing to be carried out any of the methods according to claims 115 to 129; An information processing device comprising:
Citation Information
Patent Citations
Information processing system, information processing device, and information processing program
JP2017168005A
Information processing apparatus, information processing program, information processing method, and information processing system
JP2018028786A
System and method for service assisted mobile pairing of password-less computer login
WO2017147346A1