User interface for peer-to-peer transmissions

By providing a faster and more efficient peer-to-peer transmission management method and interface on electronic devices, the problem of inefficiency in the prior art is solved, and a more efficient human-machine interface and longer battery life is achieved.

CN120200995APending Publication Date: 2025-06-24APPLE INC
View PDF 23 Cites 0 Cited by

Patent Information

Application Number
CN202510351958.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-05-15
Filing Date
2018-05-16
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

The prior art is inefficient in managing electronic devices for peer-to-peer transmission. Users need to use infrequently used applications, limited options, complex and time-consuming user interface, resulting in wasting user time and device energy.

Method used

Provides a faster and more efficient method and interface to manage peer-to-peer transmission, including displaying a user interface of a messaging application on an electronic device, receiving messages through wireless communication, analyzing message text to determine the transmission type, and displaying the transmission user interface when the user is activated.

Benefits of technology

It reduces the cognitive burden of users, improves the efficiency of the human-computer interface, saves the power of the battery-driven device, extends the battery charging interval, and reduces unnecessary input operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120200995A_ABST
    Figure CN120200995A_ABST
Patent Text Reader

Abstract

The present disclosure generally relates to user interfaces for managing peer-to-peer transmissions. In some examples, a device provides a user interface for initiating and managing transmissions. In some examples, a device provides a user interface corresponding to a completed transmission. In some examples, a device provides a user interface for providing a visually distinguishable message object appearance based on message designations. In some examples, a device provides a user interface for activating an account for accepting and sending transmissions. In some examples, a device provides a user interface for exchanging accounts for use in transmissions. In some examples, a device provides a user interface for splitting transmissions between two or more accounts. In some examples, a device provides a user interface for generating and displaying a transmission history list. In some examples, a device provides a voice-activated user interface for transmissions. In some examples, a device provides visual or haptic feedback corresponding to transmission operations.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of an application with international application number PCT / US2018 / 033054, international filing date May 16, 2018, date of entry into the Chinese national phase January 15, 2020, national application number 201880048209.1, and invention title "User Interfaces for Peer-to-Peer Transfers".

[0002] Cross - Reference to Related Applications

[0003] This application claims priority to the following patent applications: U.S. Provisional Patent Application Serial No. 62 / 507,161, filed May 16, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; U.S. Provisional Application Serial No. 62 / 514,945, filed Jun. 4, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; U.S. Provisional Application Serial No. 62 / 566,225, filed Sep. 29, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; U.S. Provisional Application Serial No. 62 / 672,003, filed May 15, 2018, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; Danish Patent Application Serial No. PA201770502, filed Jun. 26, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; Danish Patent Application Serial No. PA201770503, filed Jun. 26, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS"; and Danish Patent Application Serial No. PA201770505, filed Jun. 26, 2017, entitled "USER INTERFACES FOR PEER-TO-PEER TRANSFERS". The content of each of these patent applications is hereby incorporated by reference in its entirety. Technical Field

[0004] The present disclosure generally relates to computer user interfaces, and more particularly to interfaces and techniques for managing peer-to-peer transfers. Background Art

[0005] Peer-to-peer transfers using an electronic device, such as the transfer of resources and files, are a convenient and efficient way to exchange resources and files. Peer-to-peer transfers enable a user to quickly and easily send outgoing transfers and quickly and easily receive incoming transfers using the electronic device. Summary of the Invention

[0006] However, some techniques for managing peer-to-peer transfers using an electronic device are often cumbersome and inefficient. For example, some existing techniques require certain applications that are not often used by the user of the device, which may unnecessarily cause the user to open rarely used applications. As another example, some existing techniques have limited options for making and receiving transfers. As yet another example, some existing techniques use complex and time-consuming user interfaces, which may include multiple button presses or keystrokes. Thus, the prior art requires more time than necessary, wasting the user's time and device energy. This latter consideration is particularly important in battery-powered devices.

[0007] Accordingly, the present technology provides an electronic device having faster and more efficient methods and interfaces for managing peer-to-peer transfers. Such methods and interfaces optionally supplement or replace other methods for managing peer-to-peer transfers. Such methods and interfaces reduce the cognitive burden imposed on the user and result in a more effective human-machine interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges. Such methods and interfaces also reduce the number of unnecessary, external, or repetitive inputs required at a computing device, such as a smart phone and a smart watch.

[0008] According to some embodiments, a method is described that is performed at an electronic device having a display, one or more input devices, and a wireless communication radio component. The method includes: receiving, via the wireless communication radio component, one or more messages; displaying, on the display, a user interface for a messaging application, the user interface including at least one of the one or more messages in a message session among a plurality of session participants; receiving, from one of the participants, a corresponding message while at least one of the one or more messages is simultaneously displayed in the message session on the display; in response to receiving the corresponding message, simultaneously displaying, on the display, a representation of the message and a selectable indication corresponding to a first type of item, based on a determination related to transmission of the corresponding message and the first type of item that the messaging application is configured to transmit, made based on an analysis of text in the corresponding message; detecting, via the one or more input devices, a user activation of the selectable indication while the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display; and in response to detecting the user activation of the selectable indication, displaying, on the display, a transmission user interface for initiating transmission of the first type of item among the participants in the message session.

[0009] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, one or more input devices, and a wireless communication radio component, the one or more programs including instructions for performing the following operations: receiving, via the wireless communication radio component, one or more messages; displaying, on the display, a user interface for a messaging application, the user interface including at least one of the one or more messages in a message session among a plurality of session participants; receiving, from one of the participants, a corresponding message while at least one of the one or more messages is simultaneously displayed in the message session on the display; in response to receiving the corresponding message, simultaneously displaying, on the display, a representation of the message and a selectable indication corresponding to a first type of item, based on a determination related to transmission of the corresponding message and the first type of item that the messaging application is configured to transmit, made based on an analysis of text in the corresponding message; detecting, via the one or more input devices, a user activation of the selectable indication while the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display; and in response to detecting the user activation of the selectable indication, displaying, on the display, a transmission user interface for initiating transmission of the first type of item among the participants in the message session.

[0010] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, one or more input devices, and a wireless communication radio component, the one or more programs including instructions for performing the following operations: receiving, via the wireless communication radio component, one or more messages; displaying, on the display, a user interface for a messaging application, the user interface including at least one of the one or more messages in a message session among a plurality of session participants; receiving, from one of the participants, a corresponding message while simultaneously displaying, on the display, at least one of the one or more messages in the message session; in response to receiving the corresponding message, simultaneously displaying, on the display, a representation of the message and a selectable indication corresponding to a first type of item related to transmission of the first type of item that the messaging application is configured to transmit, based on a determination made according to an analysis of text in the corresponding message; detecting, via the one or more input devices, a user activation of the selectable indication while the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display; and in response to detecting the user activation of the selectable indication, displaying, on the display, a transmission user interface for initiating transmission of the first type of item among participants in the message session.

[0011] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; wireless communication radio components; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving, via the wireless communication radio components, one or more messages; displaying, on the display, a user interface for a messaging application, the user interface including at least one of the one or more messages in a message session among a plurality of session participants; receiving, from one of the participants, a corresponding message when at least one of the one or more messages is simultaneously displayed in the message session on the display; in response to receiving the corresponding message, based on a determination related to transmission of a first type of item that the messaging application is configured to transmit, made based on an analysis of text in the corresponding message, simultaneously displaying, on the display, a representation of the message and a selectable indication corresponding to the first type of item; detecting, via the one or more input devices, a user activation of the selectable indication when the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display; and in response to detecting the user activation of the selectable indication, displaying, on the display, a transmission user interface for initiating transmission of the first type of item among the participants in the message session.

[0012] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; wireless communication radio components; means for receiving, via the wireless communication radio components, one or more messages; means for displaying, on the display, a user interface for a messaging application, the user interface including at least one of the one or more messages in a message session among a plurality of session participants; means for receiving, from one of the participants, a corresponding message when at least one of the one or more messages is simultaneously displayed in the message session on the display; in response to receiving the corresponding message, based on a determination related to transmission of a first type of item that the messaging application is configured to transmit, made based on an analysis of text in the corresponding message, means for simultaneously displaying, on the display, a representation of the message and a selectable indication corresponding to the first type of item; means for detecting, via the one or more input devices, a user activation of the selectable indication when the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display; and in response to detecting the user activation of the selectable indication, means for displaying, on the display, a transmission user interface for initiating transmission of the first type of item among the participants in the message session.

[0013] According to some embodiments, a method performed at an electronic device having a display and one or more sensor devices is described. The method includes: displaying a graphical representation of a communication on the display; detecting, via the one or more sensor devices, a change in orientation of the electronic device relative to a reference point while the graphical representation of the communication is being displayed on the display; and in response to detecting the change in orientation of the electronic device relative to the reference point while the graphical representation of the communication is being displayed on the display: displaying the graphical representation of the communication and outputting a corresponding type of feedback corresponding to the graphical representation of the communication based on a determination that the communication has a first state, wherein the feedback indicates the magnitude of the change in orientation of the electronic device relative to the reference point; and displaying the graphical representation of the communication without outputting feedback indicating the magnitude of the change in orientation of the electronic device relative to the reference point based on a determination that the communication has a second state different from the first state.

[0014] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying a graphical representation of a communication on the display; detecting, via the one or more sensor devices, a change in orientation of the electronic device relative to a reference point while the graphical representation of the communication is being displayed on the display; and in response to detecting the change in orientation of the electronic device relative to the reference point while the graphical representation of the communication is being displayed on the display: displaying the graphical representation of the communication and outputting a corresponding type of feedback corresponding to the graphical representation of the communication based on a determination that the communication has a first state, wherein the feedback indicates the magnitude of the change in orientation of the electronic device relative to the reference point; and displaying the graphical representation of the communication without outputting feedback indicating the magnitude of the change in orientation of the electronic device relative to the reference point based on a determination that the communication has a second state different from the first state.

[0015] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying a graphical representation of a communication on the display; detecting, via the one or more sensor devices, a change in the orientation of the electronic device relative to a reference point while displaying the graphical representation of the communication on the display; and, while displaying the graphical representation of the communication on the display, in response to detecting a change in the orientation of the electronic device relative to the reference point: displaying the graphical representation of the communication and outputting a corresponding type of feedback corresponding to the graphical representation of the communication based on a determination that the communication has a first state, wherein the feedback indicates the magnitude of the change in the orientation of the electronic device relative to the reference point; and displaying the graphical representation of the communication without outputting feedback indicating the magnitude of the change in the orientation of the electronic device relative to the reference point based on a determination that the communication has a second state different from the first state.

[0016] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more sensor devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a graphical representation of a communication on the display; detecting, via the one or more sensor devices, a change in the orientation of the electronic device relative to a reference point while displaying the graphical representation of the communication on the display; and, while displaying the graphical representation of the communication on the display, in response to detecting a change in the orientation of the electronic device relative to the reference point: displaying the graphical representation of the communication and outputting a corresponding type of feedback corresponding to the graphical representation of the communication based on a determination that the communication has a first state, wherein the feedback indicates the magnitude of the change in the orientation of the electronic device relative to the reference point; and displaying the graphical representation of the communication without outputting feedback indicating the magnitude of the change in the orientation of the electronic device relative to the reference point based on a determination that the communication has a second state different from the first state.

[0017] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more sensor devices; means for displaying a graphical representation of a communication on the display; means for detecting, when the graphical representation of the communication is displayed on the display, a change in the orientation of the electronic device relative to a reference point via the one or more sensor devices; and means for performing the following operations in response to detecting a change in the orientation of the electronic device relative to the reference point when the graphical representation of the communication is displayed on the display: displaying the graphical representation of the communication and outputting a corresponding type of feedback corresponding to the graphical representation of the communication based on a determination that the communication has a first state, wherein the feedback indicates the magnitude of the change in the orientation of the electronic device relative to the reference point; and displaying the graphical representation of the communication without outputting feedback indicating the magnitude of the change in the orientation of the electronic device relative to the reference point based on a determination that the communication has a second state different from the first state.

[0018] According to some embodiments, a method is described for performing at an electronic device having a display, one or more input devices, and wireless communication radio components. The method includes: displaying a numerical selection user interface on the display; receiving, when the numerical selection user interface is displayed, an input corresponding to selecting a corresponding numerical value from a plurality of numerical values in the numerical selection user interface via the one or more input devices; in response to receiving the input corresponding to the selection of the corresponding numerical value, displaying a representation of the corresponding numerical value in the numerical selection user interface on the display; receiving, when the representation of the corresponding numerical value in the numerical selection user interface is displayed, an input corresponding to a request to send a message corresponding to the corresponding numerical value via a messaging application via the one or more input devices; and in response to receiving the input corresponding to the request to send the message corresponding to the corresponding numerical value via the messaging application, sending the message corresponding to the corresponding numerical value to one or more participants, and: displaying a first message object in a message transcript of the messaging application on the display based on a determination that the message is designated as a transmission message of the corresponding numerical value, wherein the first message object includes a graphical representation of the corresponding numerical value in a corresponding font, the corresponding font being associated with a request generated using the numerical selection user interface; and displaying a second message object different from the first message object in the message transcript of the messaging application on the display based on a determination that the message is designated as a request message of the corresponding numerical value, wherein, in the second message object: the corresponding numerical value is displayed in the message object in a font smaller than the corresponding font; and a predetermined request indicator associated with a request generated using the numerical selection user interface is displayed in the corresponding font.

[0019] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a numerical selection user interface on the display; when displaying the numerical selection user interface, receiving, via the one or more input devices, an input corresponding to selecting a corresponding value from a plurality of numerical values in the numerical selection user interface; in response to receiving the input corresponding to the selection of the corresponding value, displaying a representation of the corresponding value in the numerical selection user interface on the display; when displaying the representation of the corresponding value in the numerical selection user interface, receiving, via the one or more input devices, an input corresponding to a request to send a message corresponding to the corresponding value via a messaging application; and in response to receiving the input corresponding to the request to send the message corresponding to the corresponding value via the messaging application, sending the message corresponding to the corresponding value to one or more participants, and: displaying a first message object in a message transcript of the messaging application on the display based on a determination that the message is a transmission message designated with the corresponding value, wherein the first message object includes a graphical representation of the corresponding value in a corresponding font, the corresponding font being associated with a request generated using the numerical selection user interface; and displaying a second message object different from the first message object in the message transcript of the messaging application on the display based on a determination that the message is a request message designated with the corresponding value, wherein, in the second message object: the corresponding value is displayed in the message object in a font smaller than the corresponding font; and a predetermined request indicator associated with a request generated using the numerical selection user interface is displayed in the corresponding font.

[0020] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a numeric selection user interface on the display; when the numeric selection user interface is displayed, receiving, via the one or more input devices, an input corresponding to selecting a corresponding value from a plurality of numeric values in the numeric selection user interface; in response to receiving the input corresponding to the selection of the corresponding value, displaying a representation of the corresponding value in the numeric selection user interface on the display; when the representation of the corresponding value in the numeric selection user interface is displayed, receiving, via the one or more input devices, an input corresponding to a request to send a message corresponding to the corresponding value via a messaging application; and in response to receiving the input corresponding to the request to send the message corresponding to the corresponding value via the messaging application, sending the message corresponding to the corresponding value to one or more participants, and: based on a determination that the message is a transmission message designated as the corresponding value, displaying a first message object in a message transcript of the messaging application on the display, wherein the first message object includes a graphical representation of the corresponding value in a corresponding font, the corresponding font being associated with a request generated using the numeric selection user interface; and based on a determination that the message is a request message designated as the corresponding value, displaying a second message object different from the first message object in the message transcript of the messaging application on the display, wherein, in the second message object: the corresponding value is displayed in the message object in a font smaller than the corresponding font; and a predetermined request indicator associated with a request generated using the numeric selection user interface is displayed in the corresponding font.

[0021] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a numerical selection user interface on the display; when displaying the numerical selection user interface, receiving, via the one or more input devices, an input corresponding to selecting a corresponding value from a plurality of numerical values in the numerical selection user interface; in response to receiving the input corresponding to the selection of the corresponding value, displaying a representation of the corresponding value in the numerical selection user interface on the display; when displaying the representation of the corresponding value in the numerical selection user interface, receiving, via the one or more input devices, an input corresponding to a request to send a message corresponding to the corresponding value via a messaging application; and in response to receiving the input corresponding to the request to send the message corresponding to the corresponding value via the messaging application, sending the message corresponding to the corresponding value to one or more participants, and: based on the determination that the message is a transmitted message designated as the corresponding value, displaying a first message object in a message transcript of the messaging application on the display, wherein the first message object includes a graphical representation of the corresponding value in a corresponding font, the corresponding font being associated with a request generated using the numerical selection user interface; and based on the determination that the message is a request message designated as the corresponding value, displaying a second message object different from the first message object in the message transcript of the messaging application on the display, wherein, in the second message object: the corresponding value is displayed in the message object in a font smaller than the corresponding font; and a predetermined request indicator associated with a request generated using the numerical selection user interface is displayed in the corresponding font.

[0022] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for displaying a numerical selection user interface on the display; means for receiving, via the one or more input devices, an input corresponding to selecting a corresponding value from a plurality of values in the numerical selection user interface when the numerical selection user interface is displayed; means for displaying, in response to receiving the input corresponding to the selection of the corresponding value, a representation of the corresponding value in the numerical selection user interface on the display; means for receiving, via the one or more input devices, an input corresponding to a request to send a message corresponding to the corresponding value via a messaging application when the representation of the corresponding value in the numerical selection user interface is displayed; and means for sending, in response to receiving the input corresponding to the request to send the message corresponding to the corresponding value via the messaging application, the message corresponding to the corresponding value to one or more participants, and: means for displaying, on the display, a first message object in a message transcript of the messaging application based on a determination that the message is designated as a message for transmitting the corresponding value, wherein the first message object includes a graphical representation of the corresponding value in a corresponding font, the corresponding font being associated with a request generated using the numerical selection user interface; and means for displaying, on the display, a second message object different from the first message object in the message transcript of the messaging application based on a determination that the message is designated as a request message for the corresponding value, wherein, in the second message object: the corresponding value is displayed in the message object in a font smaller than the corresponding font; and a predetermined request indicator associated with a request generated using the numerical selection user interface is displayed in the corresponding font.

[0023] According to some embodiments, a method is described for execution at an electronic device having a display and one or more input devices. The method includes: displaying a message object in a message session on the display, wherein the message object includes an indication of one or more first items sent to a user of the electronic device from a participant in the session; detecting, via the one or more input devices, an input corresponding to a request to obtain the one or more first items when at least a portion of the message session is displayed; and in response to detecting the input corresponding to the request to obtain the one or more first items: continuing to obtain the one or more first items based on a determination that the electronic device is associated with an active account authorized to obtain the one or more first items; and displaying, on the display, a second enabling representation for activating an account authorized to obtain the one or more first items based on a determination that the electronic device is not associated with an active account authorized to obtain the first content.

[0024] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a message object in a message session on the display, wherein the message object includes an indication of a first one or more items sent from a participant in the session to a user of the electronic device; detecting, via the one or more input devices, an input corresponding to a request to obtain the first one or more items while displaying at least a portion of the message session; and in response to detecting the input corresponding to the request to obtain the first one or more items: continuing to obtain the first one or more items based on a determination that the electronic device is associated with an active account authorized to obtain the first one or more items; and displaying, on the display, a second enabling representation for activating an account authorized to obtain the first one or more items based on a determination that the electronic device is not associated with an active account authorized to obtain the first content.

[0025] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a message object in a message session on the display, wherein the message object includes an indication of a first one or more items sent from a participant in the session to a user of the electronic device; detecting, via the one or more input devices, an input corresponding to a request to obtain the first one or more items while displaying at least a portion of the message session; and in response to detecting the input corresponding to the request to obtain the first one or more items: continuing to obtain the first one or more items based on a determination that the electronic device is associated with an active account authorized to obtain the first one or more items; and displaying, on the display, a second enabling representation for activating an account authorized to obtain the first one or more items based on a determination that the electronic device is not associated with an active account authorized to obtain the first content.

[0026] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a message object in a message session on the display, where the message object includes an indication of a first one or more items sent from a participant in the session to a user of the electronic device; detecting, via the one or more input devices, an input corresponding to a request to obtain the first one or more items when at least a portion of the message session is being displayed; and in response to detecting the input corresponding to the request to obtain the first one or more items: continuing to obtain the first one or more items based on a determination that the electronic device is associated with an active account authorized to obtain the first one or more items; and displaying, on the display, a second enabling representation for activating an account authorized to obtain the first one or more items based on a determination that the electronic device is not associated with an active account authorized to obtain the first content.

