User interface for peer-to-peer transmissions
By providing a simplified peer-to-peer transmission management interface and method on electronic devices, the problems of complex and inefficient interfaces in the prior art are solved, and more efficient transmission management and lower power consumption are achieved.
Patent Information
- Application Number
- CN202510351930.X
- 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
The interface used in the prior art to manage peer-to-peer transmission is complex and inefficient, requiring users to frequently use less commonly used applications, and limited options, resulting in wasting user time and device energy.
Provides a faster and more efficient user interface and method for managing peer-to-peer transmission, including displaying a user interface of a messaging application on an electronic device, receiving messages through wireless communication, and displaying corresponding transmission options and instructions based on message content analysis, reducing user input and interface complexity.
Improves the management efficiency of peer-to-peer transmission, reduces the user's cognitive burden and the power consumption of the device, and extends the battery life in battery-powered devices.
Smart Images

Figure CN120200994A_ABST
Abstract
Description
[0001] This application is a divisional application of an application with international application number PCT / US2018 / 033054, international filing date of May 16, 2018, date of entry into the Chinese national phase of 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 relates generally 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 an 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 technologies require certain applications that are not commonly used by the users of the device, which may unnecessarily cause the user to open seldom - used applications. Also, some existing technologies have limited options for making and receiving transfers. Also, some existing technologies use complex and time - consuming user interfaces, which may include multiple button presses or keystrokes. As a result, the prior art requires more time than necessary, wasting the user's time and the device's 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 performed at an electronic device having a display, one or more input devices, and a wireless communication radio is described. The method includes: receiving, via the wireless communication radio, 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, 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 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, the one or more programs including instructions for performing the following operations: receiving, via the wireless communication radio, 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, 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 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 wireless communication radio components, 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 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; when simultaneously displaying at least one of the one or more messages in the message session on the display, receiving a corresponding message from one of the participants; 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 according to 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; when the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display, detecting, via the one or more input devices, a user activation of the selectable indication; 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; when simultaneously displaying at least one of the one or more messages in the message session on the display, means for receiving a corresponding message from one of the participants; 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 according to 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; when the representation of the message and the selectable indication corresponding to the first type of item are simultaneously displayed on the display, means for detecting, via the one or more input devices, a user activation of the selectable indication; 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 is described that is performed at an electronic device having a display and one or more sensor devices. The method includes: 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 the graphical representation of the communication is being displayed on the display; and, while the graphical representation of the communication is being displayed on the display, in response to detecting the 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.
[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 the orientation of the electronic device relative to a reference point while the graphical representation of the communication is being displayed on the display; and, while the graphical representation of the communication is being displayed on the display, in response to detecting the 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.
[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 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 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, wherein the feedback indicates a magnitude of the change in orientation of the electronic device relative to the reference point, based on a determination that the communication has a first state; and displaying the graphical representation of the communication without outputting feedback indicating a 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.
[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 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 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, wherein the feedback indicates a magnitude of the change in orientation of the electronic device relative to the reference point, based on a determination that the communication has a first state; and displaying the graphical representation of the communication without outputting feedback indicating a 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.
[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 displaying the graphical representation of the communication 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 displaying the graphical representation of the communication 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 numeric selection user interface on the display; receiving, when displaying the numeric selection user interface, an input corresponding to selecting a corresponding numeric value from a plurality of numeric values in the numeric selection user interface via the one or more input devices; in response to receiving the input corresponding to the selection of the corresponding numeric value, displaying a representation of the corresponding numeric value in the numeric selection user interface on the display; receiving, when displaying the representation of the corresponding numeric value in the numeric selection user interface, an input corresponding to a request to send a message corresponding to the corresponding numeric 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 numeric value via the messaging application, sending the message corresponding to the corresponding numeric 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 transfer message of the corresponding numeric value, wherein the first message object includes a graphical representation of the corresponding numeric value in a corresponding font, the corresponding font being associated with a request generated using the numeric 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 numeric value, wherein, in the second message object: the corresponding numeric 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.
[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; while 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; while 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, on the display, in a message transcript of the messaging application, a first message object based on a determination that the message is a transmitted message designated as 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, on the display, in the message transcript of the messaging application, a second message object different from the first message object based on a determination that the message is a request message designated as 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 numerical selection user interface on the display; while 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 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; while 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 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 numerical 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 numerical 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 with 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 with 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, when the numerical selection user interface is displayed, an input corresponding to selecting a corresponding value from a plurality of values in the numerical selection user interface via the one or more input devices; 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, when the representation of the corresponding value in the numerical selection user interface is displayed, an input corresponding to a request to send a message corresponding to the corresponding value via a messaging application via the one or more input devices; 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, in a message transcript of the messaging application, a first message object 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, in the message transcript of the messaging application, a second message object different from the first message object 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, on the display, in a message session, a message object, 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, when at least a portion of the message session is displayed, an input corresponding to a request to obtain the one or more first items via the one or more input devices; 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, 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.
[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, 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.
[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, 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 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, 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; 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, wherein 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, 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, 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, wherein 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, 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, 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, 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 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, via the wireless transmission device, a request to provide a restricted credential associated with a user of the device to an external 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, 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 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; and 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 with the representation of the second account at the first location on the display, and select the second account for use in providing the restricted credential.
[0033] 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: receiving a request to transmit resources using a first resource account for a requested amount of resources; in response to receiving the request to transmit resources using the first resource account for the requested amount of resources: automatically continue the transmission 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 transmission 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.
[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 transmit resources using a first resource account for a requested amount of resources; in response to receiving the request to transmit resources using the first resource account for the requested amount of resources: automatically continue the transmission 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 transmission 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.
[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 the transfer of a requested amount of resources using a first resource account; in response to receiving the request to participate in the transfer 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 the transfer of a requested amount of resources using a first resource account; in response to receiving the request to participate in the transfer 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 the transfer 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 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, the messages including 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, the messages including 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, the messages including 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, the messages including 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, in a first session of electronic messages, one or more 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, in a second session of electronic messages, one or more 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 via the one or more input devices of the device to perform the operation; 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 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.
[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 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.
[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 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 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 performed at an electronic device having a display and one or more sensor devices is described. 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 an 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 an 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 an 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 an 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 an 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 an 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 an 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 an 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 an 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 an 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 for being 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 concurrently with a representation of a hidden element based on a determination that the draft message is a first type of draft message designated for being delivered 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 being delivered 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 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 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 a 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, 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 a 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: based on a determination that the message is a first type of message and is sent with an instruction to initially hide 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; based on a determination that the message is the first type of message and is not sent with an instruction to initially hide 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 based on 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: based on a determination that the message is a first type of message and is sent with an instruction to initially hide 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; based on a determination that the message is the first type of message and is not sent with an instruction to initially hide 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 based on 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 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; 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: determining 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 messaging 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; determining 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 messaging session with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and determining that the message is a second type of message, displaying the corresponding content of the message in the messaging 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 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; 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: determining 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 messaging 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; determining 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 messaging session with the dynamic visual effect that changes as the angle of the device relative to the reference point changes; and determining that the message is a second type of message, displaying the corresponding content of the message in the messaging 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 hiding element in the messaging session that hides the corresponding content of the message, where the hiding 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 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; 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 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; and means for displaying the corresponding content of the message in the messaging session without a dynamic visual effect, based on a 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 an amount of an item 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 an amount of an item type received from a first participant among the multiple participants to the group account, and adding an amount of the item 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 withholding transmission of 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.
[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-configure a group account onto the electronic device using the security element of the device; use the one or more wireless communication radio components to transmit a request for an amount 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: add an amount of an item of a type received from a first participant among the multiple participants to the group account, and add an amount of the item of the type received from a second participant among the multiple participants to the group account; receive a request to transmit credentials of the group account; and in response to receiving the request to transmit credentials of the group account: receive authentication information; transmit 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 refrain 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-configure a group account onto the electronic device using the security element of the device; use the one or more wireless communication radio components to transmit a request for an amount 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: add an amount of an item of a type received from a first participant among the multiple participants to the group account, and add an amount of the item of the type received from a second participant among the multiple participants to the group account; receive a request to transmit credentials of the group account; and in response to receiving the request to transmit credentials of the group account: receive authentication information; transmit 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 refrain 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 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.
[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 of the group account; and in response to receiving the request to transmit the credentials of the group account, means for performing the following operations: 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.
[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 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, the 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; 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, the second 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.
[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 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, the 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; 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, the second 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.
[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, 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 by 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 another participant in the message session instead of setting up the shared item management account for managing the first type of item.
[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, 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 by 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 another participant in the message session instead of setting up the shared item management account for managing the first type of item.
[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 rather than 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 that is 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, after using at least the first subset of the first type of item, that the group account has expired; 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 that is divided among the plurality of participants associated with the group account, the plurality of participants including a first participant 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 that is divided among the plurality of participants associated with the group account, the plurality of participants including the first participant 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.
[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 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 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.
[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 of the first type of the item greater than zero; 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 of the first type of the item greater than zero and different from the first quantity.
[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 item by transmitting the first type of 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 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 quantity 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 quantity greater than zero and different from the first quantity of the first type of 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 a 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 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.
[0078] 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: receiving, via the one or more input devices, a request to perform an operation associated with a 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: simultaneously displaying, on the display, a representation of the first transfer account and a balance insufficient notification 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.
[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: simultaneously displaying, on the display, a representation of the first transfer account and a balance insufficient notification 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.
[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: simultaneously displaying, on the display, a representation of the first transfer account and a balance insufficient notification 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.
[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, responsive to receiving the request to perform the operation associated with the first transfer account, for performing the following operations: simultaneously displaying, on the display, a representation of the first transfer account and a low balance notification 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 low balance notification based on a determination that the balance of the first transfer account is not below the balance threshold.
[0083] 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. 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] Accordingly, faster and more efficient methods and interfaces for managing peer-to-peer transfers are provided for the device, thereby enhancing 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 in accordance with some embodiments.
[0087] Figure 1B is a block diagram showing exemplary components for event handling in accordance with some embodiments.
[0088] Figure 1C is a block diagram showing exemplary components for generating visual output in accordance with some embodiments.
[0089] Figure 2 shows a portable multifunctional device having a touch screen in accordance with some embodiments.
[0090] Figure 3 is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface in accordance with 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 the 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 a file transfer according to some embodiments.
[0100] Figures 8A - 8AH Shows an exemplary user interface for initiating and managing a transfer according to some embodiments.
[0101] Figures 9A - 9I Is a flowchart showing a method for initiating and managing a transfer 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 Shows an exemplary user interface for providing a visually distinguishable appearance of a message object based on message specification according to some embodiments.
[0106] Figures 14A - 14M Shows an exemplary user interface for providing a visually distinguishable appearance of a message object based on message specification according to some embodiments.
[0107] Figures 15A - 15K Is a flowchart showing a method for providing a visually distinguishable appearance of a message object based on message specification according to some embodiments.
[0108] Figures 16A - 16F Shows an exemplary user interface for activating an account for receiving and sending encrypted message transmissions according to some embodiments.
[0109] Figures 17A - 17L Shows an exemplary user interface for activating an account for receiving and sending transmissions according to some embodiments.
[0110] Figures 18A - 18F Is a flowchart showing a method for activating an account for receiving and sending transmissions according to some embodiments.
[0111] Figures 19A - 19D Shows an exemplary user interface for exchanging user identities with different user identities according to some embodiments.
[0112] Figures 20A - 20J Shows an exemplary user interface for exchanging accounts used in transmissions according to some embodiments.
[0113] Figures 21A - 21D Is a flowchart showing a method for exchanging accounts used in transmissions according to some embodiments.
[0114] Figures 22A - 22F Shows an exemplary user interface for splitting a resource transmission between two or more resource accounts according to some embodiments.
[0115] Figures 23A - 23O Shows an exemplary user interface for splitting a transmission between two or more accounts according to some embodiments.
[0116] Figures 24A - 24C Is a flowchart showing a method for splitting a transmission between two or more accounts according to some embodiments.
[0117] Figures 25A - 25C Shows an exemplary user interface for generating and displaying a list of attachment transmission histories according to some embodiments.
[0118] Figures 26A - 26T An exemplary user interface for generating and displaying a transmission history list according to some embodiments is shown.
[0119] Figures 27A - 27E A flowchart showing a method for generating and displaying a transmission history list according to some embodiments.
[0120] Figures 28A - 28F An exemplary user interface for voice activation of file transfer according to some embodiments is shown.
[0121] Figures 29A - 29S An exemplary user interface for voice activation of transmission according to some embodiments is shown.
[0122] Figures 30A - 30D A flowchart showing a method for voice activation of transmission according to some embodiments.
[0123] Figures 31A - 31M An exemplary user interface for user authentication according to some embodiments is shown.
[0124] Figures 32A - 32D An exemplary user interface for automatic account sign - in according to some embodiments is shown.
[0125] Figures 33A - 33O An exemplary user interface for providing feedback corresponding to an operation associated with a transmission according to some embodiments is shown.
[0126] Figures 34A - 34D A flowchart showing a method for providing feedback corresponding to an operation associated with a transmission according to some embodiments.
[0127] Figures 35A - 35J An exemplary user interface for sending a gift transmission according to some embodiments is shown.
[0128] Figures 36A - 36Z An exemplary user interface for sending a gift transmission according to some embodiments is shown.
[0129] Figures 37A - 37C A flowchart showing a method for sending a gift transmission according to some embodiments.
[0130] Figures 38A - 38F An exemplary user interface for managing a gift transmission according to some embodiments is shown.
[0131] Figures 39A - 39L An exemplary user interface for managing a gift transmission according to some embodiments is shown.
[0132] Figures 40A - 40Bis a flowchart showing a method for managing gift transmission according to some embodiments.
[0133] Figures 41A - 44D 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 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 that would otherwise be 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. Figures 8A - 8AH An exemplary user interface for initiating and managing transmissions according to some embodiments is shown. Figures 9A - 9I A flowchart showing a method of 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 of 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 - 14M 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 15A - 15Kis a flowchart showing a method for providing a visually distinguishable message object appearance based on message specification according to some embodiments. Figures 13A - 13D and Figures 14A - 14M The user interfaces in are used to show the processes described below, including Figures 15A - 15K the processes in. Figures 16A - 16F Shows an exemplary user interface for activating an account for receiving and sending encrypted message transmissions according to some embodiments. Figures 17A - 17L Shows an exemplary user interface for activating an account for receiving and sending transmissions according to some embodiments. 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 interfaces in are used to show the processes described below, including Figures 18A - 18F the processes in. Figures 19A - 19D Shows an exemplary user interface for exchanging user identities with different user identities according to some embodiments. Figures 20A - 20J Shows an exemplary user interface for exchanging accounts used in transmissions according to some embodiments. 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 interfaces in are used to show the processes described below, including Figures 21A - 21D the processes in. Figures 22A - 22F Shows an exemplary user interface for splitting resource transmissions between two or more resource accounts according to some embodiments. Figures 23A - 23O Shows an exemplary user interface for splitting transmissions between two or more accounts according to some embodiments. Figures 24A - 24C is a flowchart showing a method for splitting transmissions between two or more accounts according to some embodiments. Figures 22A - 22F and Figures 23A - 23O The user interfaces in are used to show the processes described below, including Figures 24A - 24C the processes in. Figures 25A - 25C Shows an exemplary user interface for generating and displaying an attachment transmission history list according to some embodiments. Figures 26A - 26T Shows an exemplary user interface for generating and displaying a transmission history list according to some embodiments. Figures 27A - 27E is a flowchart showing a method for generating and displaying a transmission history list according to some embodiments. Figures 25A - 25C and Figures 26A - 26T The user interfaces in are used to show the processes described below, including Figures 27A - 27E the processes in. Figures 28A - 28F Shows an exemplary user interface for voice activation of file transmission 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 interfaces in are used to illustrate the processes described below, including Figures 30A - 30D The processes 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 operations associated with transmission according to some embodiments. Figures 34A - 34D Is a flowchart showing a method for providing feedback corresponding to operations associated with transmission according to some embodiments. Figures 33A - 33O The user interfaces in are used to illustrate the processes described below, including Figures 34A - 34D The processes in. Figures 35A - 35J Shows an exemplary user interface for sending gift transmissions according to some embodiments. Figures 36A - 36Z Shows an exemplary user interface for sending gift transmissions according to some embodiments. Figures 37A - 37C Is a flowchart showing a method for sending gift transmissions according to some embodiments. Figures 35A - 35J And Figure 36A-Figure 36Z The user interfaces in are used to illustrate the processes described below, including Figure 37A-Figure 37C The processes in. Figure 38A-Figure 38F Shows an exemplary user interface for managing gift transmissions according to some embodiments. Figure 39A-Figure 39L Shows an exemplary user interface for managing gift transmissions according to some embodiments. Figure 40A-40B Is a flowchart showing a method for managing gift transmissions according to some embodiments. Figure 38A-Figure 38F And Figure 39A-Figure 39L The user interfaces in are used to illustrate the processes described below, including Figure 40A-40B The processes in. Figures 41A-44D Shows an exemplary user interface for creating and managing group accounts according to some embodiments. Figure 42A-Figure 42O Shows an exemplary user interface for creating and managing group accounts according to some embodiments. Figure 43A-43C Is a flowchart showing a method for creating and managing group accounts according to some embodiments. Figures 41A-41D And Figure 42A-Figure 42O The user interfaces in are used to illustrate the processes described below, including Figure 43A-43C The processes in. Figure 44A-Figure 44EAn exemplary user interface for creating group accounts and non-group accounts according to some embodiments is shown. Figure 45A-Figure 45U An exemplary user interface for creating group accounts and non-group accounts according to some embodiments is shown. Figure 46A-46C A flowchart showing a method for creating group accounts and non-group accounts according to some embodiments. Figure 44A-Figure 44E and Figure 45A-Figure 45U The user interfaces in Figure 46A-46C are used to illustrate the processes described below, including Figure 47A-47H the processes in Figure 48A-Figure 48Y An exemplary user interface for managing the valid period of a group account according to some embodiments is shown. Figure 49A-49D A flowchart showing a method for managing the valid period of a group account according to some embodiments. Figure 47A-47H and Figure 48A-Figure 48Y The user interfaces in Figure 49A-49D are used to illustrate the processes described below, including Figures 50A-50AG the processes in Figure 51A-Figure 51B A flowchart showing a method for managing balance notifications according to some embodiments. Figures 50A-50AG The user interfaces in Figure 51A-Figure 51B are used to illustrate the processes described below, including
[0147] Although the following description uses terms such as "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch could be 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.
[0148] 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 the presence of the stated features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups.
[0149] 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 phrases "if determined..." or "if detected [the stated condition or event]" may optionally be interpreted to mean "when determining..." or "in response to determining..." or "when detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]".
[0150] Embodiments of electronic devices, user interfaces for 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. Other portable electronic devices may optionally 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).
[0151] 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.
[0152] The device generally 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.
[0153] 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.
[0154] 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.
[0155] As used in this specification and the claims, the “intensity” of a contact on a touch-sensitive surface refers to the force or pressure of a contact (e.g., finger contact) on the touch-sensitive surface (force per unit area), 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 average) to determine the estimated contact force. Similarly, the 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 a surrogate for the force or pressure of a contact on the touch-sensitive surface. In some embodiments, the surrogate measurement of the contact force or pressure is directly used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurement). In some embodiments, the surrogate measurement of the contact force or pressure is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether the 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 user input allows the 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, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0156] 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., the 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), the 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 a 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, movement of a touch-sensitive surface may optionally be interpreted or sensed by the user as a "roughness" of the touch-sensitive surface even when there is no change in the smoothness 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.
[0157] In some embodiments, the 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.
[0158] When a device (e.g., one or more haptic output generators that generate haptic output via a moving movable mass) generates haptic output having 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 characteristics (e.g., size, material, weight, stiffness, smoothness, etc.); behavior (e.g., oscillation, displacement, acceleration, rotation, stretching, etc.); and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of objects 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 that reduces input errors and increases 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 characteristics (such as input thresholds or object selection). Such haptic output will, in some cases, provide helpful feedback to the user that reduces input errors and increases the efficiency of the user's operation of the device.
[0159] 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 the 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, the success or failure of a requested operation, reaching or crossing a boundary in the user interface, entering a new state, switching the 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 a timely manner. 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 interacting 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 reduces input errors and increases the efficiency of the user's operation of the device.
[0160] Figure 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.), for various purposes in various scenarios (such as those described above and those described with respect to the user interfaces and methods discussed herein) to form appropriate haptic feedback. This example of a control panel for haptic output 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 the 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 Figure 4F-4H FullTap 80Hz, FullTap 200Hz, MiniTap 80Hz, MiniTap 200Hz, MicroTap 80Hz, and MicroTap 200Hz in Figure 4F-4H , each of which is shown as a variant with gains of 1.0, 0.75, 0.5, and 0.25. As
[0161] Figure 4C-Figure 4H shows, 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, so 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).
[0161] Figure 4C-Figure 4H shows a haptic output pattern with a specific waveform. The waveform of a haptic output pattern represents the pattern of physical displacement over time relative to a neutral position (e.g., x zero ), through which a movable mass generates a haptic output having that haptic output pattern. For example, Figure 4C each of the first set of haptic output patterns shown (e.g., the haptic output pattern of "FullTap") has a waveform that includes an oscillation with two full cycles (e.g., an oscillation that starts and ends at the neutral position and crosses the neutral position three times). Figure 4D each of the second set of haptic output patterns shown (e.g., the haptic output pattern of "MiniTap") has a waveform that includes an oscillation with one full cycle (e.g., an oscillation that starts and ends at the neutral position and crosses the neutral position once). 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 a half-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. Figure 4C-Figure 4H The exemplary waveform shown includes x that represents the maximum and minimum degrees of movement of the movable mass min and x max values. For larger electronic devices with a larger movable mass, the minimum and maximum degrees of movement of the mass can be larger or smaller. Figure 4C-Figure 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.
[0162] As Figure 4C-4E shown, each haptic output pattern also has a corresponding characteristic frequency that affects the “pitch” of the tactile sensation that a user feels 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 period of time. 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 Figure 4C-Figure 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).
[0163] As Figure 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 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 fixedly 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 a portion of the haptic output over time when generating the haptic output.
[0164] Although in Figure 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 may also be used for similar purposes. For example, a waveform having between 0.5 and 4 cycles may be used. Other frequencies in the range of 60 Hz - 400 Hz may also be used. Table 1 provides examples of specific haptic feedback behaviors, configurations, and their use cases.
[0165] 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.
[0166] 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.
[0167] Peripheral device interface 118 can be used to couple the 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 the 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.
[0168] 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 phone 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.
[0169] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into sound waves audible to humans. The audio circuit 110 also receives the electrical signal converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes an earphone jack (e.g., Figure 2 212 in
[0170] The earphone jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device such as an output-only headset or an earphone with both output (e.g., mono or stereo headphones) and input (e.g., microphone).
[0171] Other details regarding the secure element 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.
[0172] The I / O subsystem 106 couples input / output peripheral devices on the device 100, such as the touch screen 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 other input control devices 116 / send electrical signals to 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).
[0173] Quickly pressing the push button optionally unlocks the touch screen 112 or optionally starts the process of unlocking the device using gestures on the touch screen, 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 touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0174] 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 touch screen 112 and / or sends electrical signals to the touch screen 112. The touch screen 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.
[0175] The touch screen 112 has a touch-sensitive surface, sensor, or group of sensors that accepts input from a user based on tactile and / or haptic 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 user interface objects (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.
[0176] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, but uses other display technologies in other embodiments. 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 as used in.
[0177] 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.
[0178] 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.
[0179] 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 approximately 160 dpi. The user optionally uses 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 primarily through finger-based contact and gestures, which may not be as precise as stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts the finger-based rough input into an accurate pointer / cursor position or command for performing the action desired by the user.
[0180] 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 is optionally a touch-sensitive surface separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0181] 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.
[0182] 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 referred to as a 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 obtained for a video conference while the user views other video conference 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 is used with the touchscreen display for both video conferencing and still image and / or video image capture.
[0183] 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, electrical 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 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.
[0184] The device 100 optionally further includes one or more proximity sensors 166. Figure 1AA proximity sensor 166 is shown coupled to the peripheral device interface 118. 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, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", which U.S. patent applications are hereby incorporated by reference in their entirety. In some embodiments, when the multifunction 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.
[0185] Device 100 may optionally further include one or more haptic output generators 167. Figure 1AIllustrated is a haptic output generator coupled to a haptic feedback controller 161 in an 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 felt 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 a plane parallel to 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 to the touch screen display 112 located on the front of the device 100.
[0186] 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 an 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, titled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, titled "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.
[0187] 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.
[0188] 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.
[0189] 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.
[0190] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or a physical click wheel). 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 stopped (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, the movement of the contact point being represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-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.
[0191] 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 touch screen can be set to any threshold within a wide range of predefined thresholds without changing the touchpad or touch screen 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 using a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0192] 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 specific 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.
[0193] 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.
[0194] 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.
[0195] 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.
[0196] 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).
[0197] 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 location - based dialing; provided to the camera 143 as picture / video metadata; and provided to applications that offer location - based services, such as weather widgets, local yellow pages widgets, and map / navigation widgets).
[0198] The application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:
[0199] · The contacts module 137 (sometimes referred to as an address book or contact list);
[0200] · The phone module 138;
[0201] · The video conferencing module 139;
[0202] · The email client module 140;
[0203] · The instant messaging (IM) module 141;
[0204] · Fitness support module 142;
[0205] · Camera module 143 for still images and / or video images;
[0206] · Image management module 144;
[0207] · Video player module;
[0208] · Music player module;
[0209] · Browser module 147;
[0210] · Calendar module 148;
[0211] · 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;
[0212] · Desktop applet creator module 150 for forming user-created desktop applet 149-6;
[0213] · Search module 151;
[0214] · Video and music player module 152, which combines the video player module and the music player module;
[0215] · Notepad module 153;
[0216] · Map module 154; and / or
[0217] · Online video module 155.
[0218] 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.
[0219] 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., 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.
[0220] 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.
[0221] 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 instructions.
[0222] 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.
[0223] 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 the following operations: inputting a character sequence corresponding to an instant message, modifying a previously input 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).
[0224] 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 fitness sensors (exercise devices); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for the fitness; and displaying, storing, and transmitting fitness data.
[0225] 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 the following operations: capturing a still image or video (including a video stream) and storing them in the memory 102, modifying the characteristics of a still image or video, or deleting a still image or video from the memory 102.
[0226] 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.
[0227] 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.
[0228] 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.
[0229] 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 the 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).
[0230] 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 the user to create desktop widgets (e.g., converting a user-specified portion of a web page into a desktop widget).
[0231] 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 for text, music, sound, images, videos, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.
[0232] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, and executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).
[0233] In combination with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, notepad module 153 includes executable instructions for creating and managing notepads, to-do lists, etc. according to user instructions.
[0234] In combination with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 is optionally used to receive, display, modify, and store maps and data associated with maps (e.g., driving directions, data related to stores and other points of interest at or near a particular location, and other location-based data) according to user instructions.
[0235] 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, online video module 155 includes instructions for performing the following operations: allowing a user to access, browse, receive (e.g., by 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 titled “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 titled “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 entireties.
[0236] 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 are optionally combined or otherwise rearranged in various embodiments. For example, the video player module is optionally 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, memory 102 optionally stores a subgroup of the above modules and data structures. In addition, memory 102 optionally stores additional modules and data structures not described above.
[0237] 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.
[0238] The predefined set of functions 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.
[0239] 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).
[0240] 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.
[0241] 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.
[0242] 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 that the peripheral interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display 112 or a touch-sensitive surface.
[0243] 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).
[0244] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0245] 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. A view is composed of controls and other elements that a user can see on the display.
[0246] 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 an initial touch that begins a touch-based gesture.
[0247] 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-event. 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.
[0248] 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.
[0249] 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.
[0250] 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 a stand-alone module or part of another module (such as the contact / motion module 130) stored in the memory 102.
[0251] 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, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update the application's 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 a corresponding application view 191.
[0252] A 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 also includes at least a subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0253] 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 also 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 also 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's attitude).
[0254] The event comparator 184 compares the event information with predefined event or sub - event definitions and, based on that comparison, determines an event or sub - event or determines or updates the state of an event or sub - event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 contains definitions of events (e.g., predefined sequences of sub - events), such as event 1 (187 - 1), event 2 (187 - 2), and others. In some embodiments, 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.
[0255] In some embodiments, the event definition 187 includes a definition of an event for a corresponding user interface object. In some embodiments, the event comparator 184 performs a hit test to determine which user interface object is associated with a sub - event. For example, in an application view that displays three user interface objects on the touch - sensitive display 112, when a touch is detected on the touch - sensitive display 112, the event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub - event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, the event comparator 184 selects the event handler associated with the sub - event and the object that triggered the hit test.
[0256] In some embodiments, the definition of a corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined whether the sub - event sequence does or does not correspond to the event type of the event recognizer.
[0257] 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) that remain active for the hit view continue to track and process sub - events of the ongoing touch - based gesture.
[0258] 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 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.
[0259] 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 sending) 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.
[0260] In some embodiments, the event delivery instruction 188 includes a sub - event delivery instruction that delivers 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.
[0261] In some embodiments, the data updater 176 creates and updates data used in the application 136-1. For example, the data updater 176 updates the telephone numbers used in the contact module 137 or stores video files used in the video player module. In some embodiments, the object updater 177 creates and updates objects used in the application 136-1. For example, the object updater 177 creates new user interface objects or updates the positions of user interface objects. The GUI updater 178 updates the GUI. For example, the GUI updater 178 prepares display information and sends the display information to the graphics module 132 for display on the touch-sensitive display.
[0262] In some embodiments, the event handler 190 includes or has access to the data updater 176, the object updater 177, and the GUI updater 178. In some embodiments, the data updater 176, the object updater 177, and the 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.
[0263] Figure 1C is a block diagram showing a haptic output module according to some embodiments. In some embodiments, the I / O subsystem 106 (e.g., the 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, the peripheral device interface 118 includes Figure 1C at least some of the exemplary components shown.
[0264] In some embodiments, the haptic output module includes a haptic feedback module 133. In some embodiments, the 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 cues and other notifications indicating the execution of an operation or the occurrence of an event in the user interface of the electronic device). The haptic feedback module 133 includes one or more of a waveform module 123 (for providing waveforms for generating haptic outputs), a mixer 125 (for mixing waveforms, such as waveforms in different channels), a compressor 127 (for reducing or compressing the dynamic range of the waveforms), a low-pass filter 129 (for filtering out high-frequency signal components in the waveforms), and a thermal controller 131 (for adjusting the waveforms according to thermal conditions). In some embodiments, the haptic feedback module 133 is included in the 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 waveforms for haptic output.
[0265] 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 a haptic feedback instruction.
[0266] 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 Figure 4C-4D ).
[0267] 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 with 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 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).
[0268] 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 portion that exceeds a predefined amplitude threshold while maintaining the amplitude of the waveform portion that does 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 of the haptic output generator 167 (e.g., force and / or movable mass displacement limits).
[0269] The low-pass filter 129 receives waveforms (e.g., the compressed waveforms from the compressor 127) as inputs and filters the waveforms (e.g., smooths them) (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 in the waveforms.
[0270] 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 based on 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 can 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).
[0271] 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 the 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) among. 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.
[0272] In some embodiments, the tactile output module includes a haptic feedback controller 161 (e.g., Figure 1A the haptic feedback controller 161 in ), which controls the generation of tactile output. In some embodiments, the haptic feedback controller 161 is coupled to a plurality of tactile output generators, and selects one or more of the plurality of tactile output generators and sends waveforms to the selected one or more tactile output generators for generating tactile output. In some embodiments, the haptic feedback controller 161 coordinates tactile output requests corresponding to activating a hardware input device 145 and tactile output requests corresponding to software events (e.g., tactile 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 tactile output corresponding to activating the hardware input device 145 over tactile output corresponding to software events).
[0273] In some embodiments, as Figure 1C shown, the output of the haptic feedback controller 161 is coupled to the audio circuitry of the device 100 (e.g., the audio circuitry 110, Figure 1A ), and provides an audio signal to the audio circuitry of the device 100. In some embodiments, the haptic feedback controller 161 provides both a waveform for generating tactile output and an audio signal for providing an audio output along with the generation of tactile output. In some embodiments, the haptic feedback controller 161 modifies the audio signal and / or the waveform (for generating tactile output) such that the audio output and the tactile 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 tactile output generator 167.
[0274] In some embodiments, the tactile 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 tactile output generator 167 (e.g., the tactile 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).
[0275] 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 for generating 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 about the state of the haptic output generator 167 provided by the sensor 169, 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).
[0276] 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 inputs are 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; verbal instructions; detected eye movement; biometric input; and / or any combination thereof can optionally be used as inputs corresponding to sub-events that define the events to be recognized.
[0277] 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, such as by using one or more fingers 202 (not drawn to scale in the figures) or one or more styli 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.
[0278] 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.
[0279] In some embodiments, device 100 includes a touch screen 112, a menu button 204, a push button 206 for powering on / off the device and for locking the device, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to power on / off the device by pressing the button and holding the button in the pressed state for a predefined time interval; to lock the device by pressing the button and releasing the button before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also receives voice input for activating or deactivating certain functions via a microphone 113. 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.
[0280] Figure 3FIG. is a block diagram of an exemplary multi-functional 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 controller or an 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 referred to as a chipset) that interconnects system components and controls the communication between system components. Device 300 includes an input / output (I / O) interface 330 having a display 340, which is typically a touch screen display. I / O interface 330 also optionally includes a keyboard and / or a 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., an optical sensor, an acceleration sensor, a proximity sensor, a touch-sensitive sensor, and / or a contact intensity sensor (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 the programs, modules, and data structures stored in the memory 102 of the portable multi-functional device 100 ( Figure 1A ). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multi-functional 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 the memory 102 of the portable multi-functional device 100 ( Figure 1A ) optionally does not store these modules.
[0281] Figure 3Each of the above elements in [element name] is optionally stored in one or more of the previously mentioned memory devices of the 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, processes, or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, the memory 370 optionally stores a subgroup of the above modules and data structures. In addition, the memory 370 optionally stores additional modules and data structures not described above.
[0282] Attention is now turned to embodiments of a user interface that is optionally implemented on, for example, the portable multifunctional device 100.
[0283] 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:
[0284] · One or more signal strength indicators 402 for one or more wireless communications such as cellular signals and Wi-Fi signals;
[0285] · Time 404;
[0286] · Bluetooth indicator 405;
[0287] · Battery status indicator 406;
[0288] · A tray 408 with icons for common applications, such as:
[0289] ○ 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;
[0290] ○ 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;
[0291] ○ An icon 420 labeled "Browser" for the browser module 147; and
[0292] ○ An icon 422 labeled "iPod" for the video and music player module 152 (also referred to as the iPod (trademark of Apple Inc.) module 152); and
[0293] · Icons for other applications, such as:
[0294] ○ The icon 424 of the IM module 141 labeled "Message";
[0295] ○ The icon 426 of the calendar module 148 labeled "Calendar";
[0296] ○ The icon 428 of the image management module 144 labeled "Photo";
[0297] ○ The icon 430 of the camera module 143 labeled "Camera";
[0298] ○ The icon 432 of the online video module 155 labeled "Online Video";
[0299] ○ The icon 434 of the stock market desktop applet 149-2 labeled "Stock Market";
[0300] ○ The icon 436 of the map module 154 labeled "Map";
[0301] ○ The icon 438 of the weather desktop applet 149-1 labeled "Weather";
[0302] ○ The icon 440 of the alarm clock desktop applet 149-4 labeled "Clock";
[0303] ○ The icon 442 of the fitness support module 142 labeled "Fitness Support";
[0304] ○ The icon 444 of the notepad module 153 labeled "Notepad"; and
[0305] ○ 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.
[0306] It should be noted that Figure 4A The icon labels shown are only examples. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player". Other labels can be optionally 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 specific application icon is different from the name of the application corresponding to the specific application icon.
[0307] 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 interface on device 300). Device 300 may also optionally include one or more contact intensity sensors (e.g., one or more of 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 device 300.
[0308] Although some of the following examples will be given with reference to inputs on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects inputs 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 main axis (e.g., Figure 4B 452 in ) corresponding to the main 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 respective 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 inputs (e.g., contacts 460 and 462 and their movements) detected by the device on the touch-sensitive surface are 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.
[0309] Additionally, although the following examples are mainly given with reference to finger inputs (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 inputs from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be 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 may optionally be 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 ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or a mouse and a finger contact may optionally be used simultaneously.
[0310] 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 representative of 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.
[0311] 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.
[0312] 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, watch bands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0313] 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 and a rotatable input device. In some examples, input mechanism 508 may optionally be a button.
[0314] 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.
[0315] 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 ( Figure 9A-9I , Figure 12A-12C , Figure 15A-15K , Figure 18A-18F , Figure 21A-Figure 21D , Figure 24A-24C , Figure 27A-Figure 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, and the like. 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.
[0316] As used herein, the term "indicant" 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 FIG. 5A to FIG. 5B ). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an indicant.
[0317] As used herein, the term "focus selector" refers to an input element for indicating the current portion of the user interface with which the user is interacting. In some embodiments including a cursor or other position marker, the cursor acts 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 ) above a particular user interface element (e.g., a button, window, slider, or other user interface element), that particular user interface element is adjusted in accordance with the detected input. In embodiments including a touchscreen display capable of enabling direct interaction with user interface elements on the touchscreen display (e.g., 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 acts as a "focus selector", such that when an input (e.g., a press input made by the contact) is detected at the position of a specific user interface element (e.g., a button, window, 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 generally a user interface element (or a contact on the touch screen display) that is controlled by the user in order to deliver the interaction with the user interface that the user anticipates (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of the focus selector (e.g., a cursor, contact, or 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).
[0318] 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. Optionally, the feature intensity is based on a predefined number or set of intensity samples collected during a predefined period of time (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 the contact, before detecting the contact lift-off, before or after detecting the contact start to move, before detecting the contact end, before or after detecting the contact intensity increase, and / or before or after detecting the contact intensity decrease). The feature intensity of a contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, 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 contact intensity over time). In some embodiments, the feature intensity is compared with 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 with a feature intensity not exceeding the first threshold results in a first operation, a contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second operation, and a contact with a feature intensity exceeding 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 abandon performing the corresponding operation) rather than for determining whether to perform a first operation or a second operation.
[0319] Figure 5C Illustrated is the detection of a plurality of contacts 552A - 552E on the touch-sensitive display screen 504 using a plurality of intensity sensors 524A - 524D. Figure 5C Also included is 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 plurality of 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 5DShows the assignment of cumulative intensity 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 cumulative intensity, and each of contacts 552C and 552D is assigned an intensity of 4 intensity units of 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 Figure 5C-5D can be performed by an electronic device similar to or equivalent to devices 100, 300, or 500. In some embodiments, the characteristic intensity of a contact is based on one or more intensities of the contact. In some embodiments, intensity sensors are 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 Figure 5C-5D to assist the reader.
[0320] In some embodiments, a portion of an identified 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 where the contact intensity increases. In this example, the characteristic intensity of the contact at the ending position is optionally based only on a portion of the continuous swiping contact rather than the entire swiping contact (e.g., only the portion 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.
[0321] 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.
[0322] 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.
[0323] In some embodiments described herein, one or more operations are performed in response to detecting a gesture including a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or contacts), where the corresponding press input is detected at least in part based on the intensity of the detected contact (or contacts) increasing 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).
[0324] Figure 5E-Figure 5Hshows detection of a gesture that includes a press input where the intensity of contact 562 increases from below Figure 5E the light press intensity threshold in L (e.g., "IT L ") to above Figure 5H the deep press intensity threshold in D (e.g., "IT D "). On a user interface 570 showing application icons 572A - 572D in a predefined region 574, when a cursor 576 is shown above the application icon 572B corresponding to application 2, a gesture performed using contact 562 is detected on a touch - sensitive surface 560. In some embodiments, the gesture is detected on a touch - sensitive display 504. An intensity sensor detects the intensity of the contact on the touch - sensitive surface 560. The device determines that the intensity of contact 562 reaches a peak above the deep press intensity threshold (e.g., "IT D "). Contact 562 is maintained on the touch - sensitive surface 560. In response to detecting the gesture, and based on contact 562 whose intensity rises above the deep press intensity threshold (e.g., "IT D ") during the gesture, scaled representations 578A - 578C (e.g., thumbnails) of the documents most recently opened for application 2 are displayed, as shown in Figure 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 graph for contact 562 is not part of the displayed user interface, but is included in Figure 5E-Figure 5H to assist the reader.
[0325] In some embodiments, the display of representations 578A - 578C includes an animation. For example, representation 578A is initially shown near the application icon 572B, as shown in Fig. 5F . As the animation progresses, representation 578A moves upward and representation 578B is shown near the application icon 572B, as shown in Figure 5G . Then, representation 578A moves upward, 578B moves upward towards representation 578A, and representation 578C is shown near the application icon 572B, as shown in Figure 5H . Representations 578A - 578C form an array above the icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, as shown in Figure 5F-5G , where representations 578A - 578C appear and move upward as the intensity of contact 562 increases towards the deep press intensity threshold (e.g., "IT D "). In some embodiments, the intensity on which the animation progresses is the characteristic intensity of the contact. An electronic device similar to or equivalent to device 100, 300, or 500 can perform the operations described with reference to Figure 5E-Figure 5H .
[0326] 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 the intensity of the contact increasing 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 intensity of the contact subsequently decreasing to an intensity equal to or lower than the hysteresis strength, and a corresponding operation is performed in response to detecting the press input (e.g., depending on the context, the intensity of the contact increasing or the intensity of the contact decreasing).
[0327] 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 intensity of the contact increasing above the press input strength threshold, the intensity of the contact increasing from an intensity below the hysteresis strength threshold to an intensity above the press input strength threshold, the intensity of the contact decreasing below the press input strength threshold, and / or the intensity of the contact 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 the 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.
[0328] Figure 6 An exemplary device connected via one or more communication channels to participate in a transaction is 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 specific 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.
[0329] 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 photo of a payment card (e.g., a photo 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, debit card number, account number, or 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) for which the user's or user device's account has previously made a purchase or had payment account data identified.
[0330] 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.
[0331] 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 warnings 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. This 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).
[0332] The 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.
[0333] In some embodiments, the electronic devices (e.g., 100, 300, 500) are used to communicate with a point-of-sale (POS) payment terminal 600, which optionally supports NFC. This communication optionally occurs using a variety of communication channels and / or technologies. In some examples, the 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 that includes payment information for a payment account (e.g., the default account or the account selected for a specific transaction).
[0334] 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).
[0335] 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.
[0336] 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 the wearable device include detecting that a button has been pressed (e.g., after security verification), while the corresponding conditions for the 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).
[0337] The payment terminal 600 optionally uses the 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 the 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., the server of the acquiring bank and / or the server of the card network).
[0338] 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.
[0339] 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.
[0340] 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.
[0341] 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).
[0342] 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 can 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 the predefined set of operations that cannot be performed when in the locked state.
[0343] When the device is in the locked state, the device is said to be locked. In some embodiments, a device in the locked state can respond to a restricted set of user inputs, including an input corresponding to an attempt to transition the device to the unlocked state or an input corresponding to powering off the device.
[0344] In some examples, a secure element (e.g., 115) is a hardware component (e.g., a secure microcontroller chip) configured to securely store data or 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 secure 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 secure element provides (or publishes) payment information (e.g., an account number and / or a transaction-specific dynamic security code). In some examples, the secure element provides (or publishes) 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 the device's continued presence 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 secure element provides (or publishes) payment information. Based on determining that the fingerprint does not match the registered fingerprint, the secure element refrains from providing (or publishing) payment information.
[0345] Attention is now turned to implementations of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunctional device 100, device 300, or device 500.
[0346] Figure 7A-7E An exemplary user interface for managing peer-to-peer transfers is shown. As described in more detail below, Figure 7A-7E The non-limiting exemplary implementation of the user interface shown is related to Figure 8A-8AH The non-limiting exemplary implementation of the user interface shown, which in turn is used to illustrate the processes described below, including Figure 8A-8AH the processes in Figure 9A-9I .
[0347] Fig. 7A An electronic device 700 (e.g., portable multifunctional device 100, device 300, or device 500) is shown. In Figure 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.
[0348] In Fig. 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.
[0349] 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 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.
[0350] As Fig. 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 (as a 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 with:
[0351] "Yeah! Can you send me the photos from last night?"
[0352] 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 (in response to a message corresponding to the message object 718 with the statement "That restaurant is very 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.
[0353] 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 transmission application 706 is configured to transmit based on the content (e.g., text) of 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), 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 Fig. 7A , based on the text of the message object 720 (the statement "Yeah! Can you send me the photos from last night?"), it is determined that the message participant 710 is requesting the transmission of photos taken during a specific time period (e.g., last night).
[0354] In some embodiments, as Fig. 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 compose bar 714), which includes a transmission button 726 for continuing the transmission of the one or more requested files corresponding to the message of the message object 720. For example, in Fig. 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 a third-party application). In some embodiments, the suggestion bar 724 further includes suggestion responses (e.g., "Sure", "OK") for responding to the message of the message object 720 (instead of continuing the transfer of the file).
[0355] 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").
[0356] 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).
[0357] 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 header 730 correspond to photos taken on April 30th in Cupertino, CA, the multiple selectable preview images 732A - 732C shown below header 732 correspond to photos taken yesterday in San Francisco, CA, and the multiple selectable preview images 734A - 734B shown below header 734 correspond to photos taken today.
[0358] In addition, since 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 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.
[0359] 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 (e.g., the transmission of the selected photo), and a send button 738 for initiating the transmission (of the selected photo).
[0360] In Fig.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 Fig.7D shown, the user activation is a tap gesture 703 on the send button 738.
[0361] In Fig. 7EIn response to detecting a tap gesture 703, the electronic device uses a messaging application 706 and transmits, via a wireless communication radio component, the photo corresponding to the selected selectable preview image 732A - 732C to a message participant 710, and again displays (e.g., replaces the display of the photo gallery user interface 728 with) a message session 708 of the messaging application 706 on the display 702. As Fig. 7E shown, the message session 708 shows that 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., message participant 710).
[0362] As described above, the non - restrictive exemplary embodiments of the user interface described above Figure 7A-7E shown are related to the non - restrictive exemplary embodiments of the user interface described below Figure 8A-8AH shown. Thus, it should be understood that the processes described above with respect to the Figure 7A-7E shown exemplary user interface and the processes described below with respect to the Figure 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.
[0363] Figure 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 Figure 9A-9I the processes in
[0364] Fig. 8A shows an electronic device 800 (e.g., a portable multifunctional device 100, device 300, or device 500). In the Figure 8A-8AH shown non - restrictive 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., a touch screen of the display 802, mechanical buttons 804, a microphone), and a wireless communication radio component.
[0365] In Fig. 8AIn [the figure], 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, message participant 810 is a contact stored on the device. In some embodiments, message participant 810 is a contact in a contact list associated with a user account entered on the device. In some embodiments, message participant 810 is a contact included in a trusted contact list associated with a user account entered on the device.
[0366] In some embodiments, 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 virtual keyboard 812 on the display 802. In some embodiments, in addition to or as an alternative to virtual keyboard 812, a mechanical keyboard may be used to type messages. In some embodiments, 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, composition bar 814 includes a microphone button 814A that, when activated, enables the user to record a message using voice input.
[0367] As Fig. 8A shown, message session 808 includes two visual message objects 816 and 818. Message object 816 corresponds to a message sent by message participant 810 to the user, and message object 818 corresponds to a message sent by the user to message participant 810. In message object 816, message participant 810 states to the user: "Had a great time last night. Pay me back when you can." In message object 818, the user asks message participant 810: "How much do I owe you?"
[0368] Figure 8BMessage object 818 is shown in message session 808 of messaging application 806, and the message object 818 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.
[0369] 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 determinati...
Claims
1. A method, the method comprising: At an electronic device having a display, one or more input devices, and one or more sensors: Display 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 electronic device and one or more other participants; Receive a message while the messaging user interface is being displayed; In response to receiving the message, display a representation of the message in the messaging session, including: Based on determining that the message is a first type of message and is sent with an instruction to initially hide the corresponding content of the message, display a hiding element in the messaging 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 electronic device relative to a reference point changes; Based on determining that the message is the first type of message and is not sent with an instruction to initially hide the corresponding content of the message, display the corresponding content of the message in the messaging session with the dynamic visual effect that changes as the angle of the electronic device relative to the reference point changes; and Based on determining that the message is a second type of message, display the corresponding content of the message in the messaging session without the dynamic visual effect.
2. The method according to claim 1, the method further comprising: After displaying the representation of the message in the messaging session, based on determining that the message is the first type of message and is sent with an instruction to initially hide the corresponding content of the message: Detect a user input on the hiding element of the representation of the message via the one or more input devices; and In response to detecting the user input on the hiding element, display a content element in the messaging session that includes the corresponding content of the message, wherein the dynamic visual effect is applied to the content element.
3. The method according to claim 2, the method further comprising: Further in response to detecting the user input on the hiding element, cause a corresponding dynamic visual effect to be applied to a corresponding content element that includes the corresponding content of the message and is displayed in a corresponding messaging session of a second device.
4. The method according to any one of claims 2-3, wherein the corresponding content of the message includes an amount of a first type of item, the method further comprising: In response to detecting the user input on the hiding element, add the amount of the first type of item to an account pre-configured on the electronic device, wherein the account is associated with the first type of item.
5. The method according to any one of claims 2-3, wherein presenting the content element including the corresponding content of the message in the message session includes: Display a dynamic graphic animation in which the hiding element reveals the content element.
6. The method according to claim 5, the method further comprising: After displaying the content element that includes the corresponding content of the message in the messaging session, detect a user selection of a playback affordance representation via the one or more input devices; And In response to detecting the user selection of the playback enabling indication, restore the content element that was hidden by the hidden element and redisplay the dynamic graphic animation in which the hidden element reveals the content element.
7. The method according to claim 5, wherein the dynamic graphic animation is controlled by a first-party application of the electronic device and is prevented from being controlled by a non-first-party application of the electronic device.
8. The method according to any one of claims 1-3, wherein the dynamic visual effect is controlled by a first-party application of the electronic device, and non-first-party applications on the electronic device are prevented from generating visual effects having similar characteristics to the dynamic visual effect.
9. The method according to any one of claims 2-3, wherein the hidden element corresponds to a graphical representation of an envelope, and the content element corresponds to a graphical representation of a letter corresponding to the envelope.
10. The method according to any one of claims 2-3, wherein the hidden element corresponds to a graphical representation of a gift box, and the content element corresponds to a graphical representation of a gift item inside the gift box.
11. The method according to any one of claims 2-3, wherein once the content element including the message is displayed, the content element cannot be re-hidden by the hidden element.
12. The method according to any one of claims 1-3, the method further comprising: Further, in accordance with determining that the message is a message of the first type and is sent together with an instruction for initially hiding the corresponding content of the message, display an indication that the message has not been viewed in the message session.
13. The method according to any one of claims 1-3, wherein the first type of message corresponds to a payment of a certain amount, and the corresponding content of the message includes the amount.
14. 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, one or more input devices, and one or more sensors, the one or more programs including instructions for performing the method according to any one of claims 1-13.
15. An electronic device, the electronic device comprising: A display; One or more input devices; One or more sensors; 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-13.
16. An electronic device, the electronic device comprising: A display; One or more input devices; One or more sensors; And Means for performing the method according to any one of claims 1-13.
17. 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, one or more input devices, and one or more sensors, the one or more programs including instructions for performing the method according to any one of claims 1-13.
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