[0027] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for displaying a message object in a message session on the display, where the message object includes an indication of a first one or more items sent from a participant in the session to a user of the electronic device; means for detecting, via the one or more input devices, an input corresponding to a request to obtain the first one or more items when at least a portion of the message session is being displayed; and means for performing the following operations in response to detecting the input corresponding to the request to obtain the first one or more items: continuing to obtain the first one or more items based on a determination that the electronic device is associated with an active account authorized to obtain the first one or more items; and displaying, on the display, a second enabling representation for activating an account authorized to obtain the first one or more items based on a determination that the electronic device is not associated with an active account authorized to obtain the first content.

[0028] According to some embodiments, a method is described that is performed at an electronic device having a display, a wireless communication device, and one or more input devices. The method includes: providing, via the wireless communication device, restricted credentials associated with a user of the device to an external device; in response to receiving the request to provide the restricted credentials, simultaneously on the display: displaying, at a first location on the display, a representation of a first account associated with a first restricted credential, where the first account is selected for use in providing the restricted credentials, and displaying, at a second location on the display, at least a portion of a representation of a second account associated with a second restricted credential, where the display of at least the portion of the representation of the second account includes a display of a usage metric of the second account;; detecting, via the one or more input devices, a user selection of the representation of the second account; and in response to detecting the user selection of the representation of the second account: replacing the display of the representation of the first account at the first location on the display with the representation of the second account, and selecting the second account for use in providing the restricted credentials.

[0029] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a wireless communication device, and one or more input devices, the one or more programs including instructions for performing the following operations: receiving a request to provide, via the wireless communication device, restricted credentials associated with a user of the device to an external device; in response to receiving the request to provide the restricted credentials, simultaneously on the display: displaying, at a first location on the display, a representation of a first account associated with a first restricted credential, where the first account is selected for use in providing the restricted credentials, and displaying, at a second location on the display, at least a portion of a representation of a second account associated with a second restricted credential, where the display of at least the portion of the representation of the second account includes a display of a usage metric of the second account;; detecting, via the one or more input devices, a user selection of the representation of the second account; and in response to detecting the user selection of the representation of the second account: replacing the display of the representation of the first account at the first location on the display with the representation of the second account, and selecting the second account for use in providing the restricted credentials.

[0030] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a wireless transmission device, and one or more input devices, the one or more programs including instructions for performing the following operations: receiving a request to provide a restricted credential associated with a user of the device to an external device via the wireless transmission device; in response to receiving the request to provide the restricted credential, simultaneously on the display: displaying at a first location on the display a representation of a first account associated with a first restricted credential, wherein the first account is selected for use in providing the restricted credential, and displaying at least a portion of a representation of a second account associated with a second restricted credential at a second location on the display, wherein the display of at least the portion of the representation of the second account includes a display of a usage metric of the second account;; detecting a user selection of the representation of the second account via the one or more input devices; and in response to detecting the user selection of the representation of the second account: replacing the display of the representation of the first account at the first location on the display with the representation of the second account, and selecting the second account for use in providing the restricted credential.

[0031] According to some embodiments, an electronic device is described. The electronic device includes: a display; a wireless transmission device; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: providing a request to an external device via the wireless transmission device to provide a restricted credential associated with a user of the device; in response to receiving the request to provide the restricted credential, simultaneously on the display: displaying at a first location on the display a representation of a first account associated with a first restricted credential, wherein the first account is selected for use in providing the restricted credential, and displaying at least a portion of a representation of a second account associated with a second restricted credential at a second location on the display, wherein the display of at least the portion of the representation of the second account includes a display of a usage metric of the second account;; detecting a user selection of the representation of the second account via the one or more input devices; and in response to detecting the user selection of the representation of the second account: replacing the display of the representation of the first account at the first location on the display with the representation of the second account, and selecting the second account for use in providing the restricted credential.

[0032] According to some embodiments, an electronic device is described. The electronic device includes: a display; a wireless transmission device; one or more input devices; means for receiving a request to provide a restricted credential associated with a user of the device to an external device via the wireless transmission device; in response to receiving the request to provide the restricted credential, means for performing the following operations: simultaneously on the display: display a representation of a first account associated with a first restricted credential at a first location on the display, wherein the first account is selected for use in providing the restricted credential, and display at least a portion of a representation of a second account associated with a second restricted credential at a second location on the display, wherein the display of at least the portion of the representation of the second account includes the display of a usage metric of the second account;; means for detecting a user selection of the representation of the second account via the one or more input devices; and in response to detecting the user selection of the representation of the second account, means for performing the following operations: replace the display of the representation of the first account at the first location on the display with the representation of the second account, and select the second account for use in providing the restricted credential.

[0033] According to some embodiments, a method performed at an electronic device having a display and one or more input devices is described. The method includes: receiving a request to participate in the transmission of a resource in a requested resource amount using a first resource account; in response to receiving the request to participate in the transmission of the resource in the requested resource amount using the first resource account: automatically continue the transmission of the resource using only the first resource account based on a determination that the requested resource amount is equal to or less than the amount of resources that can be obtained via the first resource account, and automatically continue the transmission of the resource using the first resource account and a second resource account different from the first resource account based on a determination that the requested resource amount is greater than the amount of resources that can be obtained via the first resource account.

[0034] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: receiving a request to participate in the transmission of a resource in a requested resource amount using a first resource account; in response to receiving the request to participate in the transmission of the resource in the requested resource amount using the first resource account: automatically continue the transmission of the resource using only the first resource account based on a determination that the requested resource amount is equal to or less than the amount of resources that can be obtained via the first resource account, and automatically continue the transmission of the resource using the first resource account and a second resource account different from the first resource account based on a determination that the requested resource amount is greater than the amount of resources that can be obtained via the first resource account.

[0035] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: receiving a request to participate in a transfer of resources of a requested amount of resources using a first resource account; in response to receiving the request to participate in the transfer of resources of the requested amount of resources using the first resource account: automatically continue the transfer of the resources using only the first resource account based on a determination that the requested amount of resources is equal to or less than the amount of resources that can be obtained via the first resource account, and automatically continue the transfer of the resources using the first resource account and a second resource account different from the first resource account based on a determination that the requested amount of resources is greater than the amount of resources that can be obtained via the first resource account.

[0036] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving a request to participate in a transfer of resources of a requested amount of resources using a first resource account; in response to receiving the request to participate in the transfer of resources of the requested amount of resources using the first resource account: automatically continue the transfer of the resources using only the first resource account based on a determination that the requested amount of resources is equal to or less than the amount of resources that can be obtained via the first resource account, and automatically continue the transfer of the resources using the first resource account and a second resource account different from the first resource account based on a determination that the requested amount of resources is greater than the amount of resources that can be obtained via the first resource account.

[0037] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for receiving a request to participate in a transfer of resources of a requested amount of resources using a first resource account; and means for performing the following operations in response to receiving the request to participate in the transfer of resources of the requested amount of resources using the first resource account: automatically continue the transfer of the resources using only the first resource account based on a determination that the requested amount of resources is equal to or less than the amount of resources that can be obtained via the first resource account, and automatically continue the transfer of the resources using the first resource account and a second resource account different from the first resource account based on a determination that the requested amount of resources is greater than the amount of resources that can be obtained via the first resource account.

[0038] According to some embodiments, a method performed at an electronic device having a display is described. The method includes: receiving one or more messages in a first session of an electronic message, the first session including messages from a user of the electronic device to a first participant and messages from the first participant to the user of the electronic device, the one or more messages in the first session including a first message associated with the transmission of a first additional item; receiving one or more messages in a second session of the electronic message, the messages including messages from the user of the electronic device to a second participant and messages from the second participant to the user of the electronic device, the one or more messages in the second session including a second message associated with the transmission of a second additional item; and simultaneously displaying on the display: a first item associated with the first participant, wherein the first item includes first information from the first message in the first session of the electronic message and a representation of the first additional item; and a second item associated with the second participant, wherein the second item includes second information from the second message in the second session of the electronic message and a representation of the second additional item.

[0039] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs including instructions for performing the following operations: receiving one or more messages in a first session of an electronic message, the messages including messages from a user of the electronic device to a first participant and messages from the first participant to the user of the electronic device, the one or more messages in the first session including a first message associated with the transmission of a first additional item; receiving one or more messages in a second session of the electronic message, the messages including messages from the user of the electronic device to a second participant and messages from the second participant to the user of the electronic device, the one or more messages in the second session including a second message associated with the transmission of a second additional item; and simultaneously displaying on the display: a first item associated with the first participant, wherein the first item includes first information from the first message in the first session of the electronic message and a representation of the first additional item; and a second item associated with the second participant, wherein the second item includes second information from the second message in the second session of the electronic message and a representation of the second additional item.

[0040] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs including instructions for performing the following operations: receiving, in a first session of an electronic message, one or more messages that include a message from a user of the electronic device to a first participant and a message from the first participant to the user of the electronic device, the one or more messages in the first session including a first message associated with the transmission of a first additional item; receiving, in a second session of the electronic message, one or more messages that include a message from the user of the electronic device to a second participant and a message from the second participant to the user of the electronic device, the one or more messages in the second session including a second message associated with the transmission of a second additional item; and simultaneously displaying on the display: a first item associated with the first participant, wherein the first item includes first information from the first message in the first session of the electronic message and a representation of the first additional item; and a second item associated with the second participant, wherein the second item includes second information from the second message in the second session of the electronic message and a representation of the second additional item.

[0041] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving, in a first session of an electronic message, one or more messages that include a message from a user of the electronic device to a first participant and a message from the first participant to the user of the electronic device, the one or more messages in the first session including a first message associated with the transmission of a first additional item; receiving, in a second session of the electronic message, one or more messages that include a message from the user of the electronic device to a second participant and a message from the second participant to the user of the electronic device, the one or more messages in the second session including a second message associated with the transmission of a second additional item; and simultaneously displaying on the display: a first item associated with the first participant, wherein the first item includes first information from the first message in the first session of the electronic message and a representation of the first additional item; and a second item associated with the second participant, wherein the second item includes second information from the second message in the second session of the electronic message and a representation of the second additional item.

[0042] According to some embodiments, an electronic device is described. The electronic device includes: a display; means for receiving one or more messages in a first session of electronic messages, the first session including messages from a user of the electronic device to a first participant and messages from the first participant to the user of the electronic device, the one or more messages in the first session including a first message associated with the transmission of a first additional item; means for receiving one or more messages in a second session of electronic messages, the second session including messages from the user of the electronic device to a second participant and messages from the second participant to the user of the electronic device, the one or more messages in the second session including a second message associated with the transmission of a second additional item; and means for simultaneously displaying on the display: a first item associated with the first participant, wherein the first item includes first information from the first message in the first session of the electronic messages and a representation of the first additional item; and a second item associated with the second participant, wherein the second item includes second information from the second message in the second session of the electronic messages and a representation of the second additional item.

[0043] According to some embodiments, a method is described that is performed at an electronic device having one or more output devices including a display and one or more input devices. The method further includes: receiving, via the one or more input devices, speech from a user corresponding to a request to perform an operation; in response to receiving the speech, preparing to perform the operation: based on a determination that the operation requires authorization, preparing to perform the operation includes presenting, via the one or more output devices of the device: a representation of the operation; and instructions for providing authorization to the device to perform the operation via the one or more input devices of the device; after preparing to perform the operation, receiving a confirmation input associated with performing the operation; and in response to receiving the confirmation input: based on a determination that the operation requires authorization and the operation has not been authorized, aborting performance of the operation in response to the confirmation input; based on a determination that the operation requires authorization and the operation has been authorized, performing the operation in response to the confirmation input; and based on a determination that the operation does not require authorization, performing the operation in response to the confirmation input.

[0044] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more output devices including a display and one or more input devices, the one or more programs including instructions for performing the following operations: receiving, via the one or more input devices, speech from a user corresponding to a request to perform an operation; in response to receiving the speech, preparing to perform the operation: based on a determination that the operation requires authorization, preparing to perform the operation includes presenting, via the one or more output devices of the device: a representation of the operation; and instructions for providing authorization to the device to perform the operation via the one or more input devices of the device; after preparing to perform the operation, receiving a confirmation input associated with performing the operation; and in response to receiving the confirmation input: based on a determination that the operation requires authorization and the operation has not been authorized, aborting performance of the operation in response to the confirmation input; based on a determination that the operation requires authorization and the operation has been authorized, performing the operation in response to the confirmation input; and based on a determination that the operation does not require authorization, performing the operation in response to the confirmation input.

[0045] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more output devices including a display and one or more input devices, the one or more programs including instructions for performing the following operations: receiving, via the one or more input devices, speech from a user corresponding to a request to perform an operation; in response to receiving the speech, preparing to perform the operation: based on a determination that the operation requires authorization, preparing to perform the operation includes presenting, via the one or more output devices of the device: a representation of the operation; and instructions for providing authorization to the device to perform the operation via the one or more input devices of the device; after preparing to perform the operation, receiving a confirmation input associated with performing the operation; and in response to receiving the confirmation input: based on a determination that the operation requires authorization and the operation has not been authorized, aborting performance of the operation in response to the confirmation input; based on a determination that the operation requires authorization and the operation has been authorized, performing the operation in response to the confirmation input; and based on a determination that the operation does not require authorization, performing the operation in response to the confirmation input.

[0046] According to some embodiments, an electronic device is described. The electronic device includes: one or more output devices including a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving, via the one or more input devices, speech from a user corresponding to a request to perform an operation; in response to receiving the speech, preparing to perform the operation: based on a determination that the operation requires authorization, preparing to perform the operation includes presenting, via the one or more output devices of the device: a representation of the operation; and instructions for providing authorization to the device to perform the operation via the one or more input devices of the device; after preparing to perform the operation, receiving a confirmation input associated with performing the operation; and in response to receiving the confirmation input: based on a determination that the operation requires authorization and the operation has not been authorized, aborting the performance of the operation in response to the confirmation input; based on a determination that the operation requires authorization and the operation has been authorized, performing the operation in response to the confirmation input; and based on a determination that the operation does not require authorization, performing the operation in response to the confirmation input.

[0047] According to some embodiments, an electronic device is described. The electronic device includes: one or more output devices including a display; one or more input devices; means for receiving, via the one or more input devices, speech from a user corresponding to a request to perform an operation; in response to receiving the speech, preparing to perform the operation, means for performing the following operations: based on a determination that the operation requires authorization, preparing to perform the operation includes presenting, via the one or more output devices of the device: a representation of the operation; and means for providing authorization to the device to perform the operation via the one or more input devices of the device; after preparing to perform the operation, means for receiving a confirmation input associated with performing the operation; and in response to receiving the confirmation input, means for performing the following operations: based on a determination that the operation requires authorization and the operation has not been authorized, aborting the performance of the operation in response to the confirmation input; based on a determination that the operation requires authorization and the operation has been authorized, performing the operation in response to the confirmation input; and based on a determination that the operation does not require authorization, performing the operation in response to the confirmation input.

[0048] According to some embodiments, a method is described that is performed at an electronic device having a display and one or more sensor devices. The method includes: displaying a user interface object on the display when the device is in a first orientation relative to a reference point and relative to a baseline orientation; detecting, via the one or more sensor devices, an orientation change of the device from the first orientation relative to the reference point to a corresponding orientation relative to the reference point while the user interface object is being displayed; in response to detecting the orientation change of the device: changing the appearance of the user interface object by applying a visual effect to the user interface object when the orientation of the device changes relative to the reference point, the visual effect changing one or more parameters of a set of the user interface object; reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement toward the baseline orientation that meets a predetermined criterion; and continuing to apply the visual effect to the user interface object without reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement away from the baseline orientation that meets the predetermined criterion.

[0049] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying a user interface object on the display when the device is in a first orientation relative to a reference point and relative to a baseline orientation; detecting, via the one or more sensor devices, an orientation change of the device from the first orientation relative to the reference point to a corresponding orientation relative to the reference point while the user interface object is being displayed; in response to detecting the orientation change of the device: changing the appearance of the user interface object by applying a visual effect to the user interface object when the orientation of the device changes relative to the reference point, the visual effect changing one or more parameters of a set of the user interface object; reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement toward the baseline orientation that meets a predetermined criterion; and continuing to apply the visual effect to the user interface object without reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement away from the baseline orientation that meets the predetermined criterion.

[0050] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying a user interface object on the display when the device is in a first orientation relative to a reference point and relative to a baseline orientation; detecting, via the one or more sensor devices, an orientation change of the device from the first orientation relative to the reference point to a corresponding orientation relative to the reference point while the user interface object is being displayed; in response to detecting the orientation change of the device: changing the appearance of the user interface object by applying a visual effect to the user interface object as the orientation of the device changes relative to the reference point, the visual effect changing one or more parameters of a set of the user interface object; reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement toward the baseline orientation that meets a predetermined criterion; and continuing to apply the visual effect to the user interface object without reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement away from the baseline orientation that meets the predetermined criterion.

[0051] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more sensor devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a user interface object on the display when the device is in a first orientation relative to a reference point and relative to a baseline orientation; detecting, via the one or more sensor devices, an orientation change of the device from the first orientation relative to the reference point to a corresponding orientation relative to the reference point while the user interface object is being displayed; in response to detecting the orientation change of the device: changing the appearance of the user interface object by applying a visual effect to the user interface object as the orientation of the device changes relative to the reference point, the visual effect changing one or more parameters of a set of the user interface object; reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement toward the baseline orientation that meets a predetermined criterion; and continuing to apply the visual effect to the user interface object without reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement away from the baseline orientation that meets the predetermined criterion.

[0052] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more sensor devices; means for displaying a user interface object on the display when the device is in a first orientation relative to a reference point and relative to a baseline orientation; means for detecting, via the one or more sensor devices, an orientation change of the device from the first orientation relative to the reference point to a corresponding orientation relative to the reference point when the user interface object is being displayed; means for performing the following operations in response to detecting the orientation change of the device: changing the appearance of the user interface object by applying a visual effect to the user interface object as the orientation of the device changes relative to the reference point, the visual effect changing one or more parameters of a set of the user interface object; reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement towards the baseline orientation that meets a predetermined criterion; and continuing to apply the visual effect to the user interface object without reducing the amplitude of the visual effect based on a determination that the orientation change of the device includes a movement away from the baseline orientation that meets the predetermined criterion.

[0053] According to some embodiments, a method is described that is performed at an electronic device having a display and one or more input devices. The method includes: displaying a message composition user interface on the display, the message composition user interface including a message composition area for composing a message to a recipient; receiving a request to generate a draft message including corresponding content while the message composition user interface is being displayed; and in response to receiving the request to generate the draft message, displaying a representation of the draft message in the message composition area, wherein: at least a portion of the corresponding content of the draft message is displayed simultaneously with a representation of a hidden element based on a determination that the draft message is a first type of draft message designated for delivery as a hidden message; and at least a portion of the corresponding content of the draft message is displayed without displaying a representation of a hidden element based on a determination that the draft message is a second type of draft message designated for delivery as a non-hidden message.

[0054] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a message composition user interface on the display, the message composition user interface including a message composition area for composing a message to a recipient; receiving, while the message composition user interface is being displayed, a request to generate a draft message including corresponding content; and in response to receiving the request to generate the draft message, displaying a representation of the draft message in the message composition area, wherein: based on a determination that the draft message is a first type of draft message designated for delivery as a hidden message, displaying at least a portion of the corresponding content of the draft message along with a representation of a hidden element; and based on a determination that the draft message is a second type of draft message designated for delivery as a non-hidden message, displaying at least a portion of the corresponding content of the draft message without displaying a representation of the hidden element.

[0055] According to some embodiments, a transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying a message composition user interface on the display, the message composition user interface including a message composition area for composing a message to a recipient; receiving, while the message composition user interface is being displayed, a request to generate a draft message including corresponding content; and in response to receiving the request to generate the draft message, displaying a representation of the draft message in the message composition area, wherein: based on a determination that the draft message is a first type of draft message designated for delivery as a hidden message, displaying at least a portion of the corresponding content of the draft message along with a representation of a hidden element; and based on a determination that the draft message is a second type of draft message designated for delivery as a non-hidden message, displaying at least a portion of the corresponding content of the draft message without displaying a representation of the hidden element.

[0056] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a message composition user interface on the display, the message composition user interface including a message composition area for composing a message to a recipient; receiving, while the message composition user interface is displayed, a request to generate a draft message including corresponding content; and in response to receiving the request to generate the draft message, displaying a representation of the draft message in the message composition area, wherein: based on a determination that the draft message is a first type of draft message designated for delivery as a hidden message, displaying at least a portion of the corresponding content of the draft message along with a representation of a hidden element; and based on a determination that the draft message is a second type of draft message designated for delivery as a non-hidden message, displaying at least a portion of the corresponding content of the draft message without displaying a representation of the hidden element.

[0057] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for displaying a message composition user interface on the display, the message composition user interface including a message composition area for composing a message to a recipient; means for receiving, while the message composition user interface is displayed, a request to generate a draft message including corresponding content; and means for displaying a representation of the draft message in the message composition area in response to receiving the request to generate the draft message, wherein: based on a determination that the draft message is a first type of draft message designated for delivery as a hidden message, displaying at least a portion of the corresponding content of the draft message along with a representation of a hidden element; and based on a determination that the draft message is a second type of draft message designated for delivery as a non-hidden message, displaying at least a portion of the corresponding content of the draft message without displaying a representation of the hidden element.

[0058] According to some embodiments, a method is described that is performed at an electronic device having a display, one or more input devices, and one or more sensors. The method includes: displaying, on the display, a messaging user interface that includes at least a portion of a messaging session between a user of the device and one or more other participants; receiving a message while the messaging user interface is being displayed; in response to receiving the message, displaying a representation of the message in the messaging session including: in accordance with a determination that the message is a first type of message and is sent with an instruction for initially hiding the corresponding content of the message, displaying, in the messaging session, a hiding element that hides the corresponding content of the message, wherein the hiding element is displayed with a dynamic visual effect that changes as the angle of the device relative to a reference point changes; in accordance with a determination that the message is the first type of message and is not sent with an instruction for initially hiding the corresponding content of the message, displaying, in the messaging session, the corresponding content of the message with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and in accordance with a determination that the message is a second type of message, displaying, in the messaging session, the corresponding content of the message without a dynamic visual effect.

[0059] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, one or more input devices, and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying, on the display, a messaging user interface that includes at least a portion of a messaging session between a user of the device and one or more other participants; receiving a message while the messaging user interface is being displayed; in response to receiving the message, displaying a representation of the message in the messaging session including: in accordance with a determination that the message is a first type of message and is sent with an instruction for initially hiding the corresponding content of the message, displaying, in the messaging session, a hiding element that hides the corresponding content of the message, wherein the hiding element is displayed with a dynamic visual effect that changes as the angle of the device relative to a reference point changes; in accordance with a determination that the message is the first type of message and is not sent with an instruction for initially hiding the corresponding content of the message, displaying, in the messaging session, the corresponding content of the message with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and in accordance with a determination that the message is a second type of message, displaying, in the messaging session, the corresponding content of the message without a dynamic visual effect.

[0060] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, one or more input devices, and one or more sensor devices, the one or more programs including instructions for performing the following operations: displaying a message user interface on the display, the message user interface including at least a portion of a message session between a user of the device and one or more other participants; receiving a message while the message user interface is being displayed; in response to receiving the message, displaying a representation of the message in the message session including: in accordance with a determination that the message is a first type of message and is sent with instructions for initially hiding the corresponding content of the message, displaying a hiding element in the message session that hides the corresponding content of the message, wherein the hiding element is displayed with a dynamic visual effect that changes as the angle of the device relative to a reference point changes; in accordance with a determination that the message is the first type of message and is not sent with instructions for initially hiding the corresponding content of the message, displaying the corresponding content of the message in the message session with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and in accordance with a determination that the message is a second type of message, displaying the corresponding content of the message in the message session without a dynamic visual effect.

[0061] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more sensors; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a message user interface on the display, the message user interface including at least a portion of a message session between a user of the device and one or more other participants; receiving a message while the message user interface is being displayed; in response to receiving the message, displaying a representation of the message in the message session including: in accordance with a determination that the message is a first type of message and is sent with instructions for initially hiding the corresponding content of the message, displaying a hiding element in the message session that hides the corresponding content of the message, wherein the hiding element is displayed with a dynamic visual effect that changes as the angle of the device relative to a reference point changes; in accordance with a determination that the message is the first type of message and is not sent with instructions for initially hiding the corresponding content of the message, displaying the corresponding content of the message in the message session with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and in accordance with a determination that the message is a second type of message, displaying the corresponding content of the message in the message session without a dynamic visual effect.

[0062] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more sensors; means for displaying a messaging user interface on the display, the messaging user interface including at least a portion of a messaging session between a user of the device and one or more other participants; means for receiving a message when the messaging user interface is displayed; means for displaying a representation of the message in the messaging session in response to receiving the message, which includes: means for displaying a hidden element in the messaging session that hides the corresponding content of the message, where the hidden element is displayed with a dynamic visual effect that changes as the angle of the device with respect to a reference point changes, based on the determination that the message is a first type of message and is sent with an instruction for initially hiding the corresponding content of the message; means for displaying the corresponding content of the message in the messaging session with the dynamic visual effect that changes as the angle of the device with respect to the reference point changes, based on the determination that the message is the first type of message and is not sent with an instruction for initially hiding the corresponding content of the message; and means for displaying the corresponding content of the message in the messaging session without a dynamic visual effect, based on the determination that the message is a second type of message.

[0063] According to some embodiments, a method is described that is performed at an electronic device having a display, a security element, and one or more wireless communication radio components. The method includes: pre-configuring a group account onto the electronic device using the security element of the device; transmitting a request for a quantity of an item type to multiple participants of a messaging session using the one or more wireless communication radio components; after pre-configuring the group account onto the electronic device using the security element of the device: adding a quantity of an item type received from a first participant of the multiple participants to the group account, and adding a quantity of the item type received from a second participant of the multiple participants to the group account; receiving a request to transmit credentials of the group account; and in response to receiving the request to transmit credentials of the group account: receiving authentication information; transmitting the credentials of the group account via the one or more wireless communication radio components based on the determination that the authentication information received at the device corresponds to registered authentication information; and withholding transmission of the credentials of the group account based on the determination that the authentication information received at the device does not correspond to registered authentication information.

[0064] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a security element, and one or more wireless communication radio components, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device; transmitting, using the one or more wireless communication radio components, a request for a quantity of an item of a type to multiple participants in a messaging session; after pre-configuring the group account onto the electronic device using the security element of the device: adding a quantity of an item of a type received from a first participant among the multiple participants to the group account, and adding a quantity of the item of the type received from a second participant among the multiple participants to the group account; receiving a request to transmit credentials of the group account; and in response to receiving the request to transmit the credentials of the group account: receiving authentication information; transmitting the credentials of the group account via the one or more wireless communication radio components based on a determination that the authentication information received at the device corresponds to registered authentication information; and refraining from transmitting the credentials of the group account based on a determination that the authentication information received at the device does not correspond to registered authentication information.

[0065] According to some embodiments, a transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, a security element, and one or more wireless communication radio components, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device; transmitting, using the one or more wireless communication radio components, a request for a quantity of an item of a type to multiple participants in a messaging session; after pre-configuring the group account onto the electronic device using the security element of the device: adding a quantity of an item of a type received from a first participant among the multiple participants to the group account, and adding a quantity of the item of the type received from a second participant among the multiple participants to the group account; receiving a request to transmit credentials of the group account; and in response to receiving the request to transmit the credentials of the group account: receiving authentication information; transmitting the credentials of the group account via the one or more wireless communication radio components based on a determination that the authentication information received at the device corresponds to registered authentication information; and refraining from transmitting the credentials of the group account based on a determination that the authentication information received at the device does not correspond to registered authentication information.

[0066] According to some embodiments, an electronic device is described. The electronic device includes: a display; a security element; one or more wireless communication radio components; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device; transmitting a request for a quantity of an item of a type to multiple participants in a messaging session using the one or more wireless communication radio components; after pre-configuring the group account onto the electronic device using the security element of the device: adding a quantity of an item of a type received from a first participant among the multiple participants to the group account, and adding a quantity of the item of the type received from a second participant among the multiple participants to the group account; receiving a request to transmit credentials for the group account; and in response to receiving the request to transmit credentials for the group account: receiving authentication information; transmitting the credentials for the group account via the one or more wireless communication radio components based on a determination that the authentication information received at the device corresponds to registered authentication information; and refraining from transmitting the credentials for the group account based on a determination that the authentication information received at the device does not correspond to registered authentication information.

[0067] According to some embodiments, an electronic device is described. The electronic device includes: a display; a security element; one or more wireless communication radio components; means for pre-configuring a group account onto the electronic device using the security element of the device; means for transmitting a request for a quantity of an item of a type to multiple participants in a messaging session using the one or more wireless communication radio components; after pre-configuring the group account onto the electronic device using the security element of the device, means for performing the following operations: adding a quantity of an item of a type received from a first participant among the multiple participants to the group account, and adding a quantity of the item of the type received from a second participant among the multiple participants to the group account; means for receiving a request to transmit credentials for the group account; and in response to receiving the request to transmit credentials for the group account, means for performing the following operations: receiving authentication information; transmitting the credentials for the group account via the one or more wireless communication radio components based on a determination that the authentication information received at the device corresponds to registered authentication information; and refraining from transmitting the credentials for the group account based on a determination that the authentication information received at the device does not correspond to registered authentication information.

[0068] According to some embodiments, a method is described that is performed at an electronic device having a display and one or more input devices. The method includes: displaying at least a portion of a message session of a messaging application on the display; while displaying at least the portion of the message session of the messaging application, displaying a first affordance associated with the management of a first type of item on the display; detecting, via the one or more input devices, a user activation of the first affordance; and in response to detecting the user activation of the first affordance: displaying, based on a determination that the message session is a group message session including more than two participants, a first user interface on the display for setting up a shared item management account for managing the first type of item shared with the participants in the message session; and displaying, based on a determination that the message session is a one-on-one message session including two participants, a second user interface different from the first user interface on the display for sending or requesting the first type of item to or from the other participant in the message session rather than setting up the shared item management account for managing the first type of item.

[0069] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying at least a portion of a message session of a messaging application on the display; while displaying at least the portion of the message session of the messaging application, displaying a first affordance associated with the management of a first type of item on the display; detecting, via the one or more input devices, a user activation of the first affordance; and in response to detecting the user activation of the first affordance: displaying, based on a determination that the message session is a group message session including more than two participants, a first user interface on the display for setting up a shared item management account for managing the first type of item shared with the participants in the message session; and displaying, based on a determination that the message session is a one-on-one message session including two participants, a second user interface different from the first user interface on the display for sending or requesting the first type of item to or from the other participant in the message session rather than setting up the shared item management account for managing the first type of item.

[0070] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices, the one or more programs including instructions for performing the following operations: displaying at least a portion of a message session of a messaging application on the display; while displaying at least the portion of the message session of the messaging application, displaying a first affordance associated with management of a first type of item on the display; detecting, via the one or more input devices, a user activation of the first affordance; and in response to detecting the user activation of the first affordance: displaying, on the display, a first user interface for setting up a shared item management account for managing the first type of item shared with participants in the message session, based on a determination that the message session is a group message session including more than two participants; and displaying, on the display, a second user interface different from the first user interface for sending or requesting the first type of item to or from another participant in the message session instead of setting up the shared item management account for managing the first type of item, based on a determination that the message session is a one-to-one message session including two participants.

[0071] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying at least a portion of a message session of a messaging application on the display; while displaying at least the portion of the message session of the messaging application, displaying a first affordance associated with management of a first type of item on the display; detecting, via the one or more input devices, a user activation of the first affordance; and in response to detecting the user activation of the first affordance: displaying, on the display, a first user interface for setting up a shared item management account for managing the first type of item shared with participants in the message session, based on a determination that the message session is a group message session including more than two participants; and displaying, on the display, a second user interface different from the first user interface for sending or requesting the first type of item to or from another participant in the message session instead of setting up the shared item management account for managing the first type of item, based on a determination that the message session is a one-to-one message session including two participants.

[0072] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for displaying at least a portion of a messaging session of a messaging application on the display; means for displaying, on the display, a first affordance associated with management of a first type of item when displaying at least the portion of the messaging session of the messaging application; means for detecting, via the one or more input devices, a user activation of the first affordance; and means for performing the following operations in response to detecting the user activation of the first affordance: displaying, on the display, a first user interface for setting up a shared item management account for managing the first type of item shared with participants in the messaging session based on a determination that the messaging session is a group messaging session including more than two participants; and displaying, on the display, a second user interface different from the first user interface for sending or requesting the first type of item to or from another participant in the messaging session instead of setting up the shared item management account for managing the first type of item based on a determination that the messaging session is a one-to-one messaging session including two participants.

[0073] According to some embodiments, a method is described for being performed at an electronic device having a display and a security element. The method includes: pre-configuring, using the security element of the device, a group account onto the electronic device, where the group account is associated with a first type of item received from a plurality of participants associated with the group account, and where the group account is configured to expire after a predetermined period of time; using, before the group account has expired, a first subset of the first type of item by transmitting the first type of item out of the group account; determining that the group account has expired after using at least the first subset of the first type of item; and in response to the determination that the group account has expired: causing a transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a first quantity of the first type of item greater than zero; and causing a transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a second quantity of the first type of item greater than zero and different from the first quantity.

[0074] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and a security element, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device, wherein the group account is associated with a first type of item received from a plurality of participants associated with the group account, and wherein the group account is configured to expire after a predetermined period of time; using a first subset of the first type of item by transmitting the first type of item out of the group account before the group account has expired; determining that the group account has expired after using at least the first subset of the first type of item; and in response to determining that the group account has expired: causing a transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a first amount greater than zero of the first type of item; and causing a transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a second amount greater than zero and different from the first amount of the first type of item.

[0075] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and a security element, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device, wherein the group account is associated with a first type of item received from a plurality of participants associated with the group account, and wherein the group account is configured to expire after a predetermined period of time; using a first subset of the first type of the item by transmitting the first type of the item from the group account before the group account has expired; determining that the group account has expired after using at least the first subset of the first type of the item; and in response to the determination that the group account has expired: causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a first quantity greater than zero of the first type of the item; and causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a second quantity greater than zero and different from the first quantity of the first type of the item.

[0076] According to some embodiments, an electronic device is described. The electronic device includes: a display; a security element; one or more processors; and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: pre-configuring a group account onto the electronic device using the security element of the device, wherein the group account is associated with a first type of item received from a plurality of participants associated with the group account, and wherein the group account is configured to expire after a predetermined period of time; using a first subset of the first type of the item by transmitting the first type of the item from the group account before the group account has expired; determining that the group account has expired after using at least the first subset of the first type of the item; and in response to the determination that the group account has expired: causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a first quantity greater than zero of the first type of the item; and causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a second quantity greater than zero and different from the first quantity of the first type of the item.

[0077] According to some embodiments, an electronic device is described. The electronic device includes: a display; a security element; means for pre-configuring a group account onto the electronic device using the security element of the device, wherein the group account is associated with a first type of item received from a plurality of participants associated with the group account, and wherein the group account is configured to expire after a predetermined period of time; means for using a first subset of the first type of item by transmitting the first type of item out of the group account before the group account has expired; means for determining that the group account has expired after using at least the first subset of the first type of item; and means for performing the following operations in response to the determination that the group account has expired: causing transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a first non-zero amount of the first type of item; and causing transmission of the first type of item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account, based on a determination that the group account is associated with a second non-zero amount of the first type of item different from the first amount.

[0078] According to some embodiments, a method performed at an electronic device having a display and one or more input devices is described. The method includes: receiving, via the one or more input devices, a request to perform an operation associated with the first transfer account; and in response to receiving the request to perform the operation associated with the first transfer account: displaying, on the display, a representation of the first transfer account and a balance insufficient notification simultaneously, based on a determination that the balance of the first transfer account is below a balance threshold; and displaying, on the display, the representation of the first transfer account but not the balance insufficient notification, based on a determination that the balance of the first transfer account is not below the balance threshold.

[0079] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices. The one or more programs include instructions for performing the following operations: receiving, via the one or more input devices, a request to perform an operation associated with the first transfer account; and in response to receiving the request to perform the operation associated with the first transfer account: displaying, on the display, a representation of the first transfer account and a balance insufficient notice simultaneously based on a determination that the balance of the first transfer account is lower than a balance threshold; and displaying, on the display, the representation of the first transfer account but not the balance insufficient notice based on a determination that the balance of the first transfer account is not lower than the balance threshold.

[0080] According to some embodiments, a transitory computer-readable storage medium is described. The transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display and one or more input devices. The one or more programs include instructions for performing the following operations: receiving, via the one or more input devices, a request to perform an operation associated with the first transfer account; and in response to receiving the request to perform the operation associated with the first transfer account: displaying, on the display, a representation of the first transfer account and a balance insufficient notice simultaneously based on a determination that the balance of the first transfer account is lower than a balance threshold; and displaying, on the display, the representation of the first transfer account but not the balance insufficient notice based on a determination that the balance of the first transfer account is not lower than the balance threshold.

[0081] According to some embodiments, an electronic device is described. The electronic device includes: a display, one or more input devices, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for performing the following operations: receiving, via the one or more input devices, a request to perform an operation associated with the first transfer account; and in response to receiving the request to perform the operation associated with the first transfer account: displaying, on the display, a representation of the first transfer account and a balance insufficient notice simultaneously based on a determination that the balance of the first transfer account is lower than a balance threshold; and displaying, on the display, the representation of the first transfer account but not the balance insufficient notice based on a determination that the balance of the first transfer account is not lower than the balance threshold.

[0082] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more input devices; means for receiving, via the one or more input devices, a request to perform an operation associated with a first transfer account; and means for, in response to receiving the request to perform the operation associated with the first transfer account, performing the following operations: simultaneously displaying, on the display, a representation of the first transfer account and a balance insufficient notification based on a determination that a balance of the first transfer account is below a balance threshold; and displaying, on the display, the representation of the first transfer account but not the balance insufficient notification based on a determination that the balance of the first transfer account is not below the balance threshold.

[0083] The executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors. The executable instructions for performing these functions are optionally included in a transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.

[0084] Thus, a faster and more efficient method and interface for managing peer-to-peer transfers are provided for the device, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for managing peer-to-peer transfers. BRIEF DESCRIPTION OF THE DRAWINGS

[0085] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the accompanying drawings, in which like reference numerals indicate corresponding parts in all the drawings.

[0086] Figure 1A is a block diagram showing a portable multifunctional device having a touch-sensitive display according to some embodiments.

[0087] Figure 1B is a block diagram showing exemplary components for event handling according to some embodiments.

[0088] Figure 1C is a block diagram showing exemplary components for generating visual output according to some embodiments.

[0089] Figure 2 shows a portable multifunctional device having a touch screen according to some embodiments.

[0090] Figure 3 is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some embodiments.

[0091] Figure 4AShows an exemplary user interface of an application menu on a portable multifunctional device according to some embodiments.

[0092] Figure 4B Shows an exemplary user interface of a multifunctional device having a touch-sensitive surface separate from a display according to some embodiments.

[0093] Figures 4C - 4H Shows an exemplary haptic output pattern having a specific waveform according to some embodiments.

[0094] Figure 5A Shows a personal electronic device according to some embodiments.

[0095] Figure 5B Is a block diagram showing a personal electronic device according to some embodiments.

[0096] Figures 5C - 5D Shows exemplary components of a personal electronic device having a touch-sensitive display and an intensity sensor according to some embodiments.

[0097] Figures 5E - 5H Shows exemplary components and a user interface of a personal electronic device according to some embodiments.

[0098] Figure 6 Shows exemplary devices connected via one or more communication channels according to some embodiments.

[0099] Figures 7A - 7E Shows an exemplary user interface for initiating and managing file transfers according to some embodiments.

[0100] Figures 8A - 8AH Shows an exemplary user interface for initiating and managing transfers according to some embodiments.

[0101] Figures 9A - 9I Is a flowchart showing a method for initiating and managing transfers according to some embodiments.

[0102] Figures 10A - 10D Shows an exemplary user interface for providing feedback on a message object corresponding to a completed file transfer according to some embodiments.

[0103] Figures 11A - 11V Shows an exemplary user interface for providing feedback on a message object corresponding to a completed transfer according to some embodiments.

[0104] Figures 12A - 12C Is a flowchart showing a method for providing feedback on a message object corresponding to a completed transfer according to some embodiments.

[0105] Figures 13A - 13D An exemplary user interface for providing a visually distinguishable appearance of a message object based on a message specification is shown, in accordance with some embodiments.

[0106] Figures 14A - 14M An exemplary user interface for providing a visually distinguishable appearance of a message object based on a message specification is shown, in accordance with some embodiments.

[0107] Figures 15A - 15K A flowchart showing a method for providing a visually distinguishable appearance of a message object based on a message specification, in accordance with some embodiments.

[0108] Figures 16A - 16F An exemplary user interface for activating an account for receiving and sending encrypted message transmissions is shown, in accordance with some embodiments.

[0109] Figures 17A - 17L An exemplary user interface for activating an account for receiving and sending transmissions is shown, in accordance with some embodiments.

[0110] Figures 18A - 18F A flowchart showing a method for activating an account for receiving and sending transmissions, in accordance with some embodiments.

[0111] Figures 19A - 19D An exemplary user interface for exchanging user identities with different user identities is shown, in accordance with some embodiments.

[0112] Figures 20A - 20J An exemplary user interface for exchanging accounts used in a transmission is shown, in accordance with some embodiments.

[0113] Figures 21A - 21D A flowchart showing a method for exchanging accounts used in a transmission, in accordance with some embodiments.

[0114] Figures 22A - 22F An exemplary user interface for splitting a resource transmission between two or more resource accounts is shown, in accordance with some embodiments.

[0115] Figures 23A - 23O An exemplary user interface for splitting a transmission between two or more accounts is shown, in accordance with some embodiments.

[0116] Figures 24A - 24C A flowchart showing a method for splitting a transmission between two or more accounts, in accordance with some embodiments.

[0117] Figures 25A - 25C An exemplary user interface for generating and displaying a list of attachment transmission histories is shown, in accordance with some embodiments.

[0118] Figures 26A - 26T Shows an exemplary user interface for generating and displaying a transmission history list according to some embodiments.

[0119] Figures 27A - 27E Is a flowchart showing a method for generating and displaying a transmission history list according to some embodiments.

[0120] Figures 28A - 28F Shows an exemplary user interface for voice activation of file transfer according to some embodiments.

[0121] Figures 29A - 29S Shows an exemplary user interface for voice activation of transmission according to some embodiments.

[0122] Figures 30A - 30D Is a flowchart showing a method for voice activation of transmission according to some embodiments.

[0123] Figures 31A - 31M Shows an exemplary user interface for user authentication according to some embodiments.

[0124] Figures 32A - 32D Shows an exemplary user interface for automatic account enrollment according to some embodiments.

[0125] Figures 33A - 33O Shows an exemplary user interface for providing feedback corresponding to an operation associated with a transmission according to some embodiments.

[0126] Figures 34A - 34D Is a flowchart showing a method for providing feedback corresponding to an operation associated with a transmission according to some embodiments.

[0127] Figures 35A - 35J Shows an exemplary user interface for sending a gift transmission according to some embodiments.

[0128] Figures 36A - 36Z Shows an exemplary user interface for sending a gift transmission according to some embodiments.

[0129] Figures 37A - 37C Is a flowchart showing a method for sending a gift transmission according to some embodiments.

[0130] Figures 38A - 38F Shows an exemplary user interface for managing a gift transmission according to some embodiments.

[0131] Figures 39A - 39L Shows an exemplary user interface for managing a gift transmission according to some embodiments.

[0132] Figures 40A - 40Bis a flowchart showing a method for managing gift transmission according to some embodiments.

[0133] Figures 41A - 41D Shows an exemplary user interface for creating and managing a group account according to some embodiments.

[0134] Figures 42A - 42O Shows an exemplary user interface for creating and managing a group account according to some embodiments.

[0135] Figures 43A - 43C is a flowchart showing a method for creating and managing a group account according to some embodiments.

[0136] Figures 44A - 44E Shows an exemplary user interface for creating a group account and a non-group account according to some embodiments.

[0137] Figures 45A - 45U Shows an exemplary user interface for creating a group account and a non-group account according to some embodiments.

[0138] Figures 46A - 46C is a flowchart showing a method for creating a group account and a non-group account according to some embodiments.

[0139] Figures 47A - 47H Shows an exemplary user interface for managing the valid period of a group account according to some embodiments.

[0140] Figures 48A - 48Y Shows an exemplary user interface for managing the valid period of a group account according to some embodiments.

[0141] Figures 49A - 49D is a flowchart showing a method for managing the valid period of a group account according to some embodiments.

[0142] Figures 50A - 50AG Shows an exemplary user interface for managing balance notifications according to some embodiments.

[0143] Figures 51A - 51B is a flowchart showing a method for managing balance notifications according to some embodiments. Detailed Description

[0144] The following description sets forth exemplary methods, parameters, etc. However, it should be recognized that such description is not intended to limit the scope of the present disclosure, but rather is provided as a description of exemplary embodiments.

[0145] An electronic device is needed that provides effective methods and interfaces for managing peer - to - peer transmissions. For example, an electronic device is needed that provides a convenient and effective method for sending and receiving transmissions using a common messaging application. Also, an electronic device is needed that provides easier management of peer - to - peer transmissions in a secure manner. Also, an electronic device is needed that provides a fast and intuitive technique for viewing and managing transmission history. Also, an electronic device is needed that can accept transmissions with no user input or minimal user input. Such techniques can reduce the cognitive burden on users accessing and utilizing peer - to - peer transmissions, thereby increasing productivity. In addition, such techniques can reduce the processor power and battery power otherwise wasted on redundant user input.

[0146] Below Figures 1A - 1C 、 Figure 2 、 Figure 3 、 Figures 4A - 4H 、 Figures 5A - 5H A description of an exemplary device for performing techniques for peer - to - peer transmissions is provided. Figure 6 An exemplary device connected via one or more communication channels according to some embodiments is shown. Figures 7A - 7E An exemplary user interface for initiating and managing transfer file transfers according to some embodiments is shown. Figure 8A -

[0147] Figure 8AH An exemplary user interface for initiating and managing transmissions according to some embodiments is shown.

[0148] Figures 9A - 9I A flowchart showing a method for initiating and managing transmissions according to some embodiments. Figures 7A - 7E and Figures 8A - 8AH The user interfaces in Figures 9A - 9I are used to illustrate the processes described below, including the processes in Figures 10A - 10D An exemplary user interface for providing feedback on a message object corresponding to a completed file transfer according to some embodiments is shown. Figures 11A - 11V An exemplary user interface for providing feedback on a message object corresponding to a completed transmission according to some embodiments is shown. Figures 12A - 12C A flowchart showing a method for providing feedback on a message object corresponding to a completed transmission according to some embodiments. Figures 10A - 10D and Figures 11A - 11V The user interfaces in Figures 12A - 12C are used to illustrate the processes described below, including the processes in Figures 13A - 13D An exemplary user interface for providing a visually distinguishable appearance of a message object based on message specification according to some embodiments is shown. Figures 14A - 14MAn exemplary user interface for providing a visually distinguishable appearance of a message object based on a message specification according to some embodiments is shown. Figures 15A - 15K is a flowchart showing a method for providing a visually distinguishable appearance of a message object based on a message specification according to some embodiments. Figures 13A - 13D and Figures 14A - 14M The user interface in is used to illustrate the processes described below, including Figures 15A - 15K the processes in. Figures 16A - 16F An exemplary user interface for activating an account for receiving and sending encrypted message transmissions according to some embodiments is shown. Figures 17A - 17L An exemplary user interface for activating an account for receiving and sending transmissions according to some embodiments is shown. Figures 18A - 18F is a flowchart showing a method for activating an account for receiving and sending transmissions according to some embodiments. Figures 16A - 16F and Figures 17A - 17L The user interface in is used to illustrate the processes described below, including Figures 18A - 18F the processes in. Figures 19A - 19D An exemplary user interface for exchanging user identities with different user identities according to some embodiments is shown. Figures 20A - 20J An exemplary user interface for exchanging accounts used in transmissions according to some embodiments is shown. Figures 21A - 21D is a flowchart showing a method for exchanging accounts used in transmissions according to some embodiments. Figures 19A - 19D and Figures 20A - 20J The user interface in is used to illustrate the processes described below, including Figures 21A - 21D the processes in. Figures 22A - 22F An exemplary user interface for splitting a resource transmission between two or more resource accounts according to some embodiments is shown. Figures 23A - 23O An exemplary user interface for splitting a transmission between two or more accounts according to some embodiments is shown. Figures 24A - 24C is a flowchart showing a method for splitting a transmission between two or more accounts according to some embodiments. Figures 22A - 22F and Figures 23A - 23O The user interface in is used to illustrate the processes described below, including Figures 24A - 24C the processes in. Figures 25A - 25C An exemplary user interface for generating and displaying a list of attachment transmission histories according to some embodiments is shown. Figures 26A - 26T An exemplary user interface for generating and displaying a list of transmission histories according to some embodiments is shown. Figures 27A - 27E is a flowchart showing a method for generating and displaying a list of transmission histories according to some embodiments. Figures 25A - 25C and Figures 26A - 26T The user interface in is used to illustrate the processes described below, includingFigures 27A - 27E The process in Figures 28A - 28F shows an exemplary user interface for voice activation for file transfer according to some embodiments. Figures 29A - 29S shows an exemplary user interface for voice activation for transmission according to some embodiments. Figures 30A - 30D is a flowchart showing a method for voice activation of transmission according to some embodiments. Figures 28A - 28F and Figures 29A - 29S The user interface in Figures 30A - 30D is used to show the processes described below, including Figures 31A - 31M The process in Figures 31A - 31M shows an exemplary user interface for user authentication according to some embodiments. Figures 32A - 32D shows an exemplary user interface for automatic account enrollment according to some embodiments. Figures 33A - 33O shows an exemplary user interface for providing feedback corresponding to an operation associated with a transmission according to some embodiments. Figures 34A - 34D is a flowchart showing a method for providing feedback corresponding to an operation associated with a transmission according to some embodiments. Figures 33A - 33O The user interface in Figures 34A - 34D is used to show the processes described below, including Figures 35A - 35J The process in Figures 35A - 35J shows an exemplary user interface for sending a gift transmission according to some embodiments. Figures 36A - 36Z shows an exemplary user interface for sending a gift transmission according to some embodiments. Figures 37A - 37C is a flowchart showing a method for sending a gift transmission according to some embodiments. Figures 35A - 35J and Figures 36A - 36Z The user interface in Figures 37A - 37C is used to show the processes described below, including Figures 38A - 38F The process in Figures 38A - 38F shows an exemplary user interface for managing a gift transmission according to some embodiments. Figures 39A - 39L shows an exemplary user interface for managing a gift transmission according to some embodiments. Figures 40A - 40B is a flowchart showing a method for managing a gift transmission according to some embodiments. Figures 38A - 38F and Figures 39A - 39L The user interface in Figures 40A - 40B is used to show the processes described below, including Figures 41A - 44D The process in Figures 41A - 44D shows an exemplary user interface for creating and managing a group account according to some embodiments. Figures 42A - 42O shows an exemplary user interface for creating and managing a group account according to some embodiments. Figures 43A - 43C is a flowchart showing a method for creating and managing a group account according to some embodiments. Figures 41A - 41D and Figures 42A - 42OThe user interface in is used to show the processes described below, including Figures 43A - 43C the processes in. Figures 44A - 44E shows an exemplary user interface for creating group accounts and non-group accounts according to some embodiments. Figures 45A - 45U shows an exemplary user interface for creating group accounts and non-group accounts according to some embodiments. Figures 46A - 46C is a flowchart showing a method for creating group accounts and non-group accounts according to some embodiments. Figures 44A - 44E and Figures 45A - 45U The user interface in is used to show the processes described below, including Figures 46A - 46C the processes in. Figures 47A - 47H shows an exemplary user interface for managing the valid period of a group account according to some embodiments. Figures 48A - 48Y shows an exemplary user interface for managing the valid period of a group account according to some embodiments. Figures 49A - 49D is a flowchart showing a method for managing the valid period of a group account according to some embodiments. Figures 47A - 47H and Figures 48A - 48Y The user interface in is used to show the processes described below, including Figures 49A - 49D the processes in. Figures 50A - 50AG shows an exemplary user interface for managing balance notifications according to some embodiments. Figures 51A - 51B is a flowchart showing a method for managing balance notifications according to some embodiments. Figures 50A - 50AG The user interface in is used to show the processes described below, including Figures 51A - 51B the processes in.

[0149] Although the following description uses terms such as "first" and "second" to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch could be named a second touch and similarly a second touch could be named a first touch, without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.

[0150] The terms used in the description of the various embodiments herein are for the purpose of describing particular embodiments only and are not intended to be limiting. As used in the description of the various embodiments and the appended claims, the singular forms "a" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will also be understood that the term "comprises" ("includes", "including", "comprises" and / or "comprising") when used in this specification is specified to exist the stated features, integers, steps, operations, elements and / or components, but does not preclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their groupings.

[0151] Depending on the context, the term "if" may optionally be interpreted to mean "when", "upon", or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase "if it is determined..." or "if [the stated condition or event] is detected" may optionally be interpreted to mean "when it is determined..." or "in response to determining..." or "when [the stated condition or event] is detected" or "in response to detecting [the stated condition or event]".

[0152] Embodiments of electronic devices, user interfaces of such devices, and related processes of using such devices are described herein. 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 the portable multifunctional device include, but are not limited to, those from Apple Inc. (Cupertino, California) iPod and devices. Optionally, other portable electronic devices may be used, such as a laptop or tablet computer having a touch-sensitive surface (e.g., a touch screen display and / or a touchpad). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touchpad).

[0153] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device may optionally include one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick.

[0154] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.

[0155] The various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or within the respective applications. Thus, a common physical architecture of the device (such as a touch-sensitive surface) optionally supports a variety of applications with a user interface that is intuitive and clear to the user.

[0156] Attention is now turned to an embodiment of a portable device having a touch-sensitive display. Figure 1A FIG. is a block diagram of a portable multifunctional device 100 having a touch-sensitive display system 112 in accordance with some embodiments. The touch-sensitive display 112 is sometimes called a "touch screen" for convenience, and is sometimes referred to as or called a "touch-sensitive display system". The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, a security element 115, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on the device 100 (e.g., a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100). The device 100 optionally includes one or more tactile output generators 167 for generating tactile output on the device 100 (e.g., generating tactile output on a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100 or the touchpad 355 of the device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0157] As used in this specification and the claims, the “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using a variety of methods and a variety of sensors or combinations of sensors. For example, one or more force sensors beneath or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine the estimated contact force. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as surrogates for the force or pressure of a contact on the touch-sensitive surface. In some embodiments, the surrogate measurements of contact force or pressure are used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurements). In some embodiments, the surrogate measurements of contact force or pressure are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of a contact as an attribute of a user input allows a user to access additional device functions that would otherwise be inaccessible on a smaller device with limited footprint, the smaller device being used to (e.g., on a touch-sensitive display) display affordances and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or physical / mechanical controls such as a knob or button).

[0158] As used in this specification and the claims, the term "haptic output" refers to a physical displacement of a device relative to a previous position of the device detected by a user using the user's sense of touch, 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. For example, in the case of contact between the device or a component of the device and a surface of the user that is sensitive to touch (e.g., a finger, palm, or other part of the user's hand), a haptic output generated by the physical displacement will be interpreted by the user as a sense of touch that corresponds to a perceived change in a physical characteristic of the device or the component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or a touchpad) may optionally be interpreted by the user as a "press click" or "release click" of a physical actuation button. In some cases, the user will feel a sense of touch, such as a "press click" or "release click," even when a physical actuation button associated with the touch-sensitive surface that is physically depressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although such interpretations of touch by the user will be limited by the user's individual sensory perception, many sensory perceptions of touch are common to most users. Thus, when a haptic output is described as corresponding to a particular sensory perception of the user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated haptic output corresponds to a physical displacement of the device or a component thereof that will generate the stated sensory perception of a typical (or average) user. Providing haptic feedback to the user using haptic output enhances the operability of the device and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power usage and extending the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0159] In some embodiments, a haptic output pattern specifies characteristics of the haptic output, such as the amplitude of the haptic output, the shape of the motion waveform of the haptic output, the frequency of the haptic output, and / or the duration of the haptic output.

[0160] When a device (e.g., one or more haptic output generators that generate haptic output via moving a movable mass) generates haptic output with different haptic output patterns, the haptic output can produce different tactile sensations in a user who is holding or touching the device. Although the user's senses are based on the user's perception of the haptic output, most users will be able to recognize changes in the waveform, frequency, and amplitude of the haptic output generated by the device. Thus, the waveform, frequency, and amplitude can be adjusted to indicate to the user that different operations have been performed. In this way, haptic output having a haptic output pattern that is designed, selected, and / or arranged to simulate the properties (e.g., size, material, weight, stiffness, smoothness, etc.); behaviors (e.g., oscillation, displacement, acceleration, rotation, stretching, etc.); and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of an object in a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment having virtual boundaries and virtual objects, a real physical environment having physical boundaries and physical objects, and / or any combination of the foregoing) will, in some cases, provide helpful feedback to the user, which reduces input errors and improves the efficiency of the user's operation of the device. Additionally, the haptic output is optionally generated to correspond to feedback that is unrelated to the simulated physical properties (such as input thresholds or object selection). Such haptic output will, in some cases, provide helpful feedback to the user, which reduces input errors and improves the efficiency of the user's operation of the device.

[0161] In some embodiments, haptic output having an appropriate haptic output pattern serves as a cue for an event of interest occurring in a user interface or behind a screen in a device. Examples of events of interest include activation of an affordance representation (e.g., a real or virtual button, or a toggle switch) provided on the device or in the user interface, success or failure of a requested operation, reaching or crossing a boundary in the user interface, entering a new state, switching input focus between objects, activating a new mode, reaching or crossing an input threshold, detecting or recognizing a type of input or gesture, and so on. In some embodiments, haptic output is provided to serve as a warning or cue about an impending event or outcome that will occur unless a change in direction or interruption of the input is detected in time. Haptic output is also used in other contexts to enrich the user experience, improve the accessibility of the device to users with visual or motor difficulties or other accessibility needs, and / or improve the efficiency and functionality of the user interface and / or the device. Optionally, the haptic output is compared with audio input and / or visual user interface changes, which further enhances the user's experience when the user interacts with the user interface and / or the device, facilitates better transmission of information about the state of the user interface and / or the device, and which reduces input errors and improves the efficiency of the user's operation of the device.

[0162] Figures 4C - 4EA set of sample haptic output patterns is provided that can be used, individually or in combination, as-is or through one or more transformations (such as modulation, amplification, truncation, etc.) to form suitable haptic feedback for various purposes in various scenarios (such as those described above and those described with respect to the user interfaces and methods discussed herein). This example of a haptic output control panel shows how a set of three waveforms and eight frequencies can be used to generate an array of haptic output patterns. In addition to the haptic output patterns shown in this figure, each of these haptic output patterns can optionally be adjusted in amplitude by changing the gain value of the haptic output pattern, as shown, for example, for Figures 4F - 4H FullTap 80Hz, FullTap 200Hz, MiniTap 80Hz, MiniTap 200Hz, MicroTap 80Hz, and MicroTap 200Hz in Figures 4F - 4H which are each shown as variants with gains of 1.0, 0.75, 0.5, and 0.25. As

[0163] Figures 4C - 4H shown, changing the gain of a haptic output pattern changes the amplitude of the pattern without changing the frequency of the pattern or the shape of the waveform. In some embodiments, changing the frequency of a haptic output pattern also results in a lower amplitude because some haptic output generators are limited in how much force can be applied to a movable mass, and thus higher frequency movements of the mass are constrained to lower amplitudes to ensure that the acceleration required to form the waveform does not require a force outside the operating force range of the haptic output generator (e.g., the peak amplitudes of FullTap at 230Hz, 270Hz, and 300Hz are lower than the amplitudes of FullTap at 80Hz, 100Hz, 125Hz, and 200Hz). zero ) The haptic output pattern with a specific waveform is shown. The waveform of the haptic output pattern represents the pattern of physical displacement over time relative to a neutral position (e.g., x Figure 4C ) through which a movable mass generates a haptic output having that haptic output pattern. For example, Figure 4D each of the first set of haptic output patterns (e.g., the haptic output pattern of "FullTap") shown in Figure 4EThe third set of haptic output patterns shown (e.g., the haptic output pattern of "MicroTap") each have a waveform that includes an oscillation having half of a complete cycle (e.g., an oscillation that starts and ends at a neutral position and does not cross the neutral position). The waveform of the haptic output pattern also includes a start buffer and an end buffer that represent the gradual acceleration and deceleration of the movable mass at the start and end of the haptic output. Figures 4C - 4H The exemplary waveform shown includes x's that represent the maximum and minimum degrees of movement of the movable mass. min and x's max values. For larger electronic devices with a larger movable mass, the minimum and maximum degrees of movement of the mass can be greater or less. Figures 4C - 4H The embodiments shown in describe the movement of the mass in one dimension, but similar principles will also apply to the movement of a movable mass in two or three dimensions.

[0164] As Figures 4C - 4E shown, each haptic output pattern also has a corresponding characteristic frequency that affects the "pitch" of the tactile sensation that a user perceives from the haptic output having that characteristic frequency. For continuous haptic output, the characteristic frequency represents the number of cycles (e.g., cycles per second) that the movable mass of the haptic output generator completes in a given time period. For discrete haptic output, a discrete output signal is generated (e.g., having 0.5, 1, or 2 cycles), and the characteristic frequency value specifies how fast the movable mass needs to move to generate the haptic output having that characteristic frequency. As Figures 4C - 4H shown, for each type of haptic output (e.g., defined by a corresponding waveform such as FullTap, MiniTap, or MicroTap), a higher frequency value corresponds to a faster movement of the movable mass, and thus generally corresponds to a shorter haptic output completion time (e.g., the time including the number of cycles required to complete the discrete haptic output plus the start and end buffer times). For example, a FullTap with a characteristic frequency of 80 Hz takes longer to complete than a FullTap with a characteristic frequency of 100 Hz (e.g., at Figure 4CAmong them, 35.4 ms and 28.3 ms). In addition, for a given frequency, a haptic output that has more cycles in its waveform takes longer to complete than a haptic output that has fewer cycles in its waveform at the same corresponding frequency. For example, a FullTap at 150 Hz takes longer to complete than a MiniTap at 150 Hz (e.g., 19.4 ms vs. 12.8 ms), and a MiniTap at 150 Hz takes longer to complete than a MicroTap at 150 Hz (e.g., 12.8 ms vs. 9.4 ms). However, for haptic output patterns with different frequencies, this rule may not apply (e.g., a haptic output with more cycles but a higher frequency may take less time to complete than a haptic output with fewer cycles but a lower frequency, and vice versa). For example, at 300 Hz, a FullTap and a MiniTap take the same amount of time (e.g., 9.9 ms).

[0165] As Figures 4C - 4E shown, the haptic output pattern also has a characteristic amplitude, which affects the amount of energy contained in the haptic signal or the "intensity" of the tactile sensation that the user can feel through the haptic output with that characteristic amplitude. In some embodiments, the characteristic amplitude of the haptic output pattern refers to the absolute value or the normalized value representing the maximum displacement of the movable mass relative to the neutral position when generating the haptic output. In some embodiments, the characteristic amplitude of the haptic output pattern can be adjusted according to various conditions (e.g., customized based on the user interface context and behavior) and / or pre-configured metrics (e.g., input-based metrics, and / or user interface-based metrics), for example, by a gain coefficient (e.g., a value between 0 and 1) determined statically or dynamically. In some embodiments, an input-based metric (e.g., an intensity change metric or an input speed metric) measures the characteristics of the input (e.g., the rate of change of the characteristic intensity of the contact in a press input or the rate of movement of the contact on the touch-sensitive surface) during the input that triggers the generation of the haptic output. In some embodiments, a user interface-based metric (e.g., a cross-boundary speed metric) measures the characteristics of the user interface element (e.g., the speed at which the element moves across a hidden or visible boundary in the user interface) during the change of the user interface that triggers the generation of the haptic output. In some embodiments, the characteristic amplitude of the haptic output pattern can be modulated by an "envelope", and the peaks of adjacent cycles can have different amplitudes, where one of the waveforms shown above is further modified by multiplying by an envelope parameter that changes over time (e.g., from 0 to 1) to gradually adjust the amplitude of the part of the haptic output over time when generating the haptic output.

[0166] Although in Figures 4C - 4EFor purposes of illustration, a particular frequency, amplitude, and waveform are shown in the sample haptic output pattern, but haptic output patterns with other frequencies, amplitudes, and waveforms can also be used for similar purposes. For example, a waveform with between 0.5 and 4 cycles can be used. Other frequencies in the range of 60 Hz - 400 Hz can also be used. Table 1 provides examples of specific haptic feedback behaviors, configurations, and their usage examples.

[0167] It should be understood that device 100 is merely an example of a portable multifunctional device, and device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has different configurations or arrangements of these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0168] Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.

[0169] Peripheral device interface 118 can be used to couple input and output peripheral devices of the device to CPU 120 and memory 102. One or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral device interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0170] The RF (Radio Frequency) circuit 108 receives and transmits RF signals, which are also referred to as electromagnetic signals. The RF circuit 108 converts electrical signals into electromagnetic signals / converts electromagnetic signals into electrical signals, and communicates with the communication network and other communication devices via electromagnetic signals. The RF circuit 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, a memory, and so on. The RF circuit 108 optionally communicates with the network and other devices via wireless communication, and these networks are such as the Internet (also known as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). The RF circuit 108 optionally includes well-known circuits for detecting a near field communication (NFC) field, such as detecting via a short-range communication radio component. The wireless communication optionally uses any one of a variety of communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolution-Data Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), Long-Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wi-Fi (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), WiMAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols not yet developed as of the date of submission of this document.

[0171] The audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuitry 110 receives audio data from the peripheral 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 circuitry 110 also receives the electrical signal converted from sound waves by the microphone 113. The audio circuitry 110 converts the electrical signal into audio data and transmits the audio data to the peripheral interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuitry 108 by the peripheral interface 118. In some embodiments, the audio circuitry 110 also includes an earphone jack (e.g., Figure 2 212 in

[0172] ). The earphone jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device such as an output-only headset or a headset having both an output (e.g., a mono or stereo headset) and an input (e.g., a microphone).

[0173] Other details regarding security elements and related technologies are described in the following patent applications: U.S. Patent Application Serial No. 61 / 912,727, filed December 6, 2013, entitled "PROVISIONING AND AUTHENTICATING CREDENTIALS ON AN ELECTRONIC DEVICE"; U.S. Patent Application Serial No. 62 / 004,182, filed May 28, 2014, entitled "ONLINE PAYMENTS USING A SECURE ELEMENT OF AN ELECTRONIC DEVICE"; U.S. Patent Application Serial No. 61 / 899,737, filed November 4, 2013, entitled "USING BIOAUTHENTICATION IN NEAR-FIELD-COMMUNICATION TRANSACTIONS"; U.S. Patent Application Serial No. 61 / 905,035, filed November 15, 2013, entitled "GENERATING TRANSACTION IDENTIFIERS"; U.S. Patent Application Serial No. 62 / 004,837, filed May 29, 2014, entitled "METHODS FOR MANAGING PAYMENT APPLETS ON A SECURE ELEMENT TO CONDUCT MOBILE PAYMENT TRANSACTIONS"; U.S. Patent Application Serial No. 62 / 004,832, filed May 29, 2014, entitled "METHODS FOR USING A RANDOM AUTHORIZATION NUMBER TO PROVIDE ENHANCED SECURITY FOR A SECURE ELEMENT"; and U.S. Patent Application Serial No. 62 / 004,338, filed May 29, 2014, entitled "USER DEVICE SECURE PARTICIPATION IN TRANSACTIONS VIA LOCAL SECURE ELEMENT DETECTION OF MECHANICAL INPUT"; these applications are hereby incorporated by reference in their entirety.

[0174] The I / O subsystem 106 couples input / output peripheral devices on the device 100, such as the touchscreen 112 and other input control devices 116, to the peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive electrical signals from the other input control devices 116 / send electrical signals to the other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller 160 is optionally coupled to (or not coupled to) any of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208 in) optionally include up / down buttons for volume control of the speaker 111 and / or the microphone 113. One or more buttons optionally include push buttons (e.g., Figure 2 206 in).

[0175] Quickly pressing the push button optionally unlocks the touchscreen 112 or optionally starts a process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application No. 11 / 322,549, filed on December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. Long pressing the push button (e.g., 206) optionally powers on or powers off the device 100. The functions of one or more buttons are optionally user-customizable. The touchscreen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.

[0176] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touchscreen 112 and / or sends electrical signals to the touchscreen 112. The touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.

[0177] The touch screen 112 has a touch-sensitive surface, sensor, or group of sensors that accepts input from a user based on haptic and / or tactile contact. The touch screen 112 and the display controller 156 (along with any associated modules and / or instruction sets in the memory 102) detect contact (and any movement or interruption of that contact) on the touch screen 112 and convert the detected contact into an interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.

[0178] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, but in other embodiments uses other display technologies. The touch screen 112 and the display controller 156 optionally use any of a variety of touch sensing technologies now known or later to be developed, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112, to detect contact and any movement or interruption thereof, the variety of touch sensing technologies including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as the technology used in and iPod used in.

[0179] The touch-sensitive display in some embodiments of the touch screen 112 optionally resembles the multi-touch sensitive touchpad described in the following U.S. patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.) and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.

[0180] In some embodiments, the touch-sensitive display of the touch screen 112 is as described in the following patent applications: (1) U.S. Patent Application No. 11 / 381,313, entitled "Multipoint Touch Surface Controller," filed on May 2, 2006; (2) U.S. Patent Application No. 10 / 840,862, entitled "Multipoint Touchscreen," filed on May 6, 2004; (3) U.S. Patent Application No. 10 / 903,964, entitled "Gestures For Touch Sensitive Input Devices," filed on July 30, 2004; (4) U.S. Patent Application No. 11 / 048,264, entitled "Gestures For Touch Sensitive Input Devices," filed on January 31, 2005; (5) U.S. Patent Application No. 11 / 038,590, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices," filed on January 18, 2005; (6) U.S. Patent Application No. 11 / 228,758, entitled "Virtual Input Device Placement On A Touch Screen User Interface," filed on September 16, 2005; (7) U.S. Patent Application No. 11 / 228,700, entitled "Operation Of A Computer With A Touch Screen Interface," filed on September 16, 2005; (8) U.S. Patent Application No. 11 / 228,737, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," filed on September 16, 2005; and (9) U.S. Patent Application No. 11 / 367,749, entitled "Multi-Functional Hand-Held Device," filed on March 3, 2006. All of these applications are hereby incorporated by reference in their entirety.

[0181] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user can optionally use any suitable object or attachment such as a stylus, finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work mainly through finger-based contact and gestures. Since the contact area of the finger on the touch screen is large, this may not be as precise as stylus-based input. In some embodiments, the device converts the rough finger-based input into an accurate pointer / cursor position or command for performing the action desired by the user.

[0182] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device, which, unlike the touch screen, does not display a visual output. The touchpad can optionally be a touch-sensitive surface separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.

[0183] The device 100 also includes a power system 162 for powering various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in the portable device.

[0184] The device 100 optionally further includes one or more optical sensors 164. Figure 1AAn optical sensor coupled to the optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called the camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite the touchscreen display 112 on the front of the device, such that the touchscreen display can be used as a viewfinder for still image and / or video image capture. In some embodiments, the optical sensor is located on the front of the device such that an image of the user can optionally be acquired for video conferencing while the user views other video conferencing participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) such that a single optical sensor 164 can be used with the touchscreen display for both video conferencing and still image and / or video image capture.

[0185] The device 100 optionally further includes one or more contact intensity sensors 165. Figure 1A A contact intensity sensor coupled to the intensity sensor controller 159 in the I / O subsystem 106 is shown. The contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-mechanical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). The contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed or adjacent to a touch-sensitive surface (e.g., the touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the rear of the device 100, opposite the touchscreen display 112 located on the front of the device 100.

[0186] The device 100 optionally further includes one or more proximity sensors 166. Figure 1AA proximity sensor 166 coupled to the peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 may optionally operate as described in the following U.S. patent applications: No. 11 / 241,839, titled "Proximity Detector In Handheld Device"; No. 11 / 240,788, titled "Proximity Detector In Handheld Device"; No. 11 / 620,702, titled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, titled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, titled "Methods And Systems For Automatic Configuration Of Peripherals", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunctional device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor turns off and disables the touch screen 112.

[0187] Device 100 may optionally further include one or more haptic output generators 167. Figure 1AIllustrated is a haptic output generator coupled to the haptic feedback controller 161 in the I / O subsystem 106. The haptic output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components; and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components that convert an electrical signal into a haptic output on the device). The contact intensity sensor 165 receives haptic feedback generation instructions from the haptic feedback module 133 and generates a haptic output on the device 100 that can be sensed by a user of the device 100. In some embodiments, at least one haptic output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., the touch-sensitive display system 112), and optionally generates a haptic output by moving the touch-sensitive surface vertically (e.g., into / out of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite the touch screen display 112 located on the front of the device 100.

[0188] The device 100 optionally further includes one or more accelerometers 168. Figure 1A Illustrated is an accelerometer 168 coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally operates as described in the following U.S. Patent Publications: U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are hereby incorporated by reference in their entireties. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on an analysis of data received from one or more accelerometers. The device 100 optionally further includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to one or more accelerometers 168 for obtaining information about the location and orientation (e.g., portrait or landscape) of the device 100.

[0189] In some embodiments, the software components stored in the memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and application programs (or instruction sets) 136. Additionally, in some embodiments, the memory 102 ( Figure 1A ) or 370 ( Figure 3 ) stores a device / global internal state 157, as shown in Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications (if any) are currently active; a display state, which indicates what applications, views, or other information occupy the various regions of the touchscreen display 112; a sensor state, including information obtained from the various sensors and input control devices 116 of the device; and location information regarding the location and / or orientation of the device.

[0190] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitates communication between the various hardware components and software components.

[0191] The communication module 128 facilitates communication with other devices via one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., the Internet, a wireless LAN, etc.). In some embodiments, the external port is the same as or similar to and / or compatible with the 30-pin connector used on (a trademark of Apple Inc.) devices and / or a multi-pin (e.g., 30-pin) connector.

[0192] The contact / motion module 130 optionally detects contact with the touchscreen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or a physical clickwheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the intensity 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 and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger lift event or contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, where the movement of the contact point is represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multiple-point simultaneous contact (e.g., "multi-touch" / multiple finger contact). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.

[0193] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by the user (e.g., determining whether the user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, the mouse "click" threshold of the touchpad or touchscreen can be set to any threshold within a wide range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some implementations, software settings are provided to the user of the device for adjusting one or more of the intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using a system-level click on an "intensity" parameter).

[0194] The contact / motion module 130 optionally detects gesture inputs from the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different movements, timings, and / or intensities of the detected contact). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger press event and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift (lift-off) event.

[0195] The graphics module 132 includes various known software components for presenting and displaying graphics on the touch screen 112 or other displays, including components for altering the visual impact of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual characteristics). As used herein, the term "graphics" includes any object that can be displayed to a user, which non - restrictively includes text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

[0196] In some embodiments, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives from an application program, etc., one or more codes for specifying the graphics to be displayed, and also receives coordinate data and other graphic attribute data as necessary, and then generates screen image data for output to the display controller 156.

[0197] The haptic feedback module 133 includes various software components for generating instructions that are used by the haptic output generator 167 to produce haptic output at one or more locations on the device 100 in response to user interaction with the device 100.

[0198] The text input module 134, which is optionally a component of the graphics module 132, provides a soft keyboard for entering text in various application programs (e.g., contacts 137, email 140, IM 141, browser 147, and any other application that requires text input).

[0199] The GPS module 135 determines the location of the device and provides this information for use in various application programs (e.g., provided to the phone 138 for use in location - based dialing; provided to the camera 143 as picture / video metadata; and provided to applications that provide location - based services, such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0200] The application program 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:

[0201] · The contacts module 137 (sometimes referred to as an address book or contact list);

[0202] · The phone module 138;

[0203] · The video conferencing module 139;

[0204] · The email client module 140;

[0205] · The instant messaging (IM) module 141;

[0206] · Fitness support module 142;

[0207] · Camera module 143 for still images and / or video images;

[0208] · Image management module 144;

[0209] · Video player module;

[0210] · Music player module;

[0211] · Browser module 147;

[0212] · Calendar module 148;

[0213] · Desktop applet module 149, which optionally includes one or more of the following: weather desktop applet 149-1, stock market desktop applet 149-2, calculator desktop applet 149-3, alarm clock desktop applet 149-4, dictionary desktop applet 149-5, and other desktop applets obtained by the user, as well as user-created desktop applet 149-6;

[0214] · Desktop applet creator module 150 for forming user-created desktop applet 149-6;

[0215] · Search module 151;

[0216] · Video and music player module 152, which combines the video player module and the music player module;

[0217] · Notepad module 153;

[0218] · Map module 154; and / or

[0219] · Online video module 155.

[0220] Examples of other applications 136 that may optionally be stored in the memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-supported applications, encryption, digital rights management, speech recognition, and speech reproduction.

[0221] In combination with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the contacts module 137 is optionally used to manage an address book or a contacts list (e.g., in the application internal state 192 of the contacts module 137 stored in the memory 102 or the memory 370), including: adding one or more names to the address book; deleting names from the address book; associating a phone number, an email address, a physical address, or other information with a name; associating an image with a name; categorizing and classifying names; providing a phone number or an email address to initiate and / or facilitate communication via the phone 138, the video conferencing module 139, the email 140, or the IM 141; and so on.

[0222] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the phone module 138 is optionally used to input a character sequence corresponding to a phone number, access one or more phone numbers in the contacts module 137, modify the input phone number, dial the corresponding phone number, conduct a session, and disconnect or hang up when the session is completed. As described above, the wireless communication optionally uses any one of a variety of communication standards, protocols, and technologies.

[0223] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contacts module 137, and the phone module 138, the video conferencing module 139 includes executable instructions to initiate, conduct, and terminate a video conference between the user and one or more other participants according to the user's instructions.

[0224] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the email client module 140 includes executable instructions to create, send, receive, and manage emails in response to user instructions. In combination with the image management module 144, the email client module 140 makes it very easy to create and send emails with static images or video images captured by the camera module 143.

[0225] In combination with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the instant messaging module 141 includes executable instructions for: entering a character sequence corresponding to an instant message, modifying a previously entered character, transmitting the corresponding instant message (e.g., using the Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant message" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0226] In combination with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., having time, distance, and / or calorie burn goals); communicating with a fitness sensor (exercise device); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for the fitness; and displaying, storing, and transmitting fitness data.

[0227] In combination with touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, the camera module 143 includes executable instructions for: capturing still images or video (including video streams) and storing them in memory 102, modifying the characteristics of a still image or video, or deleting a still image or video from memory 102.

[0228] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, tagging, deleting, presenting (e.g., in a digital slide show or album), and storing still images and / or video images.

[0229] In combination with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet according to user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, and linking to attachments and other files of web pages.

[0230] In combination with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions for creating, displaying, modifying, and storing calendars and data associated with the calendars (e.g., calendar entries, to-do items, etc.) according to user instructions.

[0231] In combination with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, desktop widget module 149 is a mini-application (e.g., weather desktop widget 149-1, stock market desktop widget 149-2, calculator desktop widget 149-3, alarm clock desktop widget 149-4, and dictionary desktop widget 149-5) optionally downloaded and used by a user or a mini-application created by the user (e.g., user-created desktop widget 149-6). In some embodiments, the desktop widget includes HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheets) files, and JavaScript files. In some embodiments, the desktop widget includes XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! desktop widget).

[0232] In combination with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, desktop widget creator module 150 is optionally used by a user to create desktop widgets (e.g., transforming a user-specified portion of a web page into a desktop widget).

[0233] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, search module 151 includes executable instructions for searching memory 102 for text, music, sound, images, video, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.

[0234] In combination with the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the audio circuit 110, the speaker 111, the RF circuit 108, and the browser module 147, the video and music player module 152 includes executable instructions that allow a user to download and playback recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on the touch screen 112 or on an external display connected via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).

[0235] In combination with the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, and the text input module 134, the notepad module 153 includes executable instructions for creating and managing notepads, to-do lists, etc. according to user instructions.

[0236] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 is optionally used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data related to stores and other points of interest at or near a specific location, and other location-based data) according to user instructions.

[0237] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, e-mail client module 140, and browser module 147, the online video module 155 includes instructions for performing the following operations: allowing a user to access, browse, receive (e.g., via streaming and / or downloading), play back (e.g., on the touch screen or on an external display connected via external port 124), send an e-mail with a link to a particular online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, the instant message module 141 is used instead of the e-mail client module 140 to send a link to a particular online video. Other descriptions of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed Jun. 20, 2007, and entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," and U.S. Patent Application No. 11 / 968,067, filed Dec. 31, 2007, and entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," the contents of both of which are hereby incorporated by reference in their entirety.

[0238] Each of the above modules and applications corresponds to a set of executable instructions for performing one or more of the above functions and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., the sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may optionally be combined or otherwise rearranged in various embodiments. For example, the video player module may optionally be combined with the music player module into a single module (e.g., Figure 1A the video and music player module 152 in ). In some embodiments, the memory 102 may optionally store a subgroup of the above modules and data structures. In addition, the memory 102 may optionally store additional modules and data structures not described above.

[0239] In some embodiments, device 100 is a device in which the operation of a predefined set of functions on the device is performed uniquely via a touch screen and / or a touchpad. By using the touch screen and / or the touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on device 100 is optionally reduced.

[0240] The predefined set of functions that are performed uniquely via the touch screen and / or the touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates device 100 from any user interface displayed on device 100 to a main menu, a home menu, or a root menu. In such embodiments, the touchpad is used to implement a "menu button". In some other embodiments, the menu button is a physical push button or other physical input control device rather than the touchpad.

[0241] Figure 1B is a block diagram showing exemplary components for event handling according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3 ) includes an event classifier 170 (e.g., in operating system 126) and corresponding application 136-1 (e.g., any one of the foregoing applications 137 to 151, 155, 380 to 390).

[0242] Event classifier 170 receives event information and determines the application 136-1 to which the event information is to be delivered and the application view 191 of application 136-1. Event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates one or more current application views that are displayed on the touch-sensitive display 112 when the application is active or executing. In some embodiments, the device / global internal state 157 is used by event classifier 170 to determine which application(s) is / are currently active, and the application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.

[0243] In some embodiments, the application internal state 192 includes additional information such as one or more of the following: recovery information to be used when application 136-1 resumes execution, user interface state information indicating that information is being displayed or is ready to be displayed by application 136-1, a state queue for enabling the user to return to a previous state or view of application 136-1, and a repeat / undo queue of previous actions taken by the user.

[0244] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about sub-events (e.g., a user touch on the touch-sensitive display 112, as part of a multi-touch gesture). The peripheral interface 118 transmits information that it receives from the I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via the audio circuitry 110). The information received by the peripheral interface 118 from the I / O subsystem 106 includes information from the touch-sensitive display 112 or a touch-sensitive surface.

[0245] In some embodiments, the event monitor 171 sends requests to the peripheral interface 118 at predetermined intervals. In response, the peripheral interface 118 transmits event information. In other embodiments, the peripheral interface 118 transmits event information only when there is a significant event (e.g., a received input that is above a predetermined noise threshold and / or a received input that exceeds a predetermined duration).

[0246] In some embodiments, the event classifier 170 further includes a hit view determination module 172 and / or an active event recognizer determination module 173.

[0247] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides a software process for determining where within one or more of the views a sub-event has occurred. Views are composed of controls and other elements that a user can see on the display.

[0248] Another aspect of the user interface associated with an application is a set of views, sometimes also 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 corresponding application) in which a 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 a touch is detected is optionally referred to as the hit view, and the set of events identified as correct inputs is optionally determined at least in part based on the hit view of the initial touch that begins the touch-based gesture.

[0249] The 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 hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest view in the hierarchical structure that should handle the sub-events. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or a potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view generally receives all sub-events related to the same touch or input source for which it is identified as the hit view.

[0250] The active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views and, thus, determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with a particular view, higher views in the hierarchy will still remain as actively participating views.

[0251] The event dispatcher module 174 distributes event information to event recognizers (e.g., event recognizer 180). In embodiments that include the active event recognizer determination module 173, the event dispatcher module 174 delivers the event information to the event recognizer determined by the active event recognizer determination module 173. In some embodiments, the event dispatcher module 174 stores the event information in an event queue, which is retrieved by the corresponding event receiver 182.

[0252] In some embodiments, the operating system 126 includes the event classifier 170. Alternatively, the application 136-1 includes the event classifier 170. In yet another embodiment, the event classifier 170 is an independent module or part of another module (such as the contact / motion module 130) stored in the memory 102.

[0253] In some embodiments, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of an independent module that is a higher-level object such as a user interface toolkit (not shown) or from which application 136-1 inherits methods and other properties. In some embodiments, the corresponding event handlers 190 include one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handlers 190 optionally utilize or call data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included within the corresponding application view 191.

[0254] The corresponding event recognizer 180 receives event information (e.g., event data 179) from event classifier 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 further includes at least a subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).

[0255] Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events such as a touch or a touch movement. Depending on the sub-event, the event information further includes additional information such as the location of the sub-event. When the sub-event involves the movement of a touch, the event information optionally further includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device pose).

[0256] Event comparator 184 compares the event information with predefined event or sub - event definitions and, based on the comparison, determines an event or sub - event or determines or updates the state of an event or sub - event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 contains the definition of an event (e.g., a predefined sequence of sub - events), such as event 1 (187 - 1), event 2 (187 - 2), and others. In some embodiments, the sub - events in an event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi - touch. In one example, the definition of event 1 (187 - 1) is a double - tap on a displayed object. For example, a double - tap includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift - off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on the displayed object, and a second lift - off (touch end) of a predetermined duration. In another example, the definition of event 2 (187 - 2) is a drag on a displayed object. For example, a drag includes a touch (or contact) of a predetermined duration on the displayed object, movement of the touch on the touch - sensitive display 112, and lift - off of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0257] In some embodiments, event definition 187 includes the definition of an event for a corresponding 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 that displays three user interface objects on touch - sensitive display 112, when a touch is detected on touch - sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub - event). If each of the displayed objects is associated with a corresponding event handler 190, event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub - event and the object that triggered the hit test.

[0258] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined that the sub - event sequence does or does not correspond to the event type of the event recognizer.

[0259] When the corresponding event recognizer 180 determines that the sub - event sequence does not match any event in the event definition 186, the corresponding event recognizer 180 enters an event - impossible, event - failed, or event - ended state, after which subsequent sub - events of the touch - based gesture are ignored. In such a case, other event recognizers (if any) for which the hit view remains active continue to track and process the ongoing sub - events of the touch - based gesture.

[0260] In some embodiments, the corresponding event recognizer 180 includes metadata 183 having configurable attributes, flags, and / or lists indicating how the event delivery system should perform sub - event delivery to the active participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists indicating how event recognizers interact with each other or can interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists indicating whether sub - events are delivered to different levels in the view or the programmatic hierarchy.

[0261] In some embodiments, when one or more specific sub - events of an event are recognized, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferring to send) sub - events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a token associated with the recognized event, and the event handler 190 associated with that token retrieves the token and executes a predefined process.

[0262] In some embodiments, the event delivery instruction 188 includes a sub - event delivery instruction to deliver event information about the sub - event without activating the event handler. Instead, the sub - event delivery instruction delivers the event information to the event handler associated with the sub - event sequence or to the active participating view. The event handler associated with the sub - event sequence or the active participating view receives the event information and executes a predetermined process.

[0263] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates the telephone numbers used in contact module 137, or stores video files used in the video player module. In some embodiments, object updater 177 creates and updates objects used in 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.

[0264] In some embodiments, event handler 190 includes data updater 176, object updater 177, and GUI updater 178 or has access to them. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0265] Figure 1C is a block diagram showing a haptic output module according to some embodiments. In some embodiments, I / O subsystem 106 (e.g., haptic feedback controller 161 ( Figure 1A )) and / or other input controllers 160 ( Figure 1A )) includes Figure 1C at least some of the exemplary components shown. In some embodiments, peripheral device interface 118 includes Figure 1C at least some of the exemplary components shown.

[0266] In some embodiments, the haptic output module includes a haptic feedback module 133. In some embodiments, haptic feedback module 133 aggregates and combines haptic outputs for user interface feedback from software applications on the electronic device (e.g., feedback in response to user input corresponding to the displayed user interface and prompts and other notifications indicating the execution of an operation or the occurrence of an event in the user interface of the electronic device). Haptic feedback module 133 includes one or more of waveform module 123 (for providing waveforms for generating haptic outputs), mixer 125 (for mixing waveforms, such as waveforms in different channels), compressor 127 (for reducing or compressing the dynamic range of the waveforms), low-pass filter 129 (for filtering out high-frequency signal components in the waveforms), and thermal controller 131 (for adjusting the waveforms according to thermal conditions). In some embodiments, haptic feedback module 133 is included in haptic feedback controller 161 ( Figure 1A) In some embodiments, individual units of the haptic feedback module 133 (or individual embodiments of the haptic feedback module 133) are also included in the audio controller (such as the audio circuit 110, Figure 1A ) and are used to generate audio signals. In some embodiments, a single haptic feedback module 133 is used to generate audio signals as well as generate waveforms for haptic output.

[0267] In some embodiments, the haptic feedback module 133 further includes a trigger module 121 (e.g., a software application, operating system, or other software module that determines to generate a haptic output and initiates a process for generating the corresponding haptic output). In some embodiments, the trigger module 121 generates a trigger signal for initiating the generation of a waveform (e.g., by the waveform module 123). For example, the trigger module 121 generates a trigger signal based on a pre-set timing criterion. In some embodiments, the trigger module 121 receives a trigger signal from outside the haptic feedback module 133 (e.g., in some embodiments, the haptic feedback module 133 receives a trigger signal from a hardware input processing module 146 located outside the haptic feedback module 133) and relays the trigger signal to other components within the haptic feedback module 133 (such as the waveform module 123) or a software application that triggers an operation (e.g., using the trigger module 121) based on the activation of a user interface element (such as an app icon or affordance within an app) or a hardware input device (such as a home button or an intensity-sensitive input interface, such as an intensity-sensitive touch screen). In some embodiments, the trigger module 121 also (e.g., from the haptic feedback module 133, Figure 1A and Figure 3 ) receives haptic feedback generation instructions. In some embodiments, the trigger module 121 generates a trigger signal in response to the haptic feedback module 133 (or the trigger module 121 within the haptic feedback module 133) (e.g., from the haptic feedback module 133, Figure 1A and Figure 3 ) receiving haptic feedback instructions.

[0268] The waveform module 123 receives the trigger signal as an input (e.g., from the trigger module 121) and provides a waveform for generating one or more haptic outputs in response to receiving the trigger signal (e.g., a waveform selected from a set of predefined waveforms assigned for use by the waveform module 123, such as the waveforms described in more detail below with reference to Figures 4C - 4D ).

[0269] The mixer 125 receives waveforms as inputs (e.g., from the waveform module 123) and mixes these waveforms together. For example, when the mixer 125 receives two or more waveforms (e.g., a first waveform in a first channel and a second waveform in a second channel that at least partially overlaps the first waveform), the mixer 125 outputs a combined waveform corresponding to the sum of the two or more waveforms. In some embodiments, the mixer 125 also modifies one or more of the two or more waveforms to emphasize a particular waveform relative to the remaining waveforms of the two or more waveforms (e.g., by increasing the scale of the particular waveform and / or decreasing the scale of the other waveforms of the two or more waveforms). In some cases, the mixer 125 selects one or more waveforms to remove from the combined waveform (e.g., when there are waveforms from more than three sources that have been requested to be output simultaneously by the haptic output generator 167, the waveform from the oldest source is discarded).

[0270] The mixer 127 receives waveforms (e.g., the combined waveform from the mixer 125) as inputs and modifies these waveforms. In some embodiments, the compressor 127 reduces these waveforms (e.g., according to the physical specifications of the haptic output generator 167( Figure 1A ) or 357( Figure 3 )) such that the haptic output corresponding to these waveforms is reduced. In some embodiments, the compressor 127 limits the waveforms, such as by imposing a predefined maximum amplitude on the waveforms. For example, the compressor 127 reduces the amplitude of the waveform portions that exceed a predefined amplitude threshold while maintaining the amplitude of the waveform portions that do not exceed the predefined amplitude threshold. In some embodiments, the compressor 127 reduces the dynamic range of the waveforms. In some embodiments, the compressor 127 dynamically reduces the dynamic range of the waveforms such that the combined waveform remains within the performance specifications (e.g., force and / or movable mass displacement limits) of the haptic output generator 167.

[0271] The low-pass filter 129 receives waveforms (e.g., the compressed waveforms from the compressor 127) as inputs and filters (e.g., smoothes) the waveforms (e.g., removes or reduces high-frequency signal components in the waveforms). For example, in some cases, the compressor 127 includes in the compressed waveforms spurious signals (e.g., high-frequency signal components) that impede haptic output generation and / or exceed the performance specifications of the haptic output generator 167 when generating a haptic output based on the compressed waveforms. The low-pass filter 129 reduces or removes such spurious signals from the waveforms.

[0272] The thermal controller 131 receives a waveform (e.g., the filtered waveform from the low-pass filter 129) as an input and adjusts the waveform according to the thermal conditions of the device 100 (e.g., based on the internal temperature detected within the device 100, such as the temperature of the haptic feedback controller 161, and / or the external temperature detected by the device 100). For example, in some cases, the output of the haptic feedback controller 161 varies according to temperature (e.g., in response to receiving the same waveform, the haptic feedback controller 161 generates a first haptic output when the haptic feedback controller 161 is at a first temperature and a second haptic output when the haptic feedback controller 161 is at a second temperature different from the first temperature). For example, the magnitude (or amplitude) of the haptic output may vary according to temperature. To reduce the effect of temperature variations, the waveform is modified (e.g., the amplitude of the waveform is increased or decreased based on temperature).

[0273] In some embodiments, the haptic feedback module 133 (e.g., the trigger module 121) is coupled to the hardware input processing module 146. In some embodiments, Figure 1A one or more of the other input controllers 160 include the hardware input processing module 146. In some embodiments, the hardware input processing module 146 receives input from a hardware input device 145 (e.g., Figure 1A one of the other input or control devices 116, such as a main button, or an intensity-sensitive input interface, such as an intensity-sensitive touch screen). In some embodiments, the hardware input device 145 is any of the input devices described herein, such as the touch-sensitive display system 112( Figure 1A ), the keyboard / mouse 350( Figure 3 ), the touchpad 355( Figure 3 ), one of the other input or control devices 116( Figure 1A ), or an intensity-sensitive main button. In some embodiments, the hardware input device 145 consists of an intensity-sensitive main button rather than the touch-sensitive display system 112( Figure 1A ), the keyboard / mouse 350( Figure 3 ) or the touchpad 355( Figure 3 ). In some embodiments, in response to an input from the hardware input device 145 (e.g., an intensity-sensitive main button or a touch screen), the hardware input processing module 146 provides one or more trigger signals to the haptic feedback module 133 to indicate that a user input satisfying a predefined input criterion has been detected, such as an input corresponding to a main button "click" (e.g., "press click" or "release click"). In some embodiments, the haptic feedback module 133 provides a waveform corresponding to a main button "click" in response to an input corresponding to a main button "click", thereby simulating the haptic feedback of pressing a physical main button.

[0274] In some embodiments, the haptic output module includes a haptic feedback controller 161 (e.g., Figure 1A the haptic feedback controller 161 in ), which controls the generation of haptic output. In some embodiments, the haptic feedback controller 161 is coupled to a plurality of haptic output generators, and selects one or more of the plurality of haptic output generators and sends waveforms to the selected one or more haptic output generators for generating haptic output. In some embodiments, the haptic feedback controller 161 coordinates haptic output requests corresponding to activation of the hardware input device 145 and haptic output requests corresponding to software events (e.g., haptic output requests from the haptic feedback module 133), and modifies one or more of two or more waveforms to emphasize a particular waveform relative to the remaining waveforms of the two or more waveforms (e.g., by increasing the scale of the particular waveform and / or decreasing the scale of the remaining waveforms of these waveforms to prioritize haptic output corresponding to activation of the hardware input device 145 over haptic output corresponding to software events).

[0275] In some embodiments, as Figure 1C shown, the output of the haptic feedback controller 161 is coupled to the audio circuit of the device 100 (e.g., the audio circuit 110, Figure 1A ), and provides an audio signal to the audio circuit of the device 100. In some embodiments, the haptic feedback controller 161 provides both a waveform for generating haptic output and an audio signal for providing an audio output in conjunction with the generation of haptic output. In some embodiments, the haptic feedback controller 161 modifies the audio signal and / or the waveform (for generating haptic output) such that the audio output and the haptic output are synchronized (e.g., by delaying the audio signal and / or the waveform). In some embodiments, the haptic feedback controller 161 includes a digital-to-analog converter for converting a digital waveform into an analog signal, and the analog signal is received by the amplifier 163 and / or the haptic output generator 167.

[0276] In some embodiments, the haptic output module includes an amplifier 163. In some embodiments, the amplifier 163 receives a waveform (e.g., from the haptic feedback controller 161), and amplifies the waveform and then sends the amplified waveform to the haptic output generator 167 (e.g., the haptic output generator 167 ( Figure 1A ) or 357 ( Figure 3) any one of). For example, the amplifier 163 amplifies the received waveform to a signal level that conforms to the physical specifications of the haptic output generator 167 (e.g., amplifies to the voltage and / or current required for the haptic output generator 167 to generate a haptic output such that the signal sent to the haptic output generator 167 generates a haptic output corresponding to the waveform received from the haptic feedback controller 161) and sends the amplified waveform to the haptic output generator 167. In response, the haptic output generator 167 generates a haptic output (e.g., by shifting a movable mass back and forth relative to the neutral position of the movable mass in one or more dimensions).

[0277] In some embodiments, the haptic output module includes a sensor 169 that is coupled to the haptic output generator 167. The sensor 169 detects the state or a change in state (e.g., mechanical position, physical displacement, and / or movement) of the haptic output generator 167 or one or more components of the haptic output generator 167 (e.g., one or more moving components used to generate a haptic output, such as a membrane). In some embodiments, the sensor 169 is a magnetic field sensor (e.g., a Hall effect sensor) or other displacement and / or motion sensor. In some embodiments, the sensor 169 provides information (e.g., the position, displacement, and / or movement of one or more components in the haptic output generator 167) to the haptic feedback controller 161, and based on the information provided by the sensor 169 regarding the state of the haptic output generator 167, the haptic feedback controller 161 adjusts the waveform output from the haptic feedback controller 161 (e.g., the waveform optionally sent to the haptic output generator 167 via the amplifier 163).

[0278] It should be understood that the above discussion regarding event handling of user touches on a touch-sensitive display also applies to other forms of user input for operating the multifunctional device 100 using an input device, and not all user input is initiated on a touchscreen. For example, optionally in cooperation with single or multiple keyboard presses or holds, mouse movement and mouse button presses; contact movement on a touchpad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; voice commands; detected eye movement; biometric input; and / or any combination thereof may optionally be used as input corresponding to sub-events that define the events to be recognized.

[0279] Figure 2FIG. 0 shows a portable multifunctional device 100 having a touch screen 112, according to some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this and other embodiments described below, a user is able to select one or more of these graphics by making gestures on the graphics using, for example, one or more fingers 202 (not drawn to scale in the figures) or one or more styluses 203 (not drawn to scale in the figures). In some embodiments, selection of one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gestures optionally include one or more taps, one or more swipes (from left to right, right to left, up, and / or down), and / or rolling of a finger that has made contact with the device 100 (from right to left, left to right, up, and / or down). In some implementations or in some cases, inadvertently contacting a graphic does not select the graphic. For example, when the gesture corresponding to selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.

[0280] The device 100 optionally further includes one or more physical buttons, such as a “home” or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any of a set of applications 136 that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI that is displayed on the touch screen 112.

[0281] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a depressible button 206 for powering the device on / off and for locking the device, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, an earphone jack 212, and a docking / charging external port 124. The depressible button 206 is optionally used to power the device on / off by depressing the button and holding the button in the depressed state for a predefined time interval; lock the device by depressing the button and releasing the button before the predefined time interval has elapsed; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also receives voice input for activating or deactivating certain functions via a microphone 113. The device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.

[0282] Figure 3FIG. 0 is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface, in accordance with some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a gaming system, or a control device (e.g., a home or industrial controller). Device 300 generally 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 called a chipset) that interconnects system components and controls the communication between them. Device 300 includes an input / output (I / O) interface 330 having 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 haptic output generator 357 for generating haptic output on device 300 (e.g., similar to one or more of the haptic output generators 167 described above with reference to Figure 1A ), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors (similar to one or more of the contact intensity sensors 165 described above with reference to Figure 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 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 310. In some embodiments, memory 370 stores programs, modules, and data structures similar to or a subset of those stored in memory 102 of portable multifunctional device 100 ( Figure 1A ). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunctional device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while memory 102 of portable multifunctional device 100 ( Figure 1A ) optionally does not store these modules.

[0283] Figure 3Each of the above elements in [the device] is optionally stored in one or more of the memory devices of the previously mentioned memory device. Each of the above modules corresponds to an instruction set for performing the above functions. The above modules or programs (e.g., instruction sets) do not have to be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subgroup of the above modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.

[0284] Attention is now turned to embodiments of a user interface that is optionally implemented on, for example, the portable multifunctional device 100.

[0285] Figure 4A An exemplary user interface of an application menu on the portable multifunctional device 100 according to some embodiments is shown. A similar user interface is optionally implemented on the device 300. In some embodiments, the user interface 400 includes the following elements or a subset or superset thereof:

[0286] · One or more signal strength indicators 402 for one or more wireless communications such as cellular signals and Wi-Fi signals;

[0287] · Time 404;

[0288] · Bluetooth indicator 405;

[0289] · Battery status indicator 406;

[0290] · A tray 408 with icons for commonly used applications, such as:

[0291] ο An icon 416 labeled "Phone" for the phone module 138, which icon 416 optionally includes an indicator 414 of the number of missed calls or voicemails;

[0292] ο An icon 418 labeled "Mail" for the email client module 140, which icon 418 optionally includes an indicator 410 of the number of unread emails;

[0293] ο An icon 420 labeled "Browser" for the browser module 147; and

[0294] ο An icon 422 labeled "iPod" for the video and music player module 152 (also known as the iPod (trademark of Apple Inc.

[0295] Module 152)); and

[0296] · Icons for other applications, such as:

[0297] The icon 424 of the IM module 141 labeled "Message";

[0298] The icon 426 of the calendar module 148 labeled "Calendar";

[0299] The icon 428 of the image management module 144 labeled "Photo";

[0300] The icon 430 of the camera module 143 labeled "Camera";

[0301] The icon 432 of the online video module 155 labeled "Online Video";

[0302] The icon 434 of the stock market desktop applet 149-2 labeled "Stock Market";

[0303] The icon 436 of the map module 154 labeled "Map";

[0304] The icon 438 of the weather desktop applet 149-1 labeled "Weather";

[0305] The icon 440 of the alarm clock desktop applet 149-4 labeled "Clock";

[0306] The icon 442 of the fitness support module 142 labeled "Fitness Support";

[0307] The icon 444 of the notepad module 153 labeled "Notepad"; and

[0308] The icon 446 of the settings application or module labeled "Settings", which provides access to the settings of the device 100 and its various applications 136.

[0309] It should be noted that Figure 4A The icon labels shown are merely examples. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player". Other labels may optionally be used for the various application icons. In some embodiments, the label of the corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.

[0310] Figure 4B A device is shown having a touch-sensitive surface 451 (e.g., Figure 3 a tablet or touchpad 355) separate from the display 450 (e.g., Figure 3Exemplary user interfaces on a device 300). The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contacts on the touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of the device 300.

[0311] Although some of the following examples will be given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface separate from the display, as Figure 4B shown. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451 in ) has a major axis (e.g., Figure 4B 452 in ) corresponding to the major axis (e.g., Figure 4B 453 in ) on the display (e.g., 450). According to these embodiments, the device detects contacts (e.g., Figure 4B 460 and 462 in ) with the touch-sensitive surface 451 at positions corresponding to corresponding positions on the display (e.g., in Figure 4B 460 corresponds to 468 and 462 corresponds to 470). Thus, when the touch-sensitive surface (e.g., Figure 4B 451 in ) is separate from the display of the multifunctional device (e.g., Figure 4B 450 in ), user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

[0312] Additionally, although the following examples are mainly given with reference to finger input (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by 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 contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of a contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is above the position of the tap gesture (e.g., instead of detecting a contact, followed by stopping detection of the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and a finger contact are optionally used simultaneously.

[0313] Figure 5AAn exemplary personal electronic device 500 is shown. The device 500 includes a body 502. In some embodiments, the device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., Figures 1A to 4B ). In some embodiments, the device 500 has a touch-sensitive display screen 504 hereinafter referred to as a touch screen 504. As an alternative or addition to the touch screen 504, the device 500 has a display and a touch-sensitive surface. As in the case of devices 100 and 300, in some embodiments, the touch screen 504 (or the touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., a touch). One or more intensity sensors of the touch screen 504 (or the touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of the device 500 may respond to the touch based on the intensity of the touch, meaning that touches of different intensities may invoke different user interface operations on the device 500.

[0314] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International Patent Application Serial No. PCT / US2013 / 040061, filed May 8, 2013, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application", published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed November 11, 2013, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships", published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.

[0315] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508, if included, may be in physical form. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, may allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.

[0316] Figure 5B depicts an exemplary personal electronic device 500. In some embodiments, device 500 may include some or all of the components referred to Figure 1A , Figure 1B and Figure 3 . Device 500 has a bus 512 that operatively couples the I / O section 514 to one or more computer processors 516 and a memory 518. The I / O section 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, the I / O section 514 may be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 may optionally be a rotatable input device or a pressable input device as well as a rotatable input device. In some examples, input mechanism 508 may optionally be a button.

[0317] In some examples, input mechanism 508 may optionally be a microphone. Personal electronic device 500 may optionally include various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or a combination thereof, all of which are operatively connected to the I / O section 514.

[0318] The memory 518 of personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by, for example, one or more computer processors 516, may cause the computer processors to perform the following techniques, including processes 900, 1200, 1500, 1800, 2100, 2400, 2700, and 3000 ( Figures 9A - 9I , Figures 12A - 12C , Figures 15A - 15K , Figures 18A - 18F , Figures 21A - 21D , Figures 24A - 24C , Figures 27A - 27E and Figures 30A - 30D)。A computer-readable storage medium can be any medium that tangibly contains or stores computer-executable instructions for use by or in connection with an instruction execution system, apparatus, and device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transient computer-readable storage medium. Non-transient computer-readable storage media can include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical discs based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, etc. Personal electronic device 500 is not limited to Figure 5B the components and configurations thereof, but may include other components or additional components in a variety of configurations.

[0319] As used herein, the term "indicative representation" refers to a user-interactive graphical user interface object that is optionally displayed on the display screen of devices 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figures 5A to 5B ). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an indicative representation.

[0320] As used herein, the term "focus selector" refers to an input element for indicating the current part of the user interface with which the user is interacting. In some specific implementations that include a cursor or other position marker, the cursor serves as the "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., Figure 3 the touchpad 355 in Figure 4B or Figure 1A the touch-sensitive display system 112 in Figure 4AIn some specific implementations of the touch screen 112), the detected contact on the touch screen serves as a "focus selector", such that when an input (e.g., a press input made by a contact) is detected at the position of a specific user interface element (e.g., a button, a window, a slider, or other user interface element) on the touch screen display, the specific user interface element is adjusted according to the detected input. In some specific implementations, the focus moves from one area of the user interface to another area of the user interface without a corresponding movement of the cursor or a movement of the contact on the touch screen display (e.g., moving the focus from one button to another button by using the tab key or arrow keys); in these specific implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form taken by the focus selector, the focus selector is typically a user interface element (or a contact on the touch screen display) that is controlled by the user to deliver the interaction with the user interface expected by the user (e.g., by indicating to the device the element of the user interface that the user desires to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or a touch screen), the position of the focus selector (e.g., a cursor, a contact, or a selection box) above the corresponding button will indicate that the user desires to activate the corresponding button (rather than other user interface elements shown on the device display).

[0321] As used in the specification and claims, the term "feature intensity" of a contact refers to a feature of the contact based on one or more intensities of the contact. In some embodiments, the feature intensity is based on a plurality of intensity samples. The feature intensity is optionally based on a predefined number or set of intensity samples collected during a predefined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after detecting a contact, before detecting a contact lift-off, before or after detecting a contact start to move, before detecting a contact end, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The feature intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the feature intensity (e.g., when the feature intensity is the average value of the intensity of the contact over time). In some embodiments, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an operation. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact whose feature intensity does not exceed the first threshold results in a first operation, a contact whose feature intensity exceeds the first intensity threshold but does not exceed the second intensity threshold results in a second operation, and a contact whose feature intensity exceeds the second threshold results in a third operation. In some embodiments, the comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to forgo performing the corresponding operation) rather than to determine whether to perform a first operation or a second operation.

[0322] Figure 5C Shows multiple contacts 552A - 552E detected on the touch-sensitive display screen 504 using multiple intensity sensors 524A - 524D. Figure 5C Also includes an intensity map that shows the current intensity measurements of the intensity sensors 524A - 524D relative to intensity units. In this example, the intensity measurements of both intensity sensors 524A and 524D are 9 intensity units, and the intensity measurements of both intensity sensors 524B and 524C are 7 intensity units. In some specific implementations, the cumulative intensity is the sum of the intensity measurements of the multiple intensity sensors 524A - 524D, which is 32 intensity units in this example. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5DCumulative intensity is assigned to contacts 552A - 552E based on their distance from the center of force 554. In this example, each of contacts 552A, 552B, and 552E is assigned an intensity of 8 intensity units of the cumulative intensity, and each of contacts 552C and 552D is assigned an intensity of 4 intensity units of the cumulative intensity. More generally, in some embodiments, each contact j is assigned a corresponding intensity Ij according to a predefined mathematical function Ij = A·(Dj / ΣDi), which is a part of the cumulative intensity A, where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i = 1 to the last) from the center of force. The operations described with reference to Figures 5C - 5D electronic devices similar to or equivalent to devices 100, 300, or 500 can be performed. In some embodiments, the characteristic intensity of a contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in Figures 5C - 5D to assist the reader.

[0323] In some embodiments, a part of the recognized gesture is used to determine the characteristic intensity. For example, the touch-sensitive surface optionally receives a continuous swiping contact that transitions from a starting position and reaches an ending position, at which the contact intensity increases. In this example, the characteristic intensity of the contact at the ending position is optionally based on only a part of the continuous swiping contact, rather than the entire swiping contact (e.g., only the part of the swiping contact at the ending position). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swiping contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow spikes or dips in the intensity of the swiping contact for the purpose of determining the characteristic intensity.

[0324] Optionally, characterize the contact intensity on the touch-sensitive surface relative to one or more intensity thresholds such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from an operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, when a contact is detected with a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, contacts below the nominal contact detection intensity threshold are no longer detected), the device will move the focus selector based on the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different sets of user interface drawings.

[0325] An increase in contact characteristic intensity from an intensity below the light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact characteristic intensity from an intensity below the deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact characteristic intensity from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting a contact on the touch surface. A decrease in contact characteristic intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting a lift-off of the contact from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.

[0326] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or contacts), wherein the corresponding press input is detected at least in part based on detecting an increase in the intensity of the contact (or contacts) above a press input intensity threshold. In some embodiments, a corresponding operation is performed in response to detecting an increase in the intensity of the corresponding contact above the press input intensity threshold (e.g., the "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the intensity of the corresponding contact above the press input intensity threshold and a subsequent decrease in the intensity of the contact below the press input intensity threshold, and a corresponding operation is performed in response to detecting a subsequent decrease in the intensity of the corresponding contact below the press input threshold (e.g., the "up stroke" of the corresponding press input).

[0327] Figures 5E - 5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E The light press intensity threshold in L ”) increases to a strength higher than Figure 5H The deep compression intensity threshold in D ”). On the displayed user interface 570 including application icons 572A-572D displayed in the predefined area 574, when the cursor 576 is displayed above the application icon 572B corresponding to application 2, a gesture performed using contact 562 is detected on the touch-sensitive surface 560. In some embodiments, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines whether the intensity of the contact 562 is within the deep press intensity threshold (for example, “IT D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the intensity increasing to a deep press intensity threshold (e.g., “IT D ”) above contact 562, displays scaled representations 578A-578C (e.g., thumbnails) of documents recently opened for application 2, such as Figures 5F - 5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the Figures 5E - 5H To assist the readers.

[0328] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, such as Figure 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, such as Figures 5F - 5G , where representations 578A-578C appear and increase as the strength of contact 562 approaches a deep press strength threshold (eg, “IT D ”) increases and moves upward. In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. Figures 5E - 5H The operation described.

[0329] In some embodiments, the device employs strength hysteresis to avoid unexpected inputs sometimes referred to as “jitter,” where the device defines or selects a hysteresis strength threshold having a predefined relationship to a press input strength threshold (e.g., the hysteresis strength threshold is X strength units lower than the press input strength threshold, or the hysteresis strength threshold is 75%, 90%, or some reasonable percentage of the press input strength threshold). Thus, in some embodiments, a press input includes the intensity of a corresponding contact increasing above the press input strength threshold and the intensity of that contact subsequently decreasing below the hysteresis strength threshold corresponding to the press input strength threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases below the hysteresis strength threshold (e.g., the “upstroke” of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or lower than the hysteresis strength threshold to an intensity equal to or higher than the press input strength threshold and optionally the contact intensity subsequently decreases to an intensity equal to or lower than the hysteresis strength threshold, and a corresponding operation is performed in response to detecting the press input (e.g., depending on the context, the contact intensity increases or the contact intensity decreases).

[0330] For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input strength threshold or in response to a gesture including a press input is triggered in response to detecting any one of the following various conditions: the contact intensity increasing above the press input strength threshold, the contact intensity increasing from an intensity lower than the hysteresis strength threshold to an intensity higher than the press input strength threshold, the contact intensity decreasing below the press input strength threshold, and / or the contact intensity decreasing below the hysteresis strength threshold corresponding to the press input strength threshold. Additionally, in an example where an operation is described as being performed in response to detecting that the intensity of a contact decreases below the press input strength threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below the hysteresis strength threshold corresponding to and less than the press input strength threshold.

[0331] Figure 6 Exemplary devices connected via one or more communication channels to participate in a transaction are shown in accordance with some embodiments. One or more exemplary electronic devices (e.g., devices 100, 300, and 500) are configured to optionally detect inputs (e.g., a particular user input, an NFC field), and optionally transmit payment information (e.g., using NFC). The one or more electronic devices optionally include NFC hardware and are configured to support NFC.

[0332] An electronic device (e.g., devices 100, 300, and 500) is optionally configured to store payment account information associated with each of one or more payment accounts. The payment account information includes, for example, one or more of the following: a person's name or company name, a billing address, a login name, a password, an account number, an expiration date, a security code, a phone number, a bank associated with the payment account (e.g., the issuing bank), and a card network identifier. In some examples, the payment account information includes an image, such as a photograph of a payment card (e.g., a photograph taken by and / or received by the device). In some examples, the electronic device receives user input that includes at least some of the payment account information (e.g., receives a credit card number, a debit card number, an account number, or a shopping card number and an expiration date as user input). In some examples, the electronic device detects at least some of the payment account information from an image (e.g., of a payment card captured by a camera sensor of the device). In some examples, the electronic device receives at least some of the payment account information from another device (e.g., another user device or a server). In some examples, the electronic device receives payment account information from a server associated with another service (e.g., an application for renting or selling audio files and / or video files), where the user's or user device's account has previously made a purchase or had payment account data identified for the other service.

[0333] In some embodiments, a payment account is added to the electronic device (e.g., devices 100, 300, and 500) such that the payment account information is securely stored on the electronic device. In some examples, after the user initiates such a process, the electronic device transmits the information of the payment account to a transaction coordination server, which then communicates with a server operated by the payment network of the account (e.g., a payment server) to ensure the validity of the information. The electronic device is optionally configured to receive a script from a server that allows the electronic device to program the payment information of the account onto a secure element.

[0334] In some embodiments, communication between devices 100, 300, and 500 facilitates transactions (e.g., general transactions or specific transactions). For example, a first electronic device (e.g., 100) may function as a configuration device or a management device and may send new or updated payment account data (e.g., information about a new account, updated information about an existing account, and / or a warning regarding an existing account) to a second electronic device (e.g., 500). As another example, a first electronic device (e.g., 100) may send data to a second electronic device, where the data reflects information about a payment transaction facilitated at the first electronic device. The information optionally includes one or more of the following: payment amount, account used, time of purchase, and whether the default account was changed. The second device (e.g., 500) optionally uses such information to update the default payment account (e.g., based on a learning algorithm or explicit user input).

[0335] Electronic devices (e.g., 100, 300, 500) are configured to communicate with each other via any one of a variety of networks. For example, the devices communicate using a Bluetooth connection 608 (e.g., which includes a classic Bluetooth connection or a Bluetooth Low Energy connection) or using a WiFi network 606. Communication between user devices is optionally adjusted to reduce the likelihood of improper sharing of information between the devices. For example, communication regarding payment information requires the communicating devices to be paired (e.g., associated with each other via an explicit user interaction) or associated with the same user account.

[0336] In some embodiments, electronic devices (e.g., 100, 300, 500) are used to communicate with a Point of Sale (POS) payment terminal 600, which optionally supports NFC. The communication optionally uses various communication channels and / or technologies. In some examples, electronic devices (e.g., 100, 300, 500) use an NFC channel 610 to communicate with the payment terminal 600. In some embodiments, the payment terminal 600 uses a peer-to-peer NFC mode to communicate with the electronic devices (e.g., 100, 300, 500). The electronic devices (e.g., 100, 300, 500) are optionally configured to transmit a signal to the payment terminal 600, the signal including payment information for a payment account (e.g., the default account or the account selected for a specific transaction).

[0337] In some embodiments, proceeding with the transaction includes transmitting a signal that includes payment information for an account, such as a payment account. In some embodiments, proceeding with the transaction includes reconfiguring an electronic device (e.g., 100, 300, 500) to respond as a contactless payment card (such as an NFC-enabled contactless payment card), and then transmitting credentials for the account via NFC to a payment terminal such as 600. In some embodiments, after transmitting the credentials for the account via NFC, the electronic device is reconfigured not to respond as a contactless payment card (e.g., authorization is required before being reconfigured again to respond as a contactless payment card via NFC).

[0338] In some embodiments, the generation and / or transmission of the signal is controlled by a secure element in the electronic device (e.g., 100, 300, 500). Optionally, the secure element requires a specific user input before releasing the payment information. For example, the secure element optionally requires: detecting the electronic device being worn, detecting a button press, detecting a password entry, detecting a touch, detecting one or more option selections (e.g., option selections received when interacting with an application), detecting a fingerprint signature, detecting speech or a voice command, and / or detecting a gesture or movement (e.g., rotation or acceleration). In some examples, if a communication channel (e.g., an NFC communication channel) is established with another device (e.g., payment terminal 600) within a defined time period from the detection of the input, the secure element releases the payment information to be transmitted to the other device (e.g., payment terminal 600). In some examples, the secure element is a hardware component that controls the release of secure information. In some examples, the secure element is a software component that controls the release of secure information.

[0339] In some embodiments, the protocol associated with transaction participation depends on, for example, the device type. For example, for a wearable device (e.g., device 500) and a phone (e.g., device 100), the conditions for generating and / or transmitting payment information can be different. For example, the generation conditions and / or transmission conditions for a wearable device include detecting that a button has been pressed (e.g., after security verification), while the corresponding conditions for a phone do not require a button press but instead require detecting a specific interaction with an application. In some embodiments, the conditions for transmitting and / or releasing payment information include receiving a specific input on each of a plurality of devices. For example, the release of payment information optionally requires detecting a fingerprint and / or password at a device (e.g., device 100), and detecting a mechanical input (e.g., button press) on another device (e.g., device 500).

[0340] The payment terminal 600 optionally uses payment information to generate a signal for transmission to the payment server 604 to determine whether the payment is authorized. The payment server 604 optionally includes any device or system configured to receive payment information associated with a payment account and determine whether the proposed purchase is authorized. In some examples, the payment server 604 includes a server of the issuing bank. The payment terminal 600 communicates directly with the payment server 604 or indirectly via one or more other devices or systems (e.g., a server of the acquiring bank and / or a server of the card network).

[0341] The payment server 604 optionally uses at least some of the payment information to identify a user account from a database of user accounts (e.g., 602). For example, each user account includes payment information. The account is optionally located by locating an account having specific payment information that matches the information communicated from the POS. In some examples, the payment is rejected when the provided payment information is inconsistent (e.g., the expiration date does not correspond to the credit card number, the debit card number, or the shopping card number) or when no account includes payment information that matches the information communicated from the POS.

[0342] In some embodiments, the data of the user account further identifies one or more constraints (e.g., credit limit); the current or previous balance; the previous transaction date, location, and / or amount; the account status (e.g., active or frozen), and / or authorization instructions. In some examples, the payment server (e.g., 604) uses such data to determine whether to authorize the payment. For example, the payment server rejects the payment when the purchase amount added to the current balance will result in exceeding the account limit, when the account is frozen, when the previous transaction amount exceeds a threshold, or when the previous transaction count or frequency exceeds a threshold.

[0343] In some embodiments, the payment server 604 uses an indication of whether the proposed purchase is authorized or rejected to respond to the POS (point of sale) payment terminal 600. In some examples, the POS payment terminal 600 transmits a signal to an electronic device (e.g., 100, 300, 500) to identify the result. For example, when the purchase (e.g., via a transaction coordination server that manages a transaction application on the user device) is authorized, the POS payment terminal 600 sends a receipt to the electronic device (e.g., 100, 300, 500). In some cases, the POS payment terminal 600 presents an output indicating the result (e.g., a visual output or an audio output). The payment may be transmitted to the merchant as part of the authorization process or may be transmitted later.

[0344] In some embodiments, an electronic device (e.g., 100, 300, 500) participates in a transaction that is completed without involving a POS payment terminal 600. For example, upon detecting a mechanical input that has been received, a secure element in the electronic device (e.g., 100, 300, 500) issues payment information to allow an application on the electronic device to access the information (e.g., and transmit the information to a server associated with the application).

[0345] In some embodiments, an electronic device (e.g., 100, 300, 500) is in a locked state or an unlocked state. In the locked state, the electronic device is powered on and operational, but it is prevented from performing a predefined set of operations in response to user input. The predefined set of operations may include navigating between user interfaces, activating or deactivating a predefined set of functions, and activating or deactivating certain applications. The locked state can be used to prevent inadvertent or unauthorized use of some functions of the electronic device, or to activate or deactivate some functions on the electronic device. In the unlocked state, the electronic device 100 is powered on and operational, and is not prevented from performing at least a portion of a predefined set of operations that cannot be performed when in the locked state.

[0346] When the device is in the locked state, the device is said to be locked. In some embodiments, a device in the locked state may respond to a restricted set of user inputs, including inputs corresponding to an attempt to transition the device to the unlocked state or inputs corresponding to powering off the device.

[0347] In some examples, a security element (e.g., 115) is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or algorithms such that the device cannot access the securely stored data without appropriate authentication information from a user of the device. Storing the securely stored data in a security element separate from other storage devices on the device prevents access to the securely stored data even if other storage locations on the device are compromised (e.g., via malicious code or other attempts to steal information stored on the device). In some examples, the security element provides (or releases) payment information (e.g., an account number and / or a transaction-specific dynamic security code). In some examples, the security element provides (or releases) payment information in response to receiving an authorization, such as user authentication (e.g., fingerprint authentication; password authentication; detecting a double-press of a hardware button when the device is in an unlocked state and optionally when the device has been continuously on the user's wrist since the device was unlocked by providing authentication credentials to the device, where continuous presence of the device on the user's wrist is determined by periodically checking for contact between the device and the user's skin). For example, the device detects a fingerprint at a fingerprint sensor of the device (e.g., a fingerprint sensor integrated into a button). The device determines whether the fingerprint matches a registered fingerprint. Based on determining that the fingerprint matches the registered fingerprint, the security element provides (or releases) payment information. Based on determining that the fingerprint does not match the registered fingerprint, the security element refrains from providing (or releasing) payment information.

[0348] Attention is now turned to embodiments of a user interface (“UI”) and associated processes implemented on an electronic device, such as portable multifunctional device 100, device 300, or device 500.

[0349] Figures 7A - 7E An exemplary user interface for managing peer-to-peer transfers is shown. As described in more detail below, Figures 7A - 7E The non-limiting exemplary embodiments of the user interface shown are related to Figures 8A - 8AH The non-limiting exemplary embodiments of the user interface shown, which in turn are used to illustrate the processes described below, including Figures 8A - 8AH the processes in Figures 9A - 9I .

[0350] Figure 7A An electronic device 700 (e.g., portable multifunctional device 100, device 300, or device 500) is shown. In Figures 7A - 7EIn the non-limiting exemplary embodiment shown, the electronic device 700 is a smart phone. In other embodiments, the electronic device 700 can be a different type of electronic device, such as a wearable device (e.g., a smart watch). The electronic device 700 has a display 702, one or more input devices (e.g., a touch screen of the display 702, mechanical buttons 704, a microphone), and wireless communication radio components.

[0351] In Figure 7A , the electronic device 700 displays a message session 708 of a messaging application 706 between a user of the device (e.g., "KateAppleseed") and a message participant 710 (e.g., "John Appleseed") on the display 702. In some embodiments, the message participant 710 is a contact stored on the device. In some embodiments, the message participant 710 is a contact in a contact list associated with a user account entered on the device. In some embodiments, the message participant 710 is a contact included in a trusted contact list associated with a user account entered on the device.

[0352] In some embodiments, the electronic device 700 also displays a virtual keyboard 712 (e.g., an alphanumeric keyboard for typing messages) and a composition bar 714 that displays the message text when typing a message using the virtual keyboard 712 on the display 702. In some embodiments, in addition to or as an alternative to the virtual keyboard 712, a mechanical keyboard can be used to type messages. In some embodiments, the composition bar 714 can expand (e.g., expand upward) to accommodate a longer message or message object (e.g., an image, an emoji, a special type of message object such as a payment object). In some embodiments, the composition bar 714 includes a microphone button 716 that, when activated, enables the user to record a message using voice input.

[0353] As Figure 7A shown, the message session 708 includes two visual message objects 718 and 720. The message object 718 corresponds to a message sent by the user of the device to the message participant 710. In the message object 718, the user states to the message participant 710: "That restaurant was really good!" The message object 720 corresponds to (in response to the message corresponding to the message object 718) a message sent by the message participant 710 to the user. In the message object 720, the message participant 710 responds to the user:

[0354] "Yeah! Can you send me the photos from last night?"

[0355] In some embodiments, the electronic device 700 performs an analysis on the content (e.g., text) of a message corresponding to the message object 720 (as a response to the message corresponding to the message object 718 with the statement "That restaurant is really good!", the statement: "Yeah! Can you send me the photos from last night?"). In some embodiments, the analysis of the content (e.g., text) of the message is performed by the electronic device 700 using the device's language processing component or language analysis component. In some embodiments, the analysis is performed at an external device (e.g., a server), and the electronic device 700 receives the result of the analysis from the external device.

[0356] Based on the analysis of the content (e.g., text) of the message object 720 (and optionally, one or more other previous or subsequent message objects of the message session 708, such as message objects 718 and 720), according to the determination related to the transmission of an electronic file (e.g., photo, video, document, audio file) that the message corresponding to the message object 720 (e.g., made at the electronic device 700 or received from an external device such as a server) is configured to transmit by the messaging application 706, the electronic device 700 displays selectable indications corresponding to the transmission of one or more files (e.g., photos, video files, audio files, documents) or the intention to continue the transmission of one or more files (e.g., photos, video files, audio files, documents), as discussed below. For example, in Figure 7A it is determined, based on the text of the message object 720 (the statement "Yeah! Can you send me the photos from last night?"), that the message participant 710 is requesting the transmission of photos taken during a specific time period (e.g., last night).

[0357] In some embodiments, as Figure 7A shown, the electronic device 700 provides a markup 722 (e.g., underlining, bolding, highlighting) to a phrase (e.g., "photos from last night") within the message object 720, which is determined by the device or an external device (e.g., a server) communicating with the device to correspond to a request for the transmission of one or more files (e.g., photos from last night). Additionally, in response to the determination that a phrase within the message corresponds to a request for the transmission of one or more files, the electronic device 700 displays a suggestion bar 724 (e.g., above a portion of the virtual keyboard 712, between the virtual keyboard 712 and the composition bar 714), which includes a transmission button 726 for continuing the transmission of the requested one or more files corresponding to the message of the message object 720. For example, in Figure 7AIn [description], the transfer button 726 shows "Photo" to indicate that the button is related to the transfer of the requested photo and can be transferred using a transfer application controlled by the operating system (Party A) (rather than by a third-party application). In some embodiments, the suggestion bar 724 also includes suggested responses (e.g., "Sure", "OK") for responding to the message of the message object 720 (instead of continuing the transfer of the file).

[0358] In Figure 7B [description], when the message session 708 is displayed, the electronic device 700 (e.g., via a touch screen) detects a user activation of the tag 722 of a phrase that corresponds to a request for the transfer of one or more files (e.g., photos from last night) included in the message object 720. For example, as Figure 7B shown, the user activation is a tap gesture 701 on the tag 722 of a phrase (e.g., the underlined "photos from last night") included in the message object 720. Alternatively, in some embodiments, the user activation can be a user selection (e.g., a tap gesture) of the transfer button 726 within the suggestion bar 724 (e.g., showing "Photo").

[0359] In Figure 7C [description], in response to detecting a tap gesture 701 on the tag 722 corresponding to the message participant 710's request for "photos from last night", the electronic device 700 displays a photo library user interface 728 on the display 702. In some embodiments, as Figure 7C shown, the photo library user interface 728 replaces the display of the messaging application 706 and the virtual keyboard 712. In some embodiments, the photo library user interface 728 slides into the display from the edge of the display (e.g., slides up from the bottom edge of the display) to replace the display of the virtual keyboard 712 (and optionally, the messaging application 706).

[0360] In some embodiments, as Figure 7C shown, the photo library user interface 728 includes a plurality of selectable preview images corresponding to photos stored on the electronic device 700 (or accessible by the device via a remote server). In some embodiments, as Figure 7CAs shown, multiple selectable preview images are organized based on time (e.g., the date the photo was taken) and / or based on location (e.g., the location where the photo was taken). For example, the multiple selectable preview images 730A - 730F shown below the header 730 correspond to photos taken on April 30th in Cupertino, CA, the multiple selectable preview images 732A - 732C shown below the header 732 correspond to photos taken yesterday in San Francisco, CA, and the multiple selectable preview images 734A - 734B shown below the header 734 correspond to photos taken today.

[0361] In addition, because the photo library user interface 728 is initiated via user activation of the tag 722 corresponding to a request for transmission of "photos from last night" detected from the message participant 710, when the photo library user interface 728 is displayed, the selectable preview images consistent with the detected request are pre - selected (for transmission). In the photo library user interface 728, the multiple selectable preview images 732A - 732C correspond to photos taken last night (e.g., as indicated by the header 732). Thus, as Figure 7C shown, each of the selectable preview images 732A - 732C is pre - selected (e.g., as indicated by the graphical checkmark on the preview image) for transmission to the message participant 710 via the messaging application 706.

[0362] In some embodiments, also as Figure 7C shown, the photo library user interface 728 includes a compose bar 736 for including a note to accompany the transmission (e.g., of the selected photo) (e.g., corresponding to the compose bar 714), and a send button 738 for initiating the transmission (e.g., of the selected photo).

[0363] In Figure 7D when the gallery user interface 728 is displayed in which the selectable preview images 732A - 732C (corresponding to photos from last night) are pre - selected for transmission (to the message participant 710), the electronic device 700 detects user activation of the send button 738 for initiating the transmission of the photos corresponding to the selectable preview images 732A - 732C. For example, as Figure 7D shown, the user activation is a tap gesture 703 on the send button 738.

[0364] In Figure 7EIn response to detecting a tap gesture 703, the electronic device uses the messaging application 706 and transmits, via the wireless communication radio component, the photo corresponding to the selected selectable preview image 732A - 732C to the message participant 710, and again displays (e.g., replaces the display of the photo gallery user interface 728 with) the message session 708 of the messaging application 706 on the display 702. As Figure 7E shown, the message session 708 shows that the photo message objects 733A - 733C (corresponding to the photos corresponding to the selectable preview images 732A - 732C) have been sent by the messaging application 706 to the message participant 710. In some embodiments, the message session 708 further displays an indication 740 (e.g., stating "Delivered") notifying the user that the photo has been sent to the intended recipient (e.g., the message participant 710).

[0365] As described above, the non - limiting exemplary embodiments of the user interface described above Figures 7A - 7E shown are related to the non - limiting exemplary embodiments of the user interface described below Figures 8A - 8AH shown. Therefore, it should be understood that the processes described above with respect to the Figures 7A - 7E shown exemplary user interface and the processes described below with respect to the Figures 8A - 8AH shown exemplary user interface are largely similar processes, similarly involving using an electronic device (e.g., 100, 300, 500, 700, or 800) to initiate and manage the transmission.

[0366] Figures 8A - 8AH shows an exemplary user interface for managing peer - to - peer transmissions according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including Figures 9A - 9I the processes in

[0367] Figure 8A shows the electronic device 800 (e.g., the portable multifunctional device 100, the device 300, or the device 500). In the Figures 8A - 8AH shown non - limiting exemplary embodiment, the electronic device 800 is a smart phone. In other embodiments, the electronic device 800 can be a different type of electronic device, such as a wearable device (e.g., a smart watch). The electronic device 800 has a display 802, one or more input devices (e.g., the touch screen of the display 802, mechanical buttons 804, a microphone), and a wireless communication radio component.

[0368] In Figure 8AIn this case, the electronic device 800 displays a message session 808 of a messaging application 806 between a user of the device (e.g., "KateAppleseed") and a message participant 810 (e.g., "John Appleseed") on a display 802. In some embodiments, the message participant 810 is a contact stored on the device. In some embodiments, the message participant 810 is a contact in a contact list associated with a user account entered on the device. In some embodiments, the message participant 810 is a contact included in a trusted contact list associated with a user account entered on the device.

[0369] In some embodiments, the electronic device 800 also displays a virtual keyboard 812 (e.g., an alphanumeric keyboard for typing messages) and a composition bar 814 that displays message text when typing a message using the virtual keyboard 812 on the display 802. In some embodiments, in addition to or as an alternative to the virtual keyboard 812, a mechanical keyboard may be used to type messages. In some embodiments, the composition bar 814 may expand (e.g., expand upward) to accommodate longer messages or message objects (e.g., images, emojis, special types of message objects such as payment objects). In some embodiments, the composition bar 814 includes a microphone button 814A that, when activated, enables the user to record a message using voice input.

[0370] As Figure 8A shown, the message session 808 includes two visual message objects 816 and 818. The message object 816 corresponds to a message sent by the message participant 810 to the user, and the message object 818 corresponds to a message sent by the user to the message participant 810. In the message object 816, the message participant 810 states to the user: "Had a great time last night. Pay me back when you can". In the message object 818, the user asks the message participant 810: "How much do I owe you?"

[0371] Figure 8BMessage object 818 is shown in message session 808 of messaging application 806, which corresponds to a newly received message from message participant 810 to the user, and the newly received message responds to the user's question "How much do I owe you?". Specifically, in message object 818, message participant 810 responds: "Dinner and taxi cost $28 in total". In response to receiving a new message corresponding to message object 820, the content (e.g., text) of message object 820 is analyzed. In some embodiments, the analysis is performed by electronic device 800 using the device's language processing component or language analysis component. In some embodiments, the analysis is performed at an external device (e.g., a server), and electronic device 800 receives the result of the analysis from the external device.

[0372] Based on the analysis of the content (e.g., text) of message object 820 (and optionally one or more other previous or subsequent message objects of message session 808, such as message objects 816 and 818), according to the determination related to the transmission of payment (e.g., a request for payment, consent to...

Claims

1. A method, the method comprising: At an electronic device having a display and a security element: Pre-configuring a group account onto the electronic device using the security element of the electronic device, wherein the group account is associated with a first type of item received from a plurality of participants associated with the group account, and wherein the group account is configured to expire after a predetermined period of time; Before the group account has expired, using a first subset of the first type of the items by transmitting the first type of the items from the group account; After using at least the first subset of the first type of the items, determining that the group account has expired; And In response to determining that the group account has expired: Based on determining that the group account is associated with a first non-zero quantity of the first type of item, causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including a first participant among the plurality of participants associated with the group account and a second participant among the plurality of participants associated with the group account; And Based on determining that the group account is associated with a second quantity of the first type of item that is greater than zero and different from the first quantity, causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account, the plurality of participants including the first participant among the plurality of participants associated with the group account and the second participant among the plurality of participants associated with the group account.

2. The method according to claim 1, wherein dividing the items of the first type among the plurality of participants associated with the group account comprises: Dividing the first type of the items equally based on the number of the plurality of participants.

3. The method according to claim 1, wherein dividing the items of the first type among the plurality of participants associated with the group account includes: Dividing the first type of the items proportionally based on the quantity contributions of the first type of items made by the plurality of participants to the group account.

4. The method according to claim 1, wherein causing a transmission of the first type of the item associated with the group account to be divided among the plurality of participants associated with the group account does not include a third participant among the plurality of participants.

5. The method according to claim 4, wherein: The first participant contributes the first type of the item to the group account; The second participant contributes the first type of the item to the group account; and The third participant does not contribute the first type of the item to the group account.

6. The method according to any one of claims 1-5, the method further comprising: Further in response to determining that the group account has expired, based on determining that the first quantity is equal to zero: Abstaining from causing a transmission of the first type of the item associated with the group account; And Disabling the group account from the electronic device using the security element of the electronic device.

7. The method according to any one of claims 1-5, the method further comprising: Further in response to determining that the group account has expired, causing a representation of the group account stored in a wallet application of the electronic device to be removed from the wallet application.

8. The method according to any one of claims 1-5, the method further comprising: displaying, on the display, a message object corresponding to the group account in a message session of a messaging application, wherein the message object includes a representation of the first participant; displaying a first type of graphical indication associated with the representation of the first participant based on determining that the first participant is a first type of user of the group account; and displaying a second type of graphical indication different from the first type of graphical indication and associated with the representation of the second participant based on determining that the first participant is a second type of user of the group account different from the first type of user.

9. The method according to any one of claims 1-5, wherein the electronic device includes wireless communication radio components, the method further comprising: receiving, via the wireless communication radio components, a request for account credentials for continued transmission from a second device before determining that the group account has expired, wherein the request is associated with the transmission of a second subset of the first type of items; and based on determining that authorization has been provided for the transmission: transmitting, via the wireless communication radio components, the account credentials of the group account to the second device; and using the second subset of the first type of items by transmitting the first type of items from the group account.

10. The method according to any one of claims 1-5, wherein the electronic device includes one or more input devices, the method further comprising: displaying a transaction user interface on the display before determining that the group account has expired; detecting, via the one or more input devices, a user selection of a confirmation enabling representation for transmitting a third subset of the first type of items; and in response to detecting the user selection of the confirmation enabling representation, using the third subset of the first type of items by transmitting the first type of items from the group account based on determining that authorization has been provided for the transmission.

11. The method according to claim 9, wherein determining that authorization has been provided for the transmission includes: displaying, on the display, a request for authentication information for authorizing the transmission; receiving authentication information corresponding to the request; and providing authorization for the transmission based on determining that the received authentication information is consistent with registered authentication information for authorizing the transmission.

12. The method according to any one of claims 1-5, wherein the electronic device includes wireless communication radio components, the method further comprising: receiving, via the wireless communication radio components, information about a transmission made using the first type of items of the group account by a second device different from the electronic device before determining that the group account has expired; and displaying, after receiving the information about the transmission made using the first type of items of the group account by the second device, a transmission history list including the information about the transmission on the display.

13. The method according to any one of claims 1 - 5, wherein the participants in the group account are selected based on the participants in the messaging session used to create the group account.

14. The method according to any one of claims 1 - 5, wherein the electronic device includes one or more input devices, and the method further includes: Before pre - configuring the group account on the electronic device, displaying a messaging session of a messaging application on the display, wherein the participants in the messaging session correspond to the multiple participants associated with the group account; Detecting, via the one or more input devices, a user activation of a user interface for configuring the group account; Detecting, via the one or more input devices, a user selection of a confirmation enabling representation associated with the user interface for configuring the group account; And In response to detecting the user selection of the confirmation enabling representation, pre - configuring the group account on the electronic device.

15. The method according to any one of claims 1 - 5, wherein: The pre - determined time period is at least a first time period and not longer than a second time period, and The second time period is longer than the first time period.

16. The method according to claim 14, the method further includes: After pre - configuring the group account on the electronic device, detecting, via the one or more input devices, a user selection of a second pre - determined time period different from the pre - determined time period; And In response to detecting the user selection of the second pre - determined time period, re - configuring the group account to expire after the second pre - determined time period.

17. The method according to any one of claims 1 - 5, wherein the first type of the item is a photo.

18. The method according to any one of claims 1 - 5, wherein the first type of the item is data storage space.

19. The method according to any one of claims 1 - 5, wherein the first type of the item is computing resources.

20. The method according to any one of claims 1 - 5, wherein the first type of the item is funds.

21. A computer - readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display and a security element, the one or more programs including instructions for performing the method according to any one of claims 1 - 20.

22. An electronic device, the electronic device includes: A display; A security element; One or more processors; And A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 1 - 20.

23. An electronic device, the electronic device includes: A display; A security element; And Means for performing the method according to any one of claims 1 - 20.

24. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device including a display and a security element, the one or more programs including instructions for performing the method according to any one of claims 1-20.

Citation Information

Patent Citations

  • System and method for inferring user intent from speech inputs

    US10176167B2

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Acceleration-based theft detection system for portable electronic devices

    US20050190059A1

  • Methods and apparatuses for operating a portable device based on an accelerometer

    US20060017692A1

  • Gestures for touch sensitive input devices

    US20060026521A